SpringBoot2.X+Vue+UniAPP,全栈开发医疗小程序网盘分享

#1

download:SpringBoot2.X+Vue+UniAPP,全栈开发医疗小程序网盘分享

如何在Azure机器学习中使用词向量进行文本分类
什么是词向量?
我们知道,文档有单词和句子,对它们进行建模和分析通常是一项复杂的任务。因此,需要将这些文档转换成单词向量,以便对它们进行建模。
Waikato知识分析环境(WEKA)具有丰富的功能来构建文本数据的词向量。本文将使用从WEKA创建的词向量,并在Azure机器学习中使用它们,以便建立分类模型。
我们选择了2000个流行的IMDB审查数据集,它们的分数显示在WEKA的屏幕上。

共有2000条评论,其中1000条标记为正面,其余1000条标记为负面,如下图截图所示。

我们的任务是找出做出正面或负面评价的关键词。通过这种建模,我们将能够将未知评论分为正面或负面类别。
文件加载到WEKA后,需要使用一个滤镜,Weka->滤镜->无监督->属性-> stringtowordvortant,如下图所示。

选择所需的过滤器后,您需要配置所选的过滤器。

以下是所选StringToWordVector过滤器的配置,这样可以得到不同类型的词向量。

虽然有许多配置的词向量过滤,我们将只使用其中的几个。首先,我们将研究利益相关者、停用词处理程序、标记符和保留词的数量,如下图所示。

标签技术将决定如何选择关键词。当选择了字母符号时,所有数字和特殊字符都将被删除。停用词配置会放弃没有任何语义的词,如我、我们、你、a、an、the等。通过使用lovinsStemmer词干,单词将被转换为基本形式。请注意,这些是文本挖掘分析中的经典技术。这些是应该在文本文件上实现的强制性技术。
除了上述技术,还有一些其他技术将依赖于数据集。这四种配置要用WEKA的不同配置来验证。
字数:输出字数而不是0或1(表示一个词的有无)。
术语频率(TF):术语频率被转换成对数(频率+1)
反向文档频率(IDF):如果同一个词在多个文档中重复出现,IDF会降低词频计数的权重。
文档规范化:该参数将考虑文档的大小。
通过四个参数,有十六种组合,如下表所示。

创建了16个文件,这些文件上传到IMDB | Kaggle的word vectors,配置不同。
现在文件已经可以在Azure机器学习中进行文本分类了。这十六个文件全部上传到Azure机器学习供你使用。

在上传了16个数据集之后,下一步是Azure机器学习中的文本分类。这将与之前涉及的文本分类相同,如下图所示。

如上图所示,Azure机器学习中的文本分类使用了第二个神经网络。分割数据控件用于以70/30的比例对数据进行训练和测试,其中使用了训练模型和评分模型。在评估模型控制之后。然后连接到“转换为数据集”控件。每个数据集建立相似的16个单元,连接相同的两种神经网络算法。
多个SQL转换控件用于组合数据集。

尽管我们可以使用Add Rows控件,但是由于100个控件的限制,我们使用Apply SQL Transformation控件来减少控件的数量。添加行控件只有两个输入,而应用SQL转换有三个输入。通过联合,我们可以减少控件的数量。
最后,这是Azure机器学习中文本分类的所有数据集及其评价参数的输出。

从这些组合中,您可以选择具有最高准确度或精确度或召回率或F1分数的更好组合。如您所见,IDF-True、TF-True、Word Count-False和Document Normalization-False是更好的组合,因为它具有最高的准确性和最高的精度。
您可以参考参考资料部分列出的共享实验。由于这是一个繁琐的实验,有几件事需要指出。由于这是Azure机器学习的免费版本,你不能使用超过100个控件。此外,一个实验不能包含超过100MB的数据。由于我们有16个数据集,其大小超过100MB,所以实验中删除了一些数据集,您可以从共享数据集中重新添加它们。另外,对于超过1024的列,SQL转换将不起作用,这是Azure机器学习中文本分类的另一个阻塞问题。
正如在上一篇文章中所讨论的,我们可以对各种配置使用集合分类。因为准确率差不多,所以不需要集合分类。
如果需要标记未标记文档,首先需要在WEKA中进行必要的参数转换,然后将这些值输入Azure机器学习中进行查找
结论
本文讨论了如何在WEKA中使用词向量和不同的文本分析参数,如词频、逆向文档频率、文档标准化和字数。我们使用了从WEKA创建的单词vector,并将其加载到Azure机器学习中。使用标准控件,可以在Azure机器学习中对文本进行分类。免费Azure机器账号有一些限制,比如控件的最大数量。