您好、欢迎来到现金彩票网!
当前位置:516棋牌游戏 > 文本挖掘 >

R语言自然语言处理:文本分类

发布时间:2019-07-15 00:44 来源:未知 编辑:admin

  ,复旦大学博士在读,目前研究涉及文本挖掘、社交网络分析和机器学习等。希望与大家分享学习经验,推广并加深R语言在业界的应用。邮箱:huang.tian-

  不知不觉已经写了这么多,但是很多R语言自然语言处理的方法并没有展开来讲。这次希望尝试用简单的技术(TF-IDF和相似度矩阵)做一次实践,即文档分类。

  任务定义:对于任意给定的一个字符串,判断它与目前哪个文档最为相似,从而进行归类。首先要对当前的文档(数据见hope-data-sc)做词嵌入(就用最简单的TF-IDF模型),然后对于任意的新字符串,进行向量化之后,与先前的标准库做相似性的分析,看看与哪个文档相似性最近,就属于哪一个类别。

  这一部分参考R语言自然语言处理:关键词提取(TF-IDF),先进行分词,然后对所有的词计算TF-IDF。

  一共1510个,不多,因此我决定不进行筛选了。本来常规套路要把这个TF-IDF的矩阵变为一个文档-词语矩阵(Document Term Matrix,DTM)。但是既然走了tidy的路线,我突然认为那是一个多余的步骤,做了一个高维稀疏的矩阵效率异常低,而进行连接(join)的速度可谓异常地快。

  下面我要写一个函数,它要完成一个这样的任务:对于任意给定的字符串,求这个字符串与当前所有文档的相似性,然后筛选出相似性最高的n个文档,显示出来。

  先假设给定的字符串为“大数据学院”,我们看看是否能够找到合理的相似文档。我们首先要明确,什么叫做相似?定义:1、字符串中包含相同的组分(相同的分词结果);2、当包含组分数量一致的时候,如果包含重要表征组分,其得分更高(举例说明:我们给定的字符串是“物理学院”,分词之后是“物理”和“学院”,但是“物理”这个词能够表征的程度更高,因此它会得到更高的得分,这个得分在我们的模型中是以TF-IDF的形式存在的)。

  我们可以看到,“大数据学院”被正确地筛选出来,而排名第二的是“大数据研究院”,因为“大数据”作为一个比“学院”拥有更高TF-IDF的关键词,更能够表征“大数据”这个特征。其他3个选项得分其实是一样的,它们都因为有“学院”而被筛选出来,但是没有匹配更多更有价值的词语了。现在我们就可以正式对函数进行构造:

  这个函数能够对任意的字符串进行识别,如果没有任何识别,就返回NA;如果识别到了,最多返回匹配度最高的3个分类,分类之间以“,”分隔(注意是英文的逗号,这个可以根据自己的洗好更改)。我们用两个例子看看结果如何:

  R语言自然语言处理:文本向量化——词嵌入(Word Embedding)

http://dolphinfixtures.com/wenbenwajue/426.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有