文本数据挖掘是利用某些方法比如自然语言处理(Natural language processing (NLP))技术把一堆没有结构的数据而处理成有结构的数据的一种人工智能技术,而处理后的这些有结构的数据可以作为机器学习和深度学习模型的输入,也可以直接分析这些数据产生想要的结果。

文本挖掘的目的就是从一堆有结构的,和非结构的数据中寻找有价值的信息从而来解决实际问题。

人的自然语言中包含着大量的信息,是当今社会数据的一个重要和一个很大比例的组成部分。怎么从这些语言信息中获取有用的信息?从而可以训练机器为我们服务。

比如, 现在我们的手机可以自动的把语音电话翻译成文本文件,电脑可以帮我们自动的改正拼写错误的单词,等等。在这些处理技术中,自然语言处理(NLP)是数据挖掘中一种最经常使用的方法。

自然语言处理(NLP)本身不是一种机器学习的方法,而是利用NLP可以把文本信息处理成合适的数据,从而这些被处理的数据可以作为机器学习模型的输入。当我们面临一大堆没有结构,而且格式是各种各样的巨多文件时,而也许这些文件中还包含着各种各样的拼写错误,或者还有漏写的字等等,这时候我们可以使用NLP技术来处理。现在最流行的处理文本文件的包就是NLTK,大家可以自己搜一下,试一下。

怎么才能把杂乱的文本信息处理成有规律的,机器学习模型可以认识的信息呢? 一种很自然的想法就是把文本信息转化成数值型的。有的方法就是根据每个单词在文本中出现的频率来给每个单词赋予一个独特的数值,这样的话文本中的一句话或者一行就可以用一系列的数值表达出来。整个文本就会以数值矩阵的形式表达出来了。这种基于频率的矩阵表达形式称之为词频矩阵(Term Frequency Matrix (TFM))。

有了这个TFM矩阵之后,我们可以产生另外一个流行的数值矩阵表达形式,这个矩阵称之为词频逆文件(Term Frequency Inverse Document Frequency (TFIDF)),这个TFIDF矩阵可以反应每个单词的重要性。它也可以更好的服务于机器学习模型。

但是这种矩阵表达方式主要是建立在单词出现的频率上面,而没有考虑到词和词之间的作用,相似性等等。在下面的文章中,我们将会介绍另外一种新的方法,来克服这些矩阵中的缺点。

图片来自这里(https://www.flickr.com/photos/bury_irc/5981036346)

关注作者公众号,请扫码:

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐