加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

怎样用50行代码构建情绪分类器

发布时间:2018-06-29 03:59:50 所属栏目:大数据 来源:网络大数据
导读:本文先容了怎样构建情绪分类器,从先容天然说话处理赏罚开始,一步一步报告构建进程。 天然说话处理赏罚简介 说话把人类接洽在一路。说话是一种器材,它既可以让我们把设法和感觉通报给另一小我私人,也能让我们领略别人的设法和感觉。我们大大都人从 1 岁半到 2 岁开

本文先容了怎样构建情绪分类器,从先容天然说话处理赏罚开始,一步一步报告构建进程。

天然说话处理赏罚简介

说话把人类接洽在一路。说话是一种器材,它既可以让我们把设法和感觉通报给另一小我私人,也能让我们领略别人的设法和感觉。我们大大都人从 1 岁半到 2 岁开始措辞。人脑是如安在云云年幼的时辰把握云云大量常识的,这还是未解之谜。可是,人们已经发明大部门说话处理赏罚成果产生在大脑皮层内。

情绪说明背后的念头

人类本身无法领略说话是怎样被大脑处理赏罚的。那么,我们能教一台呆板进修我们的说话吗?通过普及研究,人们已经开拓了很多要领来辅佐呆板领略说话。天然说话处理赏罚(NLP)是研究人类说话与计较机交互的规模。天然说话处理赏罚的一个子题目是情绪说明,即把一个语句分类为起劲或悲观。把语句分类为起劲或悲观有什么用呢?以亚马逊网站为例。在亚马逊上,用户可以对一个产物颁发评述,声名它是好是坏,乃至可所以中性的。然而,行使人工阅读全部评述并得到客户对产物的总体反馈既昂贵又耗时。再说说我们的呆板进修模子。呆板进修模子可以通过大量数据举办揣度,对评述举办分类。操作这种呆板进修模子,亚马逊可以通过客户评述改造其产物,从而为公司带来更多收入。

情绪说明并不像看起来那么简朴。假如你以为含有「好的」、「很棒」等词的评述可归为起劲评述,而含有「坏的」、「苦恼的」等词的评述可归为悲观评述,那你必要三思。譬喻,「完全没有好味道」和「一份好的快餐,但没有什么出格的」别离代表悲观和中立的反馈,纵然都有「好」字。因此,这项使命也许没有看起来那么简朴。接下来让我们看看即将行使的数据。

数据集

我们将行使亚马逊产物评述、IMDB 影戏评述和 Yelp 评述来构建情绪说明模子。

数据下载链接:https://www.kaggle.com/marklvl/sentiment-labelled-sentences-data-set/data

全部数据都已颠末注释,0 暗示悲观反馈,1 暗示起劲反馈。亚马逊的数据与下图相似。

4

代码

我们可以写一些代码:

4

数据存储于差异的文本文件中。我们打开每个文件并阅读全部的文本行,文本行还包罗每个文本的标签。然后我们将其存储在一个名为「lines」的列表中。

4

数据集的每一行都包括文本,文本后是四个字符空间,尚有该文本的标签(0 或 1)。因此,我们先将包括文本的第一部门添加到 features(x) 中,然后获取标签,标签的末端有「n」。以是标签被移除,然后添加到我们的标签列表 labels(y)。

4

Keras 有一个内置的 API,使得筹备计较文本变得更轻易。tokenizer 类共有 4 个属性,可用于特性筹备。请看下面的示例,相识 tokenizer 的现实成果。

4

tokenizer 为句子中的每个单词分派索引值,而且可以行使该索引值暗示新句子。因为我们行使的文本语料库包括大量差异的单词,因此我们配置了一个上限,只行使最常常呈现的 2500 个单词。

4

此刻,我们将文本转换为如上所示的数字序列,并填凑数字序列。由于句子可以有差异的长度,它们的序列长度也会差异。因此,pad_sequences 会找出最长的句子,并用 0 添补其他较短语句以匹配该长度。

4

我们将标签转换为 one hot 编码,这有助于 LSTM 收集猜测文本的标签。此刻,我们已经筹备好了文本数据,可以把它分为实习样本和测试样本。将 80% 的数据用于实习,20% 的数据用于测试模子。

4

我们此刻成立了模子,并对其举办编译、实习和测试。该模子具有嵌入层。输入序列是文本的稀少表征,由于词汇表庞大,而且给定单词将由大向量暗示。假如我们可以或许构建序列的某种麋集表征,那么收集将更轻易举办猜测。2500 个单词的词嵌入/麋集表征是通过嵌入层对模子举办实习得到的。然后,我们将 LSTM 和麋集层添加到模子中。LSTM 单位认真举办上下文揣度,并辅佐猜测句子是否起劲。麋集层输出每个类的概率。本文不具体先容 LSTM,若想相识其更多信息,请参阅此博客:http://colah.github.io/posts/2015-08-Understanding-LSTMs/。

输出

4

实习

4

测试

完成!你方才用 50 行代码构建了一个情绪分类器~

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读