NLP学习
Nlp基本分类
NLP领域的任务分为两个类别:
第一类是人工智能NLP。包括词性标注,分词,语法解析,语言模型,信息检索,信息抽取,语义表示,文本分类。这些任务发展较为成熟,各种相关工作的主要目的是提高当前模型的性能。
第二类是人工智障NLP。包括机器翻译,对话系统,问答系统。目前模型的性能尚不尽如人意,有些任务上甚至没有足够多的,真正有影响力的工作。
一、文本分类–情感分类
1.定义
情感分类是对带有感情色彩的主观性文本进行分析、推理的过程,即分析对说话人的态度,倾向正面,还是反面。它与传统的文本主题分类又不相同,传统主题分类是分析文本讨论的客观内容,而情感分类是要从文本中得到它是否支持某种观点的信息。比如,“日媒:认为歼-31能够抗衡F-35,这种说法颇具恭维的意味。”传统主题分类是要将其归为类别为“军事”主题,而情感分类则要挖掘出日媒对于“歼-31能够抗衡F-35”这个观点,持反面态度。这是一项具有较大实用价值的分类技术,可以在一定程度上解决网络评论信息杂乱的现象,方便用户准确定位所需信息。按照处理文本的粒度不同,情感分析可分为词语级、短语级、句子级、篇章级以及多篇章级等几个研究层次。按照处理文本的类别不同,可分为基于新闻评论的情感分析和基于产品评论的情感分析。
2. 常用分类方法介绍
文本分类方法一般包含如下几个步骤:训练语料准备、文本预处理、特征挖掘(TF-IDF、卡方、互信息、信息增益、X2统计量、交叉熵、Fisher判别式等)、分类算法选择(基于统计的Rocchio算法、贝叶斯算法、KNN算法、支持向量机方法,基于规则的决策树方法,和较为复杂的神经网络)分类应用。具体的分类流程可以参考另一篇KM文章《文智背后的奥秘—自动文本分类》。这里,对一些常用的特征挖掘和分类算法做简单的介绍。
3.情感分类系统实现
情感分类与主题分类除了第一章提到的挖掘信息不同外,处理的文本也大不相同。情感分类主要处理一些类似评论的文本,这类文本有以下几个特点:时新性、短文本、不规则表达、信息量大。我们在系统设计、算法选择时都会充分考虑到这些因素。情感分灰系统分为在线、离线两大流程,在线流程将用户输出的语句进行特征挖掘、情感分类、并返回结果。离线流程则负责语料下载、特征挖掘、模型训练等工作,系统结构如图3-1所示:
3.1 语料库建设
语料的积累是情感分类的基石,特征挖掘、模型分类都要以语料为材料。而语料又分为已标注的语料和未标注的语料,已标注的语料如对商家的评论、对产品的评论等,这些语料可通过星级确定客户的情感倾向;而未标注的语料如新闻的评论等,这些语料在使用前则需要分类模型或人工进行标注,而人工对语料的正负倾向,又是仁者见仁、智者见智,所以一定要与标注的同学有充分的沟通,使标注的语料达到基本可用的程度。
迄今,我们已对涵盖电商、新闻、影视、音乐、APP等类别的20多个站点评论进行抓取,累计已有4亿标注语料,每天新增标注语料200多万。
3.2极性词挖掘
情感分类中的极性词挖掘,有一种方法是“全词表法”,即将所有的词都作为极性词,这样的好处是单词被全面保留,但会导致特征维度大,计算复杂性高。我们采用的是“极性词表法”,就是要从文档中挖掘出一些能够代表正负极性的词或短语。如已知正面语料“@jjhuang:微信电话本太赞了!能免费打电话,推荐你使用哦~”,这句话中我们需要挖掘出“赞”、“推荐”这些正极性词。分为以下两步:
1)文本预处理 语料中的有太多的噪音,我们在极性词挖掘之前要先对文本预处理。文本预处理包含了分词、去噪、最佳匹配等相关技术。分词功能向大家推荐腾讯TE199的分词系统,功能强大且全面,拥有短语分词、词性标注等强大功能。去噪需要去掉文档中的无关信息如“@jjhuang”、html标签等,和一些不具有分类意义的虚词、代词如“的”、“啊”、“我”等,以起到降维的作用。最佳匹配则是为了确保提出的特征能够正确地反映正负倾向,如“逍遥法外”一词,如果提取出的是“逍遥”一词,则会被误认为是正面情感特征,而“逍遥法外”本身是一个负面情感词,这里一般可以采用最长匹配的方法。
2)极性词选择 文本预处理之后,我们要从众多词语中选出一些词作为极性词,用以训练模型。我们对之前介绍的TF-IDF方法略作变化,用以降维。因为我们训练和处理的