![]()
![]()
在之前的一篇推送中给出了机器学习-人工智能-大数据-云计算各种技术在互联网大数据处理中的联系,截取部分图显示如下。图中特别标注了特征工程在其中的位置,它主要是对大数据中的各种对象给出相应的特征表示,以便于进行进一步的挖掘分析。
![]()
比如,针对微博或网络论坛中用户贴文的情感识别问题,可以按照分类问题来处理。在构建分类器之前,我们需要明确对贴文采用哪些特征进行表示。确定特征的方法按照研究的进阶,我把它们归结为:人工选择、机器选择、机器推理,其中机器推理是指机器自动发现特征,也就是现在的深度学习方法。
![]()
以下分别说明这三种方式。
一、人工选择
依靠人工完成特征选择,对于贴文情感分类来说,我们可以直观想到的是一些典型的词汇,例如高兴、兴奋、惊奇等与情感有关的词汇。但是很难保证能列出一个完整的包含各种情感词汇的列表,并且互联网新词在不断的创造过程中,谁又能说清楚“么么哒”等许多网络词汇所代表的情感。当然除了词汇级别特征外,我们还可以从句法结构、短语结构等许多层面来选择情感特征,例如“难道不值得高兴吗?”代表着一种典型的句法结构特征,当然这种选择需要更多的专业知识。因此,人工选择特征要靠人的经验,具有较强的专业领域背景。显然这种方式的缺点是明显的。
二、机器选择
要克服手工选择的问题,就要考虑如何使用数据。按照利用数据的方式不同,可以分为无监督和有监督两种,不过机器选择的方法仍然无法完全脱离人工。
对于情感词无法选择完整的问题,无监督的方法利用词汇之间的共现或词语语义相似度进行情感词的推断,例如在很多的语料中“高兴”和“愉快”经常一起出现,因此就可以通过这种方式来寻找更多的情感词。利用WordNet等知识库也是一种常用的扩展方法。
有监督的方法则要求人工事先对句子进行情感标注。
例如,“难道不值得高兴吗?”的标签是“高兴”,
“今天吃到一条虫子,太恶心了”的标签是“悲伤”
在大量类似的句子及标签的基础上,机器进行自动判断,分析的过程可以简单,也可以复杂。所采用的特征类型可以是n-gram特征,包括词汇、短语、修饰关系等。
可能可以达到这样的统计效果,即在“悲伤”类的句子中,“恶心”出现的比较频繁,而“高兴”类的句子出现得比较少。在面对大量词汇统计结果时,我们需要一种判断方法,看看哪些n-gram特征能够有效地把不同的情感句子分开。而这种方法就是典型的特征选择方法,如信息增益、卡方统计量、互信息。
三、机器推理
机器推理的典型特点在于可以发现一些人工无法识别的特征,深度学习是目前机器推理特征的有效手段。
Deep Learning的别名是Unsupervised Feature Learning,即无监督特征学习,虽然名称与上述的无监督特征选择有些类似,但是已经有本质上的区别。
这种方法启发于神经科学,依据是人脑对信息的多层逐步递增处理的模式。对于文本来说,我们在阅读文章时,看到的是词汇,但是这些词汇在大脑里自动形成一定短语、实体、概念、主题等不同粒度的特征信息,而这些特征信息对于最终判断情感类型可能是有用的。
![]()
机器推理特征的能力也就在于如何提取出这些不同层次的粒度特征,这就是所谓的逐层训练,每一层可以获得到一些新的特征。这些新的特征再作为上一层的输入,再去训练,又可以得到另外新的特征。这里的基本方法仍然是训练,但是深度学习在提取特征时并不要求进行人工标注。它采用了一种巧妙的办法,即把无监督问题转化为有监督问题,将训练窗口中正常出现的词语当做正例,在语料库中随机采样一些词语作为负例进行训练,当模型能够准确的区分正负例时意味着学习到新的有效特征。但就目前深度学习方法来说,学习到什么特征尚难于给出其对应的物理意义。
作者编著的《互联网大数据处理技术与应用》专著(清华大学出版社,2017)、同名公众号,专注于大数据技术的相关科学和工程知识传播,同时也为读者提供一些拓展阅读材料。