摘要:本文将根据机器学习和TFIDF情感分类算法详细解释自然语言处理过程,并进行各种分类算法(SVM,RF,LR,Boosting)比较
在数据分析和数据挖掘中,需要准备,数据攀爬,数据预处理,数据分析,数据可视化,评估分析和其他步骤的步骤。数据预处理还将直接影响以下质量-UP模型分析。图片是数据预处理的基本步骤,包括中文单词,单词标记,数据清洁,特征提取(矢量空间模型的存储),权重计算(TF-IDF),等等。
读者使用Python爬行中文数据集后,首先,中文分割需要数据集。由于英语中的单词和单词与空格相关联,因此可以根据空间直接将单词组分开无需执行单词划分,汉字紧密相关,并且有语义。没有明显的语义。单词和单词之间没有显而易见的划分。划分是分裂的,因此,需要根据空间将句子分成句子以转换为一系列单词的句子。中文细分工具详细。
中文单词(中文单词分割)是指将汉字切成单独的单词或弦序列。它可以在没有边界的情况下建立一个汉字的分离主义标志,通常使用空间分离器。让下面的简单示例在下面划分句子“我是程序员”。
举一个简短的例子。该代码主要导入Jieba扩展程序包,然后调用其用于中文细分的功能。
上述代码输出如下,包括完整模式的结果,准确的模式和搜索引擎模式输出。
在分析语料库的过程中,通常会有一些肮脏的数据或噪声短语来干扰我们的实验结果,这需要在单词进行分割后进行数据清洁(数据清洁)。有一些肮脏的数据或停止单词,例如“我们”,“”,“?”等等。这些单词降低了数据的质量。为了获得更好的分析结果,需要清理或中断数据集。
以下是停止单词过滤的主要解释,它删除了这些高频,但不会影响文本主题的悬架。在Jieb Word Split过程中,引导stop_words.txt停止字典。
以下是来自公众评论和Meituan等网站的“ Huangguoshu瀑布”的评论信息。
完整代码:
运行结果如下图所示。一方面,它过滤了特殊的标点符号和停止单词,另一方面,将其导入到user_dict.txt词典中,以将专有术语“ huangguoshu瀑布”和“风景区域”分开。“和“瀑布”,“景观”和“地区”。
我仍然记得我小时候,我经常呆在电视前,等待着“西方之旅”的广播。“这首熟悉的歌曲再次在耳朵里响起。这首歌中的水在瓜苏(Guizhou)上有水。确切地说,这是圭村的黄野瀑布;那个窗帘瀑布流入我们的童年,让我们流连忘返。Huangguoshu瀑布不仅是一个瀑布,而且是一个巨大的风景秀丽的地方,包括陡峭的斜坡瀑布,Tiantingqiao风景秀丽的地区和Huangguoshu Grand Fallfall。其中,Huangguoshu大瀑布是最著名的。
请记住要等待电视前向西的旅程,以广播马来西亚山脉的负担,并涉水两条双层双滑道。风景秀丽的区域包括陡峭的坡道瀑布tianxing桥风景区风景区Huangguoshu瀑布Huangguoshu瀑布著名
重量计算是指通过特征权的特征在文档表示中的特征性项目的重要性,并给特征性词提供一定的权重,以测量统计文本特征词。)是一种近年来在数据分析和信息处理中使用的重量计算技术。该技术根据文本中的特征单词出现的次数计算整个语料库中特征性单词的重要性整个语料库中的文档具有高度影响。
TF-IDF的计算公式如下。在公式中,TF -IDF指示产品频率tf和倒文字idf。文档的数量成反比。tf -df值越大,该文本的特征性词越重要。
其中,TF单词频率的计算公式如下。ni,j是训练文本DJ中出现的特征单词的次数。分母是文本DJ中的特征单词的数量。
Spark Jones在1972年提出了反向文档频率(IDF),以计算计算单词和文献相关的权重的经典方法。计算公式如下,参数|D |指示语料库的文本总数,|DT |指示文本中特征性单词的数量。
在倒文件的频率方法中,权重与特征性单词的文档数量的变化相反。例如,某些常用的单词“我们”,“但是”,“”等,所有文档都非常频繁,但是其IDF值非常低。即使每个文档出现,Log1的计算结果为0,这会降低这些常用单词的作用;相反,如果一个词引入“人工智能”,则只会在本文档中多次出现。它的角色很高。
TF-IDF技术的核心思想是,如果在文章中出现一个特征性的单词,则频率TF很高,很少出现在其他文章中。制定权重计算。TF-IDF算法简单而快速,结果也很快。与实际情况一致。这是文本挖掘,情感分析,主题分布领域的常见手段。
在Scikit-As学习中,Scikit-Learn中的两个类CountVectorizer和TFIDFTransFormer用于计算频率和TF-IDF值。
该类将文本单词转换为一种单词-Fquency矩阵的形式。例如,“我是老师”的文本包含四个单词。相应单词的单词是1,“ i”,“ am”,“ a”和“老师”一次。countvectorizer将生成一个矩阵a [m] [m] [n],总文本,n个单词,例如代表类i的[i] [j]的[i] [词库中的文本关键字。
在使用CountVectorizer类计算频率矩阵之后,然后通过TFIDFTRANSFORMER类实现了向量器变量中每个单词变量中每个单词的TF -IDF值。TF-DF值以矩阵数组的形式存储。每个数据行都代表文本状态。每行的每一列代表与特征相对应的特征之一。集群分析,LDA主题分布,公众舆论分析等。
完整代码:
输出结果如下所示:
当我们有大量数据时,矩阵通常无法存储如此大的数据,并且会有以下错误:
我提供的解决方案如下:
max_df用于删除出现太频繁的术语,称为特定的终止单词。默认的max_df是1.0,忽略了100%文档中出现的术语;MIN_DF用于删除非经常征用的术语min_df = 5意味着少于小于5个文档的点火效果。
在获得文本TF-IDF值之后,简要解释了TF-IDF值在本节中使用TF-IDF值的使用主要包括以下步骤:
逻辑回归完成代码:
运行结果如下图所示:
我们需要实时实施算法评估,例如绘制ROC曲线,统计统计功能信息以及显示4位数字。计算公式如下:
由于本文主要针对2个分类问题,因此其实验评估主要分为0和1类,完整的代码如下:
输出结果如下:
代码显示如下:
输出结果:
代码显示如下:
输出结果:
代码显示如下:
输出结果:
算法的准确性不高,执行时间很长。不建议每个人都将其用于文本分析。在某些情况下,算法的比较是可以的。核心代码如下:
输出结果:
代码显示如下:
输出结果:
代码显示如下:
输出结果:
该算法时间相对较慢,核心代码如下:
输出结果:
该算法时间相对较慢,代码如下:
输出结果:
代码显示如下:
输出结果:
本文分享了华为云社区的诚意,作者:Eastmount。