博舍

【总结】自然语言处理(NLP)算法:概述与分类 自然语言处理的应用领域图片有哪些内容

【总结】自然语言处理(NLP)算法:概述与分类

摘要:NLP概述。主要参考自然语言处理(NLP)知识结构总结和知乎上的一些问答。目录

NLP界神级人物NLP知识结构1.概述2.形式语言与自动机3.语言模型4.概率图模型,生成模型与判别模型,贝叶斯网络,马尔科夫链与隐马尔科夫模型(HMM)5.马尔科夫网,最大熵模型,条件随机场(CRF)6.命名实体识别,词性标注,内容挖掘、语义分析与篇章分析(大量用到前面的算法)7.句法分析8.文本分类,情感分析9.信息检索,搜索引擎及其原理10.自动文摘与信息抽取,机器翻译,问答系统11.深度学习在自然语言中的应用NLP用于征信参考资料NLP界神级人物

MichaelColins(CU),JasonEisner(JHU),DavidYarowsky(JHU),ChrisManning,DekangLin(奇点机智)

MichaelColins,英国人,哥伦比亚大学教授。研究领域包括parsere-ranking,treekernels,semi-supervisedlearning,machinetranslation和exponentiatedgradientalgorithms。collins/eisner对NLP结构学习领域贡献极大,研究parsing并一战成名。http://www.cs.columbia.edu/~mcollins/

非常喜欢MichaelCollins,认为他写的paper看得最舒服最爽,犹如沐浴于樱花之中。JasonEisner确实是厉害,不过看他paper实在太难看懂,写的语言非常抽象,我等屌丝实在难以深入理解。经过Collins大侠的一些paper才能对Eisner的paper妙语进行理解。https://www.zhihu.com/question/32318281

JasonEisner(JHU),约翰霍普金斯大学。

http://www.cs.jhu.edu/~jason/

DavidYarowsky(JHU),yarowsky早年研究词义消歧,是著名的yarowskyalgorithm的作者,后来做了很多跨语言学习的开创性工作。

http://www.cs.jhu.edu/~yarowsky/

StanfordNLP掌门ChrisManning,以《统计自然语言处理基础》一书以及StanfordNLP(toolkit)而闻名。DanJurafsky,著有《语音与语言处理》一书,具有深厚的语言学背景。稍微提一下Manning的学生RichardSocher,近几年声名鹊起,在dl4nlp领域风头一时无两,属年轻一代翘楚。

DekangLin,林德康老师,前Google高级管理科学家(seniorstaffresearchscientist),在加入Google之前是加拿大Alberta大学计算机教授,发表过逾90篇论文、被引用超过12000次,目前做了一家NLP相关的创业公司奇点机智。

NLP知识结构1.概述

1)自然语言处理:利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容。

2)自然语言处理是研究语言能力和语言应用的模型,建立计算机(算法)框架来实现这样的语言模型,并完善、评测、最终用于设计各种实用系统。

3)研究问题(主要)

信息检索机器翻译文档分类问答系统信息过滤自动文摘信息抽取文本挖掘舆情分析机器写作语音识别

4)困难所在

场景的困难:语言的多样性、多变性、歧义性学习的困难:艰难的数学模型(hmm,crf,EM,深度学习等)语料的困难:什么的语料?语料的作用?如何获取语料?

2.形式语言与自动机

1)语言:按照一定规律构成的句子或者字符串的有限或者无限的集合

2)描述语言的三种途径:

穷举法

文法(产生式系统)描述

自动机

3)自然语言不是人为设计而是自然进化的,形式语言比如:运算符号、化学分子式、编程语言,主要研究内部结构模式这类语言的纯粹的语法领域,从语言学而来,作为一种理解自然语言的句法规律,在计算机科学中,形式语言通常作为定义编程和语法结构的基础。

4)形式语言与自动机基础知识:

集合论

图论

5)自动机的应用:

单词自动查错纠正词性消歧(什么是词性?什么的词性标注?为什么需要标注?如何标注?)

6)形式语言的缺陷:

对于像汉语,英语这样的大型自然语言系统,难以构造精确的文法不符合人类学习语言的习惯有些句子语法正确,但在语义上却不可能,形式语言无法排出这些句子解决方向:基于大量语料,采用统计学手段建立模型3.语言模型

1)语言模型(重要):通过语料计算某个句子出现的概率(概率表示),常用的有2-元模型,3-元模型

2)语言模型应用:

语音识别歧义消除例如,给定拼音串:tashiyanyanjiusaunfade

可能的汉字串:踏实烟酒算法的他是研究酸法的他是研究算法的,显然,最后一句才符合。

3)语言模型的启示:

开启自然语言处理的统计方法

统计方法的一般步骤:

收集大量语料对语料进行统计分析,得出知识针对场景建立算法模型解释和应用结果

4)语言模型性能评价,包括评价目标,评价的难点,常用指标(交叉熵,困惑度)

5)数据平滑:

数据平滑的概念,为什么需要平滑

平滑的方法,加一法,加法平滑法,古德-图灵法,J-M法,Katz平滑法等

6)语言模型的缺陷

语料来自不同的领域,而语言模型对文本类型、主题等十分敏感

n与相邻的n-1个词相关,假设不是很成立。4.概率图模型,生成模型与判别模型,贝叶斯网络,马尔科夫链与隐马尔科夫模型(HMM)

1)概率图模型概述(什么的概率图模型,参考清华大学教材《概率图模型》)

2)马尔科夫过程(定义,理解)

3)隐马尔科夫过程(定义,理解)

HMM的三个基本问题(定义,解法,应用)

注:第一个问题,涉及最大似然估计法,第二个问题涉及EM算法,第三个问题涉及维特比算法,内容很多,要重点理解

5.马尔科夫网,最大熵模型,条件随机场(CRF)

1)HMM的三个基本问题的参数估计与计算2)什么是熵3)EM算法(应用十分广泛,好好理解)4)HMM的应用5)层次化马尔科夫模型与马尔科夫网络

提出原因,HMM存在两个问题6)最大熵马尔科夫模型优点:与HMM相比,允许使用特征刻画观察序列,训练高效缺点:存在标记偏置问题7)条件随机场及其应用(概念,模型过程,与HMM关系)参数估计方法(GIS算法,改进IIS算法)CRF基本问题:特征选取(特征模板)、概率计算、参数训练、解码(维特比)应用场景:+词性标注类问题(现在一般用RNN+CRF)+中文分词(发展过程,经典算法,了解开源工具jieba分词)+中文人名,地名识别8)CRF++

6.命名实体识别,词性标注,内容挖掘、语义分析与篇章分析(大量用到前面的算法)

1)命名实体识别问题

2)未登录词的解决方法(搜索引擎,基于语料)

3)CRF解决命名实体识别(NER)流程总结:

训练阶段:确定特征模板,不同场景(人名,地名等)所使用的特征模板不同,对现有语料进行分词,在分词结果基础上进行词性标注(可能手工),NER对应的标注问题是基于词的,然后训练CRF模型,得到对应权值参数值。识别过程:将待识别文档分词,然后送入CRF模型进行识别计算(维特比算法),得到标注序列,然后根据标注划分出命名实体

4)词性标注(理解含义,意义)及其一致性检查方法(位置属性向量,词性标注序列向量,聚类或者分类算法)

7.句法分析

1)句法分析理解以及意义

句法结构分析完全句法分析浅层分析(这里有很多方法。。。)依存关系分析2)句法分析方法1.基于规则的句法结构分析2.基于统计的语法结构分析8.文本分类,情感分析

1)文本分类,文本排重文本分类:在预定义的分类体系下,根据文本的特征,将给定的文本与一个或者多个类别相关联典型应用:垃圾邮件判定,网页自动分类2)文本表示,特征选取与权重计算,词向量文本特征选择常用方法:1、基于本文频率的特征提取法2、信息增量法3、X2(卡方)统计量4、互信息法3)分类器设计SVM,贝叶斯,决策树等4)分类器性能评测1、召回率2、正确率3、F1值5)主题模型(LDA)与PLSALDA模型十分强大,基于贝叶斯改进了PLSA,可以提取出本章的主题词和关键词,建模过程复杂,难以理解。6)情感分析借助计算机帮助用户快速获取,整理和分析相关评论信息,对带有感情色彩的主观文本进行分析,处理和归纳例如,评论自动分析,水军识别。某种意义上看,情感分析也是一种特殊的分类问题

9.信息检索,搜索引擎及其原理

1)信息检索起源于图书馆资料查询检索,引入计算机技术后,从单纯的文本查询扩展到包含图片,音视频等多媒体信息检索,检索对象由数据库扩展到互联网1.点对点检索2.精确匹配模型与相关匹配模型3.检索系统关键技术:标引,相关度计算2)常见模型:布尔模型,向量空间模型,概率模型3)常用技术:倒排索引,隐语义分析(LDA等)4)评测指标

10.自动文摘与信息抽取,机器翻译,问答系统

1)统计机器翻译的的思路,过程,难点,以及解决2)问答系统基本组成:问题分析,信息检索,答案抽取类型:基于问题-答案,基于自由文本典型的解决思路3)自动文摘的意义,常用方法4)信息抽取模型(LDA等)

11.深度学习在自然语言中的应用

1)单词表示,比如词向量的训练(wordvoc)2)自动写文本写新闻等3)机器翻译4)基于CNN、RNN的文本分类5)深度学习与CRF结合用于词性标注

NLP用于征信

近几年,国内P2P和现金贷的大量涌现,说明了个人小额信贷的市场需求巨大。在过去,针对该类小贷用户,一般单纯地依靠地推人员挨家挨户进行实地征信。如今,基于大数据和人工智能技术,可以实现智能征信和审批,极大地提高工作效率。通过多渠道获取用户多维度的数据,如通话记录、短信信息、购买历史、以及社交网络上的相关留存信息等;然后,从信息中提取各种特征建立模型,对用户进行多维度画像;最后,根据模型评分,对用户的个人信用进行评估。同样,对于市场上中小微企业融资难的问题,也可以通过大数据征信得以解决。

信用评分模型案例:

业务目标:建立信用评估系统,当把信用卡用户的信息导入到该系统时,系统会自动输出这批用户的违约风险及信用得分,为信用卡用户的管理提供决策支持。

数据挖掘目标:建立信用卡用户的信用评估模型,该模型以用户的信息指标为输入,以违约为目标,建立预测模型,该模型可以根据输入指标的值,计算预测值(违约)。

建立信用评分模型:分类预测算法并不局限于神经网络算法,只要是适用于目标变量为字符型的分类预测算法都可以(如决策树、支持向量机、贝叶斯网络、KNN、Logistic回归等)。

http://bbs.pinggu.org/thread-3823928-1-1.html

参考资料黄志洪老师的自然语言处理课程参考书:宗成庆老师的《统计自然语言处理》自然语言处理(NLP)知识结构总结

自然语言处理(NLP)语义分析

文章目录第一部分:文本分类一、文本预处理(解决特征空间高维性、语义相关性和特征分布稀疏)二、文本特征提取三、分类模型第二部分:情感分析一、概述二、基于情感词典的情感分类方法三、基于机器学习的情感分类方法第三部分:意图识别一、概述二、意图识别的基本方法三、意图识别的难点

转载来源:https://blog.csdn.net/weixin_41657760/article/details/93163519

 

第一部分:文本分类

训练文本分类器过程见下图:文本分类问题:给定文档p(可能含有标题t),将文档分类为n个类别中的一个或多个文本分类应用:常见的有垃圾邮件识别,情感分析文本分类方向:主要有二分类,多分类,多标签分类文本分类方法:传统机器学习方法(贝叶斯,svm等),深度学习方法(fastText,TextCNN等)文本分类的处理大致分为文本预处理、文本特征提取、分类模型构建等。和英文文本处理分类相比,中文文本的预处理是关键技术。

一、文本预处理(解决特征空间高维性、语义相关性和特征分布稀疏)

1、中文分词技术为什么分词处理?因为研究表明特征粒度为词粒度远远好于字粒度,其大部分分类算法不考虑词序信息,基于字粒度的损失了过多的n-gram信息。

中文分词主要分为两类方法:基于词典的中文分词和基于统计的中文分词。

基于词典的中文分词核心是首先建立统一的词典表,当需要对一个句子进行分词时,首先将句子拆分成多个部分,将每一个部分与字典一一对应,如果该词语在词典中,分词成功,否则继续拆分匹配直到成功。所以字典,切分规则和匹配顺序是核心。基于统计的中文分词方法统计学认为分词是一个概率最大化问题,即拆分句子,基于语料库,统计相邻的字组成的词语出现的概率,相邻的词出现的次数多,就出现的概率大,按照概率值进行分词,所以一个完整的语料库很重要。基于理解的分词方法基于理解的分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

2、去除停用词建立停用词字典,停用词主要包括一些副词、形容词及其一些连接词。通过维护一个停用词表,实际上是一个特征提取的过程,本质上是特征选择的一部分。

二、文本特征提取

1、词袋模型

思想:建立一个词典库,该词典库包含训练语料库的所有词语,每个词语对应一个唯一识别的编号,利用one-hot文本表示。

文档的词向量维度与单词向量的维度相同,每个位置的值是对应位置词语在文档中出现的次数,即词袋模型(BOW))

问题:

(1)容易引起维度灾难问题,语料库太大,字典的大小为每个词的维度,高维度导致计算困难,每个文档包含的词语数少于词典的总词语数,导致文档稀疏。(2)仅仅考虑词语出现的次数,没有考虑句子词语之间的顺序信息,即语义信息未考虑

2、TF-IDF文本特征提取

利用TF和IDF两个参数来表示词语在文本中的重要程度。

TF是词频:指的是一个词语在一个文档中出现的频率,一般情况下,每一个文档中出现的词语的次数越多词语的重要性更大,例如BOW模型一样用出现次数来表示特征值,即出现文档中的词语次数越多,其权重就越大,问题就是在长文档中的词语次数普遍比短文档中的次数多,导致特征值偏向差异情况。

TF体现的是词语在文档内部的重要性。

IDF是体现词语在文档间的重要性

即如果某个词语出现在极少数的文档中,说明该词语对于文档的区别性强,对应的特征值高,IDF值高,IDFi=log(|D|/Ni),D指的是文档总数,Ni指的是出现词语i的文档个数,很明显Ni越小,IDF的值越大。

最终TF-IDF的特征值的表达式为:TF-IDF(i,j)=TFij*IDFi

3、基于词向量的特征提取模型

想基于大量的文本语料库,通过类似神经网络模型训练,将每个词语映射成一个定维度的向量,维度在几十到化百维之间,每个向量就代表着这个词语,词语的语义和语法相似性和通过向量之间的相似度来判断。

常用的word2vec主要是CBOW和skip-gram两种模型,由于这两个模型实际上就是一个三层的深度神经网络,其实NNLM的升级,去掉了隐藏层,由输入层、投影层、输出层三层构成,简化了模型和提升了模型的训练速度,其在时间效率上、语法语义表达上效果明显都变好。word2vec通过训练大量的语料最终用定维度的向量来表示每个词语,词语之间语义和语法相似度都可以通过向量的相似度来表示。

三、分类模型

1、传统机器学习方法:​传统机器学习算法中能用来分类的模型都可以用,常见的有:NB模型,随机森林模型(RF),SVM分类模型,KNN分类模型模型。

2、深度学习文本分类模型

fastText模型原理:句子中所有的词向量进行平均(某种意义上可以理解为只有一个avgpooling特殊CNN),然后直接连接一个softmax层进行分类。

TextCNN:利用CNN来提取句子中类似n-gram的关键信息

模型结构[4]:改进:fastText中的网络结果是完全没有考虑词序信息的,而TextCNN提取句子中类似n-gram的关键信息。

TextRNN

模型:Bi-directionalRNN(实际使用的是双向LSTM)从某种意义上可以理解为可以捕获变长且双向的的“n-gram”信息。改进:CNN有个最大问题是固定filter_size的视野,一方面无法建模更长的序列信息,另一方面filter_size的超参调节也很繁琐。

TextRNN+Attention

模型结构:改进:注意力(Attention)机制是自然语言处理领域一个常用的建模长时间记忆机制,能够很直观的给出每个词对结果的贡献,基本成了Seq2Seq模型的标配了。实际上文本分类从某种意义上也可以理解为一种特殊的Seq2Seq,所以考虑把Attention机制引入近来。

TextRCNN(TextRNN+CNN)

模型结构:过程:利用前向和后向RNN得到每个词的前向和后向上下文的表示:词的表示变成词向量和前向后向上下文向量连接起来的形式:再接跟TextCNN相同卷积层,pooling层即可,唯一不同的是卷积层filter_size=1就可以了,不再需要更大filter_size获得更大视野。

第二部分:情感分析一、概述

​情感分析是自然语言处理中常见的场景,比如淘宝商品评价,饿了么外卖评价等,对于指导产品更新迭代具有关键性作用。通过情感分析,可以挖掘产品在各个维度的优劣,从而明确如何改进产品。比如对外卖评价,可以分析菜品口味、送达时间、送餐态度、菜品丰富度等多个维度的用户情感指数,从而从各个维度上改进外卖服务。

​情感分析可以采用基于情感词典的传统方法,也可以采用基于机器学习的方法。

二、基于情感词典的情感分类方法

1、基于词典的情感分类步骤

​基于情感词典的方法,先对文本进行分词和停用词处理等预处理,再利用先构建好的情感词典,对文本进行字符串匹配,从而挖掘正面和负面信息。如图:2、情感词典​情感词典包含正面词语词典、负面词语词典、否定词语词典、程度副词词典等四部分。一般词典包含两部分,词语和权重。情感词典在整个情感分析中至关重要,所幸现在有很多开源的情感词典,如BosonNLP情感词典,它是基于微博、新闻、论坛等数据来源构建的情感词典,以及知网情感词典等。当然也可以通过语料来自己训练情感词典。

3、情感词典文本匹配算法​基于词典的文本匹配算法相对简单。逐个遍历分词后的语句中的词语,如果词语命中词典,则进行相应权重的处理。正面词权重为加法,负面词权重为减法,否定词权重取相反数,程度副词权重则和它修饰的词语权重相乘。如图:利用最终输出的权重值,就可以区分是正面、负面还是中性情感了。4、缺点​基于词典的情感分类,简单易行,而且通用性也能够得到保障。但仍然有很多不足:

精度不高,语言是一个高度复杂的东西,采用简单的线性叠加显然会造成很大的精度损失。词语权重同样不是一成不变的,而且也难以做到准确。新词发现,对于新的情感词,比如给力,牛逼等等,词典不一定能够覆盖。词典构建难,基于词典的情感分类,核心在于情感词典。而情感词典的构建需要有较强的背景知识,需要对语言有较深刻的理解,在分析外语方面会有很大限制。三、基于机器学习的情感分类方法

即为分类问题,文本分类中的各方法均可采用。

第三部分:意图识别一、概述

意图识别是通过分类的办法将句子或者我们常说的query分到相应的意图种类。

​举一个简单的例子,我想听周杰伦的歌,这个query的意图便是属于音乐意图,我想听郭德纲的相声便是属于电台意图。做好了意图识别以后对于很多nlp的应用都有很重要的提升,比如在搜索引擎领域使用意图识别来获取与用户输入的query最相关的信息。举个例子,用户在查询"生化危机"时,我们知道"生化危机"既有游戏还有电影,歌曲等等,如果我们通过意图识别发现该用户是想玩"生化危机"的游戏时,那我们直接将游戏的查询结果返回给用户,就会节省用户的搜索点击次数,缩短搜索时间,大幅提高用户的体验。

​再举一个目前最火热的聊天机器人来说明一下意图识别的重要性。目前各式各样的聊天机器人,智能客服,智能音箱所能处理的问题种类都是有限制的。比如某聊天机器人目前只有30个技能,那么用户向聊天机器人发出一个指令,聊天机器人首先得根据意图识别将用户的query分到某一个或者某几个技能上去,然后再进行后续的处理。做好了意图识别以后,那种类似于电影场景里面人机交互就有了实现的可能,用户向机器发来的每一个query,机器都能准确的理解用户的意图,然后准确的给予回复。人与机器连续,多轮自然的对话就可以借此实现了。

二、意图识别的基本方法

1、基于词典以及模版的规则方法:不同的意图会有的不同的领域词典,比如书名,歌曲名,商品名等等。当一个用户的意图来了以后我们根据意图和词典的匹配程度或者重合程度来进行判断,最简单一个规则是哪个domain的词典重合程度高,就将该query判别给这个领域。

2、基于查询点击日志:如果是搜索引擎等类型业务场景,那么我们可以通过点击日志得到用户的意图。

3、基于分类模型来对用户的意图进行判别:因为意图识别本身也是一个分类问题,其实方法和分类模型的方法大同小异。

三、意图识别的难点

​意图识别工作最大的难点其实是在于标注数据的获取。目前标注数据的获取主要来自两方面,一方面是专门的数据标注团队对数据进行标注,一方面是通过半监督的方式自动生成标注数据。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇