关于数据挖掘中的文本挖掘
文本挖掘,
顾名思义,就是挖掘本文信息中潜在的有价值的信息。文本数据与数值数据的区别有三:
第一,非结构化且数据量大;
文本数据的数据量是非常之巨大的,一百万条结构化数据可能才几十到几百兆,而一百万条文本数据就已经是GB了。当然文本数据的数据量无法与每天的log数据相比,但在基础数据中算是占比很大的数据类型了。大数据容量的数据和大数据条目的数据处理方式完全不一样,普通的机器甚至都无法按条处理;其次呢,文本数据是非结构化数据。非结构化意味着没有任何的列可供你定义和参考。
第二,它与人的语言是对接的;
文本数据与人的思想直接对接。
第三,文字的含义不唯一。
文本数据与数值数据最大的区别,就是难以量化。
——如何处理?——方法就是数据挖掘中的“数据转换”。
(examples~~)
机器学习在文本挖掘中的应用:
(1)话题识别
话题识别属于文本分类,实验中常见的例子就是把新闻文本分类成“财经、教育、体育、娱乐”等等。笔者目前常用的方法主要是“word2vector”和“word to bags”。 word2vector即“词向量”,通过计算文本中词出现的位置、词性和频率等特征,判断新文本是否来自于此类。比如识别文字是评论性文本还是新闻类文本的一种方案就是评论性语句中出现的情态动词和感叹词比较多且位置不固定。“word to bags”是词袋,在topic model中应用的比较多。“word to bags”计算每个词出现在每个类别的概率,然后通过TF-IDF或者信息增益或者概率找到类别信息含量高的词语,通过判断这些词语的共线程度进行文本分类。
(2)情感分类
情感分析就是用户的态度分析。现在大多数情感分析系统都是对文本进行“正负二项分类的”,即只判断文本是正向还是负向的,有的系统也能做到三分类(中立)。比如,要分析用户对2013年“马航370事件”的态度,只要找到该事件的话题文本,通过台大情感词典等工具判断情感词的极性,然后根据一定规则组合情感词的频度和程度即可判断文本的情感。但这种方法无法判断文本的评价刻面。比如,现在有一百万条“小米手机评价”信息,可以通过上面的方法了解大约有百分之多少的用户对小米手机是不满意的,但却无法知道这些不满意的用户是对小米手机的哪一个方面不满意以及占的比率(比如是外形还是性能)。常用的方法是构建小米手机相关词的种子词典,通过词典找到用户评论的刻面,再构建句法树找到评论该刻面的谓语和修饰副词,通过情感词典量化出情感极性,最后将量化后的评论刻面、修饰词、程度副词带入SVM进行文本分类。不过在这里并不适合使用naive bayes,因为在多刻面多分类中,naive bayes很容易出现过拟合。
(3)命名实体识别
所谓的命名实体识别是指让计算机自动识别出自己不认识的词。比如:“胡歌唱歌非常好听!”,计算机如何才能知道“胡歌”是一个词而不应该是“歌唱”是一个词呢?“胡歌”这个词对于绝大多数词库而言都不太可能存在,那么怎么能让机器识别出这个词并且以最大的可能认为这个词是正确的呢?我认为在所有的方法中,CRF的效果最好,甚至比HMM要好得多。CRF又称条件随机场,它能够记录训练数据中每个特征的状态及其周围特征的状态,当多个特征同时出现的时候,找出每个特征在多个特征组合中最有可能出现的状态。也就是说,CRF以“物以类聚”为基本论点,即大多数词出现的环境是有规律的,并不是杂乱无章的。选取特征的时候,以“字”为单位明显要比以“词”为单位好很多,因为命名实体的词是以字为单位才能理解的,比如“陈小春”,我们是以“陈/小/春”的意思来理解的,而不是“陈/小春”或者“陈小/春”。
(4)推荐系统
文本挖掘在推荐系统中的价值在于特征词权重的计算。比如我们给用户推荐一本新书。我们可以按照下面的方式进行建模:首先找到用户评论中关于书籍的所有特征词汇,建立特征词典;然后通过文本分析和时间序列分析结合用户评论的内容和时间紧凑度计算特征词的权重,表示某个用户关心的某个特征的程度。对建立好的用户评论特征程度表进行倒排索引,找到每个特征词的所有评价用户及其评价的权重,最后根据要推荐的书籍的特征找到可以推荐的用户列表,找到评论权重高的用户并把书籍推荐给他。
关于:
书籍:《文本挖掘》(费尔德曼)
文本挖掘工具:
1、DMC Text Filter 是 HYFsoft推出的纯文本抽出通用程序库,DMC Text Filter可以从各种各样的文档格式的数据中或从插入的OLE对象中,完全除掉特殊控制信息,快速抽出纯文本数据信息。便于用户实现对多种文档数据资源信息进行统一管理,编辑,检索和浏览。
DMC Text Filter采用了先进的多语言、多平台、多线程的设计理念,支持多国语言(英语,中文简体,中文繁体,日本语,韩国语),多种操作系统(Windows,Solaris,Linux,IBM AIX,Macintosh,HP-UNIX),多种文字集合代码(GBK,GB18030,Big5,ISO-8859-1,KS X 1001,Shift_JIS,WINDOWS31J,EUC-JP,ISO-10646-UCS-2,ISO-10646-UCS-4,UTF-16,UTF-8等)。提供了多种形式的API功能接口(文件格式识别函数,文本抽出函数,文件属性抽出函数,页抽出函数,设定User Password的PDF文件的文本抽出函数等),便于用户方便使用。用户可以十分便利的将本产品组装到自己的应用程序中,进行二次开发。通过调用本产品的提供的API功能接口,实现从多种文档格式的数据中快速抽出纯文本数据。
via:
http://www.cnblogs.com/xpNLP/p/5031492.html
posted on 2017-01-26 00:51 CuriousZero 阅读(9227) 评论(0) 编辑 收藏 举报