nlp最新算法(nlp最新算法模型)
大家好!今天让创意岭的小编来大家介绍下关于nlp最新算法的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008
本文目录:
一、自然语言处理基础知识
NLP 是什么?
NLP 是计算机科学领域与 人工智能 领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的学科。NLP 由两个主要的技术领域构成:自然语言理解和自然语言生成。
自然语言理解方向,主要目标是帮助机器更好理解人的语言,包括基础的词法、句法等语义理解,以及需求、篇章、情感层面的高层理解。
自然语言生成方向,主要目标是帮助机器生成人能够理解的语言,比如文本生成、自动文摘等。
NLP 技术基于大数据、知识图谱、 机器学习 、语言学等技术和资源,并可以形成机器翻译、深度问答、对话系统的具体应用系统,进而服务于各类实际业务和产品。
NLP在金融方面
金融行业因其与数据的高度相关性,成为人工智能最先应用的行业之一,而NLP与知识图谱作为人工智能技术的重要研究方向与组成部分,正在快速进入金融领域,并日益成为智能金融的基石。舆情分析舆情主要指民众对社会各种具体事物的情绪、意见、价值判断和愿望等。
事件(Event ):在特定时间、特定地点发生的事情。主题(Topic):也称为话题,指一个种子事件或活动以及与它直接相关的事件和活动。专题(Subject):涵盖多个类似的具体事件或根本不涉及任何具体事件。需要说明的是,国内新闻网站新浪、搜狐等所定义的“专题”概念大多数等同于我们的“主题”概念。热点:也可称为热点主题。热点和主题的概念比较接近,但有所区别。
1. 词干提取
什么是词干提取?词干提取是将词语去除变化或衍生形式,转换为词干或原型形式的过程。词干提取的目标是将相关词语还原为同样的词干,哪怕词干并非词典的词目。
2. 词形还原
什么是词形还原? 词形还原是将一组词语还原为词源或词典的词目形式的过程。还原过程考虑到了POS问题,即词语在句中的语义,词语对相邻语句的语义等。
3. 词向量化什么是词向量化?词向量化是用一组实数构成的向量代表自然语言的叫法。这种技术非常实用,因为电脑无法处理自然语言。词向量化可以捕捉到自然语言和实数间的本质关系。通过词向量化,一个词语或者一段短语可以用一个定维的向量表示,例如向量的长度可以为100。
4. 词性标注
什么是词性标注?简单来说,词性标注是对句子中的词语标注为名字、动词、形容词、副词等的过程。
5. 命名实体消歧
什么是命名实体消岐?命名实体消岐是对句子中的提到的实体识别的过程。例如,对句子“Apple earned a revenue of 200 Billion USD in 2016”,命名实体消岐会推断出句子中的Apple是苹果公司而不是指一种水果。一般来说,命名实体要求有一个实体知识库,能够将句子中提到的实体和知识库联系起来。
6. 命名实体识别
体识别是识别一个句子中有特定意义的实体并将其区分为人名,机构名,日期,地名,时间等类别的任务。
7. 情感分析
什么是情感分析?情感分析是一种广泛的主观分析,它使用自然语言处理技术来识别客户评论的语义情感,语句表达的情绪正负面以及通过语音分析或书面文字判断其表达的情感等等。
8. 语义文本相似度
什么是语义文本相似度分析?语义文本相似度分析是对两段文本的意义和本质之间的相似度进行分析的过程。注意,相似性与相关性是不同的。
9.语言识别
什么是语言识别?语言识别指的是将不同语言的文本区分出来。其利用语言的统计和语法属性来执行此任务。语言识别也可以被认为是文本分类的特殊情况。
10. 文本摘要
什么是文本摘要?文本摘要是通过识别文本的重点并使用这些要点创建摘要来缩短文本的过程。文本摘要的目的是在不改变文本含义的前提下最大限度地缩短文本。
11.评论观点抽取
自动分析评论关注点和评论观点,并输出评论观点标签及评论观点极性。目前支持 13 类产品用户评论的观点抽取,包括美食、酒店、汽车、景点等,可帮助商家进行产品分析,辅助用户进行消费决策。
11.DNN 语言模型
语言模型是通过计算给定词组成的句子的概率,从而判断所组成的句子是否符合客观语言表达习惯。在机器翻译、拼写纠错、语音识别、问答系统、词性标注、句法分析和信息检索等系统中都有广泛应用。
12.依存句法分析
利用句子中词与词之间的依存关系来表示词语的句法结构信息 (如主谓、动宾、定中等结构关系),并用树状结构来表示整句的的结构 (如主谓宾、定状补等)。
1、NLTK
一种流行的自然语言处理库、自带语料库、具有分类,分词等很多功能,国外使用者居多,类似中文的 jieba 处理库
2、文本处理流程
大致将文本处理流程分为以下几个步骤:
Normalization
Tokenization
Stop words
Part-of-speech Tagging
Named Entity Recognition
Stemming and Lemmatization
下面是各个流程的具体介绍
Normalization
第一步通常要做就是Normalization。在英文中,所有句子第一个单词的首字母一般是大写,有的单词也会全部字母都大写用于表示强调和区分风格,这样更易于人类理解表达的意思。
Tokenization
Token是"符号"的高级表达, 一般值具有某种意义,无法再拆分的符号。在英文自然语言处理中,Tokens通常是单独的词,因此Tokenization就是将每个句子拆分为一系列的词。
Stop Word
Stop Word 是无含义的词,例如’is’/‘our’/‘the’/‘in’/'at’等。它们不会给句子增加太多含义,单停止词是频率非常多的词。 为了减少我们要处理的词汇量,从而降低后续程序的复杂度,需要清除停止词。
Named Entity
Named Entity 一般是名词短语,又来指代某些特定对象、人、或地点 可以使用 ne_chunk()方法标注文本中的命名实体。在进行这一步前,必须先进行 Tokenization 并进行 PoS Tagging。
Stemming and Lemmatization
为了进一步简化文本数据,我们可以将词的不同变化和变形标准化。Stemming 提取是将词还原成词干或词根的过程。
3、Word2vec
Word2vec是一种有效创建词嵌入的方法,它自2013年以来就一直存在。但除了作为词嵌入的方法之外,它的一些概念已经被证明可以有效地创建推荐引擎和理解时序数据。在商业的、非语言的任务中。
### 四、NLP前沿研究方向与算法
1、MultiBERT
2、XLNet
3、bert 模型
BERT的全称是Bidirectional Encoder Representation from Transformers,即双向Transformer的Encoder,因为decoder是不能获要预测的信息的。模型的主要创新点都在pre-train方法上,即用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的representation。
BERT提出之后,作为一个Word2Vec的替代者,其在NLP领域的11个方向大幅刷新了精度,可以说是近年来自残差网络最优突破性的一项技术了。BERT的主要特点以下几点:
使用了Transformer作为算法的主要框架,Trabsformer能更彻底的捕捉语句中的双向关系;
使用了Mask Language Model(MLM)和 Next Sentence Prediction(NSP) 的多任务训练目标;
使用更强大的机器训练更大规模的数据,使BERT的结果达到了全新的高度,并且Google开源了BERT模型,用户可以直接使用BERT作为Word2Vec的转换矩阵并高效的将其应用到自己的任务中。
BERT的本质上是通过在海量的语料的基础上运行自监督学习方法为单词学习一个好的特征表示,所谓自监督学习是指在没有人工标注的数据上运行的监督学习。在以后特定的NLP任务中,我们可以直接使用BERT的特征表示作为该任务的词嵌入特征。所以BERT提供的是一个供其它任务迁移学习的模型,该模型可以根据任务微调或者固定之后作为特征提取器。
模型结构: 由于模型的构成元素Transformer已经解析过,就不多说了,BERT模型的结构如下图最左:
对比OpenAI GPT(Generative pre-trained transformer),BERT是双向的Transformer block连接;就像单向rnn和双向rnn的区别,直觉上来讲效果会好一些。
优点: BERT是截至2018年10月的最新state of the art模型,通过预训练和精调横扫了11项NLP任务,这首先就是最大的优点了。而且它还用的是Transformer,也就是相对rnn更加高效、能捕捉更长距离的依赖。对比起之前的预训练模型,它捕捉到的是真正意义上的bidirectional context信息。
缺点: MLM预训练时的mask问题
[MASK]标记在实际预测中不会出现,训练时用过多[MASK]影响模型表现
每个batch只有15%的token被预测,所以BERT收敛得比left-to-right模型要慢(它们会预测每个token)
BERT火得一塌糊涂不是没有原因的:
使用Transformer的结构将已经走向瓶颈期的Word2Vec带向了一个新的方向,并再一次炒火了《Attention is All you Need》这篇论文;
11个NLP任务的精度大幅提升足以震惊整个深度学习领域;
无私的开源了多种语言的源码和模型,具有非常高的商业价值。
迁移学习又一次胜利,而且这次是在NLP领域的大胜,狂胜。
BERT算法还有很大的优化空间,例如我们在Transformer中讲的如何让模型有捕捉Token序列关系的能力,而不是简单依靠位置嵌入。BERT的训练在目前的计算资源下很难完成,论文中说的训练需要在64块TPU芯片上训练4天完成,而一块TPU的速度约是目前主流GPU的7-8倍。
二、自然语言处理基础 - NLP
什么是自然语言处理
自然语言处理 (英语:natural language processing,缩写作 NLP) 是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。
自然语言处理有四大类常见的任务
什么是命名实体识别
命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。
什么是词性标注
词性标注 (pos tagging) 是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。
什么是文本分类
该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。
GLUE benchmark
General Language Understanding Evaluation benchmark,通用语言理解评估基准,用于测试模型在广泛自然语言理解任务中的鲁棒性。
LM:Language Model
语言模型,一串词序列的概率分布,通过概率模型来表示文本语义。
语言模型有什么作用?通过语言模型,可以量化地衡量一段文本存在的可能性。对于一段长度为n的文本,文本里每个单词都有上文预测该单词的过程,所有单词的概率乘积便可以用来评估文本。在实践中,如果文本很长,P(wi|context(wi))的估算会很困难,因此有了简化版:N元模型。在N元模型中,通过对当前词的前N个词进行计算来估算该词的条件概率。
重要文献与资料
https://segmentfault.com/a/1190000015460828
https://segmentfault.com/a/1190000015284996
https://segmentfault.com/a/1190000015285996
我们介绍词的向量表征,也称为 word embedding 。词向量是自然语言处理中常见的一个操作,是搜索引擎、广告系统、推荐系统等互联网服务背后常见的基础技术。
在这些互联网服务里,我们经常要比较两个词或者两段文本之间的相关性。为了做这样的比较,我们往往先要把词表示成计算机适合处理的方式。最自然的方式恐怕莫过于向量空间模型(vector space model)。 在这种方式里,每个词被表示成一个实数向量(one-hot vector),其长度为字典大小,每个维度对应一个字典里的每个词,除了这个词对应维度上的值是1,其他元素都是0。
One-hot vector虽然自然,但是用处有限。比如,在互联网广告系统里,如果用户输入的query是“母亲节”,而有一个广告的关键词是“康乃馨”。虽然按照常理,我们知道这两个词之间是有联系的——母亲节通常应该送给母亲一束康乃馨;但是这两个词对应的one-hot vectors之间的距离度量,无论是欧氏距离还是余弦相似度(cosine similarity),由于其向量正交,都认为这两个词毫无相关性。 得出这种与我们相悖的结论的根本原因是:每个词本身的信息量都太小。所以,仅仅给定两个词,不足以让我们准确判别它们是否相关。要想精确计算相关性,我们还需要更多的信息——从大量数据里通过机器学习方法归纳出来的知识。
在机器学习领域里,各种“知识”被各种模型表示,词向量模型(word embedding model)就是其中的一类。通过词向量模型可将一个 one-hot vector映射到一个维度更低的实数向量(embedding vector),如embedding(母亲节)=[0.3,4.2,−1.5,...],embedding(康乃馨)=[0.2,5.6,−2.3,...]。在这个映射到的实数向量表示中,希望两个语义(或用法)上相似的词对应的词向量“更像”,这样如“母亲节”和“康乃馨”的对应词向量的余弦相似度就不再为零了。
词向量模型可以是概率模型、共生矩阵(co-occurrence matrix)模型或神经元网络模型。在用神经网络求词向量之前,传统做法是统计一个词语的共生矩阵X。
X是一个|V|×|V| 大小的矩阵,Xij表示在所有语料中,词汇表V(vocabulary)中第i个词和第j个词同时出现的词数,|V|为词汇表的大小。对X做矩阵分解(如奇异值分解),得到的U即视为所有词的词向量:
但这样的传统做法有很多问题:
基于神经网络的模型不需要计算和存储一个在全语料上统计产生的大表,而是通过学习语义信息得到词向量,因此能很好地解决以上问题。
神经网络
当词向量训练好后,我们可以用数据可视化算法t-SNE[ 4 ]画出词语特征在二维上的投影(如下图所示)。从图中可以看出,语义相关的词语(如a, the, these; big, huge)在投影上距离很近,语意无关的词(如say, business; decision, japan)在投影上的距离很远。
另一方面,我们知道两个向量的余弦值在[−1,1]的区间内:两个完全相同的向量余弦值为1, 两个相互垂直的向量之间余弦值为0,两个方向完全相反的向量余弦值为-1,即相关性和余弦值大小成正比。因此我们还可以计算两个词向量的余弦相似度。
模型概览
语言模型
在介绍词向量模型之前,我们先来引入一个概念:语言模型。 语言模型旨在为语句的联合概率函数P(w1,...,wT)建模, 其中wi表示句子中的第i个词。语言模型的目标是,希望模型对有意义的句子赋予大概率,对没意义的句子赋予小概率。 这样的模型可以应用于很多领域,如机器翻译、语音识别、信息检索、词性标注、手写识别等,它们都希望能得到一个连续序列的概率。 以信息检索为例,当你在搜索“how long is a football bame”时(bame是一个医学名词),搜索引擎会提示你是否希望搜索"how long is a football game", 这是因为根据语言模型计算出“how long is a football bame”的概率很低,而与bame近似的,可能引起错误的词中,game会使该句生成的概率最大。
对语言模型的目标概率P(w1,...,wT),如果假设文本中每个词都是相互独立的,则整句话的联合概率可以表示为其中所有词语条件概率的乘积,即:
然而我们知道语句中的每个词出现的概率都与其前面的词紧密相关, 所以实际上通常用条件概率表示语言模型:
N-gram neural model
在计算语言学中,n-gram是一种重要的文本表示方法,表示一个文本中连续的n个项。基于具体的应用场景,每一项可以是一个字母、单词或者音节。 n-gram模型也是统计语言模型中的一种重要方法,用n-gram训练语言模型时,一般用每个n-gram的历史n-1个词语组成的内容来预测第n个词。
Yoshua Bengio等科学家就于2003年在著名论文 Neural Probabilistic Language Models [ 1 ] 中介绍如何学习一个神经元网络表示的词向量模型。文中的神经概率语言模型(Neural Network Language Model,NNLM)通过一个线性映射和一个非线性隐层连接,同时学习了语言模型和词向量,即通过学习大量语料得到词语的向量表达,通过这些向量得到整个句子的概率。因所有的词语都用一个低维向量来表示,用这种方法学习语言模型可以克服维度灾难(curse of dimensionality)。注意:由于“神经概率语言模型”说法较为泛泛,我们在这里不用其NNLM的本名,考虑到其具体做法,本文中称该模型为N-gram neural model。
在上文中已经讲到用条件概率建模语言模型,即一句话中第t个词的概率和该句话的前t−1个词相关。可实际上越远的词语其实对该词的影响越小,那么如果考虑一个n-gram, 每个词都只受其前面n-1个词的影响,则有:
给定一些真实语料,这些语料中都是有意义的句子,N-gram模型的优化目标则是最大化目标函数:
其中f(wt,wt−1,...,wt−n+1)表示根据历史n-1个词得到当前词wt的条件概率,R(θ)表示参数正则项。
Continuous Bag-of-Words model(CBOW)
CBOW模型通过一个词的上下文(各N个词)预测当前词。当N=2时,模型如下图所示:
具体来说,不考虑上下文的词语输入顺序,CBOW是用上下文词语的词向量的均值来预测当前词。
其中xt为第t个词的词向量,分类分数(score)向量 z=U∗context,最终的分类y采用softmax,损失函数采用多类分类交叉熵。
Skip-gram model
CBOW的好处是对上下文词语的分布在词向量上进行了平滑,去掉了噪声,因此在小数据集上很有效。而Skip-gram的方法中,用一个词预测其上下文,得到了当前词上下文的很多样本,因此可用于更大的数据集。
如上图所示,Skip-gram模型的具体做法是,将一个词的词向量映射到2n个词的词向量(2n表示当前输入词的前后各n个词),然后分别通过softmax得到这2n个词的分类损失值之和。
我们介绍了词向量、语言模型和词向量的关系、以及如何通过训练神经网络模型获得词向量。在信息检索中,我们可以根据向量间的余弦夹角,来判断query和文档关键词这二者间的相关性。在句法分析和语义分析中,训练好的词向量可以用来初始化模型,以得到更好的效果。在文档分类中,有了词向量之后,可以用聚类的方法将文档中同义词进行分组,也可以用 N-gram 来预测下一个词。希望大家在本章后能够自行运用词向量进行相关领域的研究。
参考: https://www.paddlepaddle.org.cn/documentation/docs/zh/user_guides/simple_case/word2vec/README.cn.html
三、NLP第十篇-语义分析
对于不同的语言单位,语义分析的任务各不相同。在词的层次上,语义分析的基本任务是进行 词义消歧(WSD) ,在句子层面上是 语义角色标注(SRL) ,在篇章层面上是 指代消歧 ,也称共指消解。
词义消歧
由于词是能够独立运用的最小语言单位,句子中的每个词的含义及其在特定语境下的相互作用构成了整个句子的含义,因此,词义消歧是句子和篇章语义理解的基础,词义消歧有时也称为词义标注,其任务就是确定一个多义词在给定上下文语境中的具体含义。
词义消歧的方法也分为有监督的消歧方法和无监督的消歧方法,在有监督的消歧方法中,训练数据是已知的,即每个词的词义是被标注了的;而在无监督的消歧方法中,训练数据是未经标注的。
多义词的词义识别问题实际上就是该词的上下文分类问题,还记得词性一致性识别的过程吗,同样也是根据词的上下文来判断词的词性。
有监督词义消歧根据上下文和标注结果完成分类任务。而无监督词义消歧通常被称为聚类任务,使用聚类算法对同一个多义词的所有上下文进行等价类划分,在词义识别的时候,将该词的上下文与各个词义对应上下文的等价类进行比较,通过上下文对应的等价类来确定词的词义。此外,除了有监督和无监督的词义消歧,还有一种基于词典的消歧方法。
在词义消歧方法研究中,我们需要大量测试数据,为了避免手工标注的困难,我们通过人工制造数据的方法来获得大规模训练数据和测试数据。其基本思路是将两个自然词汇合并,创建一个伪词来替代所有出现在语料中的原词汇。带有伪词的文本作为歧义原文本,最初的文本作为消歧后的文本。
有监督的词义消歧方法
有监督的词义消歧方法通过建立分类器,用划分多义词上下文类别的方法来区分多义词的词义。
基于互信息的消歧方法
基于互信息的消歧方法基本思路是,对每个需要消歧的多义词寻找一个上下文特征,这个特征能够可靠地指示该多义词在特定上下文语境中使用的是哪种语义。
互信息是两个随机变量X和Y之间的相关性,X与Y关联越大,越相关,则互信息越大。
这里简单介绍用在机器翻译中的Flip-Flop算法,这种算法适用于这样的条件,A语言中有一个词,它本身有两种意思,到B语言之后,有两种以上的翻译。
我们需要得到的,是B语言中的哪些翻译对应义项1,哪些对应义项2。
这个问题复杂的地方在于,对于普通的词义消歧,比如有两个义项的多义词,词都是同一个,上下文有很多,我们把这些上下文划分为两个等价类;而这种跨语言的,不仅要解决上下文的划分,在这之前还要解决两个义项多种词翻译的划分。
这里面最麻烦的就是要先找到两种义项分别对应的词翻译,和这两种义项分别对应的词翻译所对应的上下文特征,以及他们之间的对应关系。
想象一下,地上有两个圈,代表两个义项;这两个圈里,分别有若干个球,代表了每个义项对应的词翻译;然后这两个圈里还有若干个方块,代表了每个义项在该语言中对应的上下文。然后球和方块之间有线连着(球与球,方块与方块之间没有),随便连接,球可以连多个方块,方块也可以连多个球。然后,圈没了,两个圈里的球和方块都混在了一起,乱七八糟的,你该怎么把属于这两个圈的球和方块分开。
Flip-Flop算法给出的方法是,试试。把方块分成两个集合,球也分成两个集合,然后看看情况怎么样,如果情况不好就继续试,找到最好的划分。然后需要解决的问题就是,怎么判定分的好不好?用互信息。
如果两个上下文集(方块集)和两个词翻译集(球集)之间的互信息大,那我们就认为他们的之间相关关系大,也就与原来两个义项完美划分更接近。
实际上,基于互信息的这种方法直接把词翻译的义项划分也做好了。
基于贝叶斯分类器的消歧方法
基于贝叶斯分类器的消歧方法的思想与《浅谈机器学习基础》中讲的朴素贝叶斯分类算法相同,当时是用来判定垃圾邮件和正常邮件,这里则是用来判定不同义项(义项数可以大于2),我们只需要计算给定上下文语境下,概率最大的词义就好了。
根据贝叶斯公式,两种情况下,分母都可以忽略,所要计算的就是分子,找最大的分子,在垃圾邮件识别中,分子是P(当前邮件所出现的词语|垃圾邮件)P(垃圾邮件),那么乘起来就是垃圾邮件和当前邮件词语出现的联合分布概率,正常邮件同理;而在这里分子是P(当前词语所存在的上下文|某一义项)P(某一义项),这样计算出来的就是某一义项和上下文的联合分布概率,再除以分母P(当前词语所存在的上下文),计算出来的结果就是P(某一义项|当前词语所存在的上下文),就能根据上下文去求得概率最大的义项了。
基于最大熵的词义消歧方法
利用最大熵模型进行词义消歧的基本思想也是把词义消歧看做一个分类问题,即对于某个多义词根据其特定的上下文条件(用特征表示)确定该词的义项。
基于词典的词义消歧方法
基于词典语义定义的消歧方法
M. Lesk 认为词典中的词条本身的定义就可以作为判断其词义的一个很好的条件,就比如英文中的core,在词典中有两个定义,一个是『松树的球果』,另一个是指『用于盛放其它东西的锥形物,比如盛放冰激凌的锥形薄饼』。如果在文本中,出现了『树』、或者出现了『冰』,那么这个core的词义就可以确定了。
我们可以计算词典中不同义项的定义和词语在文本中上下文的相似度,就可以选择最相关的词义了。
基于义类词典的消歧方法
和前面基于词典语义的消歧方法相似,只是采用的不是词典里义项的定义文本,而是采用的整个义项所属的义类,比如ANMINAL、MACHINERY等,不同的上下文语义类有不同的共现词,依靠这个来对多义词的义项进行消歧。
无监督的词义消歧方法
严格地讲,利用完全无监督的消歧方法进行词义标注是不可能的,因为词义标注毕竟需要提供一些关于语义特征的描述信息,但是,词义辨识可以利用完全无监督的机器学习方法实现。
其关键思想在于上下文聚类,计算多义词所出现的语境向量的相似性就可以实现上下文聚类,从而实现词义区分。
语义角色标注概述
语义角色标注是一种浅层语义分析技术,它以句子为单位,不对句子所包含的予以信息进行深入分析,而只是分析句子的谓词-论元结构。具体一点讲,语义角色标注的任务就是以句子的谓词为中心,研究句子中各成分与谓词之间的关系,并且用语义角色来描述它们之间的关系。比如:
实际上就是填槽吧,找到句子中的时间、地点、施事者、受事者和核心谓词。
目前语义角色标注方法过于依赖句法分析的结果,而且领域适应性也太差。
自动语义角色标注是在句法分析的基础上进行的,而句法分析包括短语结构分析、浅层句法分析和依存关系分析,因此,语义角色标注方法也分为 基于短语结构树 的语义角色标注方法、 基于浅层句法分析结果 的语义角色标注方法和 基于依存句法分析结果 的语义角色标注方法三种。
它们的基本流程类似,在研究中一般都假定谓词是给定的,所要做的就是找出给定谓词的各个论元,也就是说任务是确定的,找出这个任务所需的各个槽位的值。其流程一般都由4个阶段组成:
候选论元剪除的目的就是要从大量的候选项中剪除掉那些不可能成为论元的项,从而减少候选项的数目。
论元辨识阶段的任务是从剪除后的候选项中识别出哪些是真正的论元。论元识别通常被作为一个二值分类问题来解决,即判断一个候选项是否是真正的论元。该阶段不需要对论元的语义角色进行标注。
论元标注阶段要为前一阶段识别出来的论元标注语义角色。论元标注通常被作为一个多值分类问题来解决,其类别集合就是所有的语义角色标签。
最终,后处理阶段的作用是对前面得到的语义角色标注结果进行处理,包括删除语义角色重复的论元等。
基于短语结构树的语义角色标注方法
首先是第一步,候选论元剪除,具体方法如下:
将谓词作为当前结点,依次考察它的兄弟结点:如果一个兄弟结点和当前结点在句法结构上不是并列的关系,则将它作为候选项。如果该兄弟结点的句法标签是介词短语,则将它的所有子节点都作为候选项。
将当前结点的父结点设为当前结点,重复上一个步骤,直至当前结点是句法树的根结点。
举个例子,候选论元就是图上画圈的:
经过剪除得到候选论元之后,进入论元识别阶段,为分类器选择有效的特征。人们总结出了一些常见的有效特征,比如谓词本身、路径、短语类型、位置、语态、中心词、从属类别、论元的第一个词和最后一个词、组合特征等等。
然后进行论元标注,这里也需要找一些对应的特征。然后后处理并不是必须的。
基于依存关系树的语义角色标注方法
该语义角色标注方法是基于依存分析树进行的。由于短语结构树与依存结构树不同,所以基于二者的语义角色标注方法也有不同。
在基于短语结构树的语义角色标方法中,论元被表示为连续的几个词和一个语义角色标签,比如上面图给的『事故 原因』,这两个词一起作为论元A1;而在基于依存关系树的语义角色标注方法中,一个论元被表示为一个中心词和一个语义角色标签,就比如在依存关系树中,『原因』是『事故』的中心词,那只要标注出『原因』是A1论元就可以了,也即谓词-论元关系可以表示为谓词和论元中心词之间的关系。
下面给一个例子:
句子上方的是原来的依存关系树,句子下方的则是谓词『调查』和它的各个论元之间的关系。
第一步仍然是论元剪除,具体方法如下:
将谓词作为当前结点
将当前结点的所有子结点都作为候选项
将当前结点的父结点设为当前结点,如果新当前结点是依存句法树的根结点,剪除过程结束,如果不是,执行上一步
论元识别和论元标注仍然是基于特征的分类问题,也有一些人们总结出来的常见特征。这里不详述。
基于语块的语义角色标注方法
我们前面知道,浅层语法分析的结果是base NP标注序列,采用的方法之一是IOB表示法,I表示base NP词中,O表示词外,B表示词首。
基于语块的语义角色标注方法将语义角色标注作为一个序列标注问题来解决。
基于语块的语义角色标注方法一般没有论元剪除这个过程,因为O相当于已经剪除了大量非base NP,也即不可能为论元的内容。论元辨识通常也不需要了,base NP就可以认为是论元。
我们需要做的就是论元标注,为所有的base NP标注好语义角色。与基于短语结构树或依存关系树的语义角色标注方法相比,基于语块的语义角色标注是一个相对简单的过程。
当然,因为没有了树形结构,只是普通序列的话,与前两种结构相比,丢失掉了一部分信息,比如从属关系等。
语义角色标注的融合方法
由于语义角色标注对句法分析的结果有严重的依赖,句法分析产生的错误会直接影响语义角色标注的结果,而进行语义角色标注系统融合是减轻句法分析错误对语义角色标注影响的有效方法。
这里所说的系统融合是将多个语义角色标注系统的结果进行融合,利用不同语义角色标注结果之间的差异性和互补性,综合获得一个最好的结果。
在这种方法中,一般首先根据多个不同语义角色标注结果进行语义角色标注,得到多个语义角色标注结果,然后通过融合技术将每个语义角色标注结果中正确的部分组合起来,获得一个全部正确的语义角色标注结果。
融合方法这里简单说一种基于整数线性规划模型的语义角色标注融合方法,该方法需要被融合的系统输出每个论元的概率,其基本思想是将融合过程作为一个推断问题处理,建立一个带约束的最优化模型,优化目标一般就是让最终语义角色标注结果中所有论元的概率之和最大了,而模型的约束条件则一般来源于人们根据语言学规律和知识所总结出来的经验。
除了基于整数线性规划模型的融合方法之外,人们还研究了若干种其他融合方法,比如最小错误加权的系统融合方法。其基本思想是认为,不应该对所有融合的标注结果都一视同仁,我们在进行融合时应当更多的信赖总体结果较好的系统。
END
四、cv和nlp是算法吗
cv和nlp是算法。cv是计算机视觉,而nlp是自然语言处理,两者都是计算机发展的重要算法分支,支撑计算机智能化发展的基石,所以cv和nlp是算法。
以上就是关于nlp最新算法相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读:
win7删除winload如何恢复(win7系统删除的文件怎么找回)