本文目录:
- 1、自然语言处理几个概念
- 2、nlp是什么意思
- 3、NLP自然语言处理
自然语言处理几个概念
自然语言处理(NLP)是指机器理解并解释人类写作、说话方式的能力。
NLP 的目标是让计算机/机器在理解语言上像人类一样智能。最终目标是弥补人类交流(自然语言)和计算机理解(机器语言)之间的差距。
自然语言处理(Natural Language Processing,简称NLP)是人工智能的一个子域。自然语言处理的应用包括机器翻译、情感分析、智能问答、信息提取、语言输入、舆论分析、知识图谱等方面,也是深度学习的一个分支。
在这个概念下还有两大子集,即自然语言理解(Natural Language Understanding,简称NLU)与自然语言生成(Natural Language Generation,简称NLG)
套用百度的一张图片展示它们的关系如下
(1)最底部,是最基础的大数据、机器学习和语言学(Linguistics);
(2)往上看,是知识图谱(Knowledge Graph),其中包含了实体图谱、注意力图谱和意图图谱。
(3)再上一层,左侧是语言理解(Language Understanding),右侧是语言生成(Language Generation)
——语言理解,包含了Query理解、文本理解、情感分析(Sentiment Analysis)等,还有词法(Lexical)、句法(Syntax)和语义(Semantic)等不同层次的分析。
——语言生成,包含了写作、阅读理解等等。
(4)最上方,是系统层面,包含了问答系统、机器翻译和对话系统。
自然语言处理是理解给定文本的含义与结构的流程。
文本挖掘或文本分析是通过模式识别提起文本数据中隐藏的信息的流程。
自然语言处理被用来理解给定文本数据的含义(语义),而文本挖掘被用来理解给定文本数据的结构(句法)。
例如,在「I found my wallet near the bank」一句中,NLP 的任务是理解句尾「bank」一词指代的是银行还是河边。
由于自然语言是人类区别于其他动物的根本标志。没有语言,人类的思维也就无从谈起,所以自然语言处理体现了人工智能的最高任务与境界,也就是说,只有当计算机具备了处理自然语言的能力时,机器才算实现了真正的智能。
事实上,“人工智能”被作为一个研究问题正式提出来的时候,创始人把计算机国际象棋和机器翻译作为两个标志性的任务,认为只要国际象棋系统能够打败人类世界冠军,机器翻译系统达到人类翻译水平,就可以宣告人工智能的胜利。四十年后的1997年,IBM公司的深蓝超级计算机 已经能够打败国际象棋世界冠军卡斯帕罗夫。而机器翻译到现在仍无法与人类翻译水平相比,从此可以看出自然语言处理有多么困难!
一句话总结就是,语言是文明的标志,是人类思维逻辑和情感线索的载体,自然语言处理正是人工智能的最高境界。
(1)单词的边界界定
在口语中,词与词之间通常是连贯的,而界定字词边界通常使用的办法是取用能让给定的上下文最为通顺且在文法上无误的一种最佳组合。在书写上,汉语也没有词与词之间的边界。
(2)词义的消歧
许多字词不单只有一个意思,因而我们必须选出使句意最为通顺的解释。
(3)句法的模糊性
自然语言的文法通常是模棱两可的,针对一个句子通常可能会剖析(Parse)出多棵剖析树(Parse Tree),而我们必须要仰赖语意及前后文的资讯才能在其中选择一棵最为适合的剖析树。
(4)有瑕疵的或不规范的输入
例如语音处理时遇到外国口音或地方口音,或者在文本的处理中处理拼写,语法或者光学字符识别(OCR)的错误。
(5)语言行为与计划
句子常常并不只是字面上的意思,例如,“你能把盐递过来吗”,一个好的回答应当是把盐递过去,在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。再者,如果一门课程去年没开设,对于提问“这门课程去年有多少学生没通过?”回答“去年没开这门课”要比回答“没人没通过”好。
(1)NLU 旨在让机器理解自然语言形式的文本内容。
从 NLU 处理的文本单元来讲,可以分为词(term)、句子(sentence)、文档(document)三种不同的类型:
—词层面的基础 NLU 领域包括分词(汉语、缅甸语、泰语等非拉丁语系语言需要)、词性标注(名词、动词、形容词等)、命名实体识别(人物、机构、地点等)和实体关系提取(例如人物-出生地关系、公司-所在地关系、公司收购关系等);
—句子层面的基础 NLU 领域包括句法结构解析(获取句子的句法结构)和依存关系解析(获取句子组成部分的依赖关系);
—文档层面的基础 NLU 领域包含情感分析(分析一篇文档的情感倾向)和主题建模(分析文档内容的主题分布)。
(2)与NLU不同,NLG旨在让机器根据确定的结构化数据、文本、音视频等生成人类可以理解的自然语言形式的文本。根据数据源的类型,NLG可以分为三类:
—Text to text NLG,主要是对输入的自然语言文本进行进一步的处理和加工,主要包含文本摘要(对输入文本进行精简提炼)、拼写检查(自动纠正输入文本的单词拼写错误)、语法纠错(自动纠正输入文本的句法错误)、机器翻译(将输入文本的语义以另一种语言表达)和文本重写(以另一种不同的形式表达输入文本相同的语义)等领域;
—Data to text NLG,主要是根据输入的结构化数据生成易读易理解的自然语言文本,包含天气预报(根据天气预报数据生成概括性的用于播报的文本)、金融报告(自动生成季报/年报)、体育新闻(根据比分信息自动生成体育新闻)、人物简历(根据人物结构化数据生成简历)等领域的文本自动生成;
—Vision to text NLG,主要是给定一张图片或一段视频,生成可以准确描述图片或视频(其实是连续的图片序列)语义信息的自然语言文本。
下面重点说下NLG 技术的能力边界:
NLG 技术,一个核心在于NL,即自然语言形式的文本,更易于普通人阅读;另一个核心在于G,即生成,但不是创作,不涉及深入地分析、提炼和推理。
在 Text to text NLG 中,本质上是将输入文本进行处理,映射到一个语义向量空间中,然后再用输出文本来表达同样的语义,而这一过程中语义信息本身并没有经过进一步加工。
Data to text NLG 的目的是将结构化数据嵌入自然语言文本中,便于普通人的快速阅读,即使有一些看似推理的结果(例如天气预报中根据下周七天的天气数据,输出「未来一周大部分时间晴好,仅周三有短时小雨」这样的文本),其实也是人为定义了新的结构化数据字段。
Vision to text NLG 中也是如此,只是用自然语言文本来表达原先图像表达的语义,也不涉及语义的进一步加工。
换句话说,目前的 NLG 技术并不能实现人类的「写作」过程 – 其中包括对大量输入信息的理解、提炼、分析、推理和重组,而仅能够给出输入信息(文本、数据和图像)的自然语言形式的表示。
NLG 技术生成的文本,单篇文本看起来会非常规范和优质,但把大量的生成文本放在一起,就会感觉出浓浓的机器味儿 – 更为模式化且缺少灵活性。
NLP是AI的最大瓶颈,语言生成是NLP的最前沿
nlp是什么意思
nlp的几种意思:
1、nlp(神经语言程序学)
2、nlp(人工智能的自然语言处理)
3、百度自然语言处理部
4、NLP思维逻辑层次 扩展资料 1、nlp(神经语言程序学)
NLP是神经语言程序学 (Neuro-Linguistic Programming) 的英文缩写。在香港,也有意译为身心语法程式学的。N (Neuro) 指的是神经系统,包括大脑和思维过程。L (Linguistic) 是指语言,更准确点说,是指从感觉信号的输入到构成意思的过程。P (Programming) 是指为产生某种后果而要执行的一套具体指令。即指我们思维上及行为上的习惯,就如同电脑中的程序,可以透过更新软件而改变。故此,NLP被解释为研究我们的大脑如何工作的’学问。也因此,NLP译为“身心语法程式学”或“神经语言程序学”。
2、nlp(人工智能的自然语言处理)
NLP (Natural Language Processing) 是人工智能(AI)的一个子领域。
自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的。
3、百度自然语言处理部
同义词 nlp(百度自然语言处理部)一般指百度自然语言处理部
百度自然语言处理部(NLP)是百度历史最悠久的基础技术部门之一,以“理解语言,拥有智能,改变世界”为使命,开展包括自然语言处理、机器学习、数据挖掘在内的技术研究和产品应用工作,引领着人工智能技术的发展。
4、NLP思维逻辑层次
理解层次早期被称为Neuro-Logical Levels,最初由格雷戈里·贝特森发展出来,后由罗伯特·迪尔茨(Robert Dilts)整理,在1991年推出。理解层次(见图6一1)是一套模式(Pattern),因为它可以用来解释社会上出现的很多事情。理解层次在辅导工作中让我们明白受导者的困扰所在,因而更容易帮助他找出解决问题的方法,是很实用的一套概念。而NLP中也有一套技巧被称为“理解层次贯通法”,帮助用者明白从困惑中突破的关系,并且与自己潜意识的深层力量联系,使得人生策划方面更有效果,所以也是技巧。
NLP自然语言处理
罗素悖论:由所有不包含自身的集合构成的集合
例子:理发师称只给那些不给自己理发的人理发。
基于集合论,理发师无论给自己理发还是不给自己理发都是矛盾的。
因此集合论不是完备的。 即使后面冯罗伊德等科学家提出了各种假定条件。
由于上述的原因,集合率无法很好的描述自然语言,科学家发现通过概率模型可以更好的描述自然语言。
深度学习来处理自然语言属于概率模型
证明最小点位于坐标轴上
h = f+c|x|
由于在x = 0处不可导
h-left'(0)*h-right'(0) = (f’+c)*(f’-c)
那么如果c|f'(0)|可得,h在0处左右导数异号
0是最值。
那么在损失函数加入L1正则化后,可以得到某些维度容易为0,从而得到稀疏解
几乎所有的最优化手段,都将适用凸优化算法来解决
P(A|B) = P(A and B) / P(B)
if A and B 独立
=》P(A and B| C) = P(A|C)*P(B|C)
也可以推出
=A(A|B and C) = P(A|C) (B交C不为空)
抛9次硬币,硬币出现正面的概率是0.5,出现k次的概率分布如下如
服从正态分布
x的平均值
E = x*p(x) + …
x相对于期望的偏离
var = (x-E(x))^2
conv = (x – E(x))*(m – E(m))
描述x,m是否有同分布
按理协方差为0,并不代表x和m没有关系
例如下图
如果点的分布对称的分布,会得到协方差为0,但是其实他们是有关系的。
把每个相关的概率累加,得到联合概率
P(x1=m1,x2=m2…) = n!*P1 m1/m1!*P2 m2/m2!
T(n) = (n-1)!
T(x)用一条曲线逼近n!,进而可以求得非整数的阶乘
由二项式分布推出
P = T(a+b)*x (a-1)*(1-x) (b-1)/(T(a)*T(b))
则正态分布
y为0时,不考虑y‘。y为1时,y’越接近1,越小,越靠近0,越大
把D最小化,迫使y’逼近y
对于一个句子,有若干单词组成。例如
C1: The dog laughs.
C2: He laughs.
那么计算P(C1) = P(The, Dog, laughs)的概率和P(C2) = P(He, laughs)的概率。
根据历史文本的统计学习。
可以得到P(C1)P(C2)
P(‘I love the game’) = P(‘I’)*P(‘love’)*P(‘the’)*P(‘game’)
其中P(work) = 频率/总单词数
计算一篇文章是积极的还是消极的。
P(y|x) = sigmod(wx)
x是文章内每个单词的频率
y表示积极和消极情感
其中P(xk|x1, x2,..xk-1) = frequence(x1, x2 ,, xk)/frequence(x1, x2..xk-1)
2-gram模型例子
把多个gram的模型进行线性整合
P(y|x1, x2, .. xn) = P(y)*P(x1, x2, … xn|y) / P(x1, x2, … xn)
y代表是否是垃圾邮件
x代表单词
广州市长寿路 -》 广州市长|寿路
广州市长寿路 -》 广州市|长寿路
匹配词袋:广州市,广州市长,长寿路
使用最大匹配发,第二个分词更优
通过统计P(A|B),得出各个option的概率,取最大的概率,则为最后的分词
word = [0, 0 , … 1, … 0]
word = [0, 1, 0, 1, 0, …]
可以解决词相似性问题
计算附近词的频率
word = [0, 3, 0, 1, 0, …]
w是附近词的one-hot encoding
score是词的one-hot encoding
最后一层通过softmax,取拟合文本
最终中间层则为词向量
输入为词one-hot encoding
输出为附近此的one-hot encoding
最后通过softmax预测附近词
最后中间层则为结果词向量
混合模型是一种统计模型,问题中包含若干个子问题,每个子问题是一个概率分布,那么总问题就是若干个子问题的组合,也就是若干个子分部的组合,这样就形成了混合模型。
有红黑两种硬币,把它们放在盒子里,从盒子里随机抽取一个硬币并投币,抽到红色的概率是p,红色硬币正面的概率是q,黑色硬币正面的概率是m,假设我们没办法看到抽取出的硬币的颜色,只能看到最终是正面或者反面的结果,例如HTTHTTTTHHH (H:正面 T: 反面)。需要估计p,q,m三个参数。
此时可以计算出
通过EM算法迭代如下:
随机p q m
迭代以下过程:
计算上面table
p = (aC(正)+cC(反))/total
q = aC(正)/(aC正+cC正)
m = bC(正)/(bC正 + dC正)
假设有上述数据,需要用混合模型来逼近,通过分析,红色和蓝色数据分别为高斯正态分布,N(u, v)
此时可以得到如下表
p = pN红x/(pN红x+(1-p)N蓝x)
u = pN红x/n
v = pN红(x-u)^2/n
词性转换概率
词性到单词的转换概率
通过EM递归算法,训练以上参数,得到隐马尔可夫模型
PLSA主题模型
只统计词的频率,不计算词的相对位置
计算文档和单词频率的矩阵
进行奇异矩阵分解
得到A矩阵的压缩U,U中的k则为k个主题
通过分析,LSA得到的主题是跟现实无法关联,它只是一个量,而没有明显的意义。
PLSA为了解决此问题,引入概率模型,先确定主题个数
然后通过构建Doc-topic的概率table,和topic-word的概率table。
然后通过EM模型,得到这两个table的所有概率值。
进而得到文档的主题表示
PLSA的缺陷是,对于预测未知的doc,无法计算此文档的相关概率。随着doc数量的增加,PLSA模型的参数会线性增加,从而会造成过拟合。
LDA通过引入先验概率来克服PLSA的问题。
类似于编译原理的上下文无法句法分析,一颗语法树
通过对CFG引入概率参数
有了概率,可以计算每颗语法树的极大似然概率,并取最大概率的树为最终输出
上一个状态中间层的输出作为下一隐层的输入
类似于HMM的2-gram模型。t状态受到t-1时刻输出的影响,受t-k的输出的k越大,影响越小
由于RNN几乎只受到上一时刻的影响,而忽略了久远信息的影响。从而造成了一定的局限性。
LSTM通过引入长短记忆方法,来维持长记忆的信息。
通过训练核内的sigmod函数,使得LSTM可以根据不同的句子,有条件的保留和过滤历史信息,从而达到长记忆的功能。
GRU是LSTM的简化版,它只需要处理两个sigmod函数的训练,而LSTM需要三个sigmod函数的训练,减少了训练的参数,加快了训练的速度,但也损失了一部分模型的复杂,在处理较复杂问题时,没有LSTM那么好。
auto-encoder-decoder的特点是输出的单元数是固定的。对于一般自然语言处理,例如机器翻译,输入的单元个数跟输出单元的个数并不是一一对应的,此时就需要动态的生成输出单元。Seq2Seq通过动态的输出结束符,代表是否输出完成,达到可以动态的根据输入输出不同的单元个数。
seq2seq的缺点是,所有的输入序列都转化为单一的单元c,导致很多信息都将消失,对于不同的输出yi,它可能依赖的输入xj有可能不一样,此时通过加入注意力模型,通过对xi进行softmax处理,并加入到y权重的训练中,可以让不同的y,有不同的x对它进行影响
softmax的输入为输入单元x,和上一个输出单元y,联合产生softmax的权重,进而对不同的序列,对于同一个x,会有不同的注意力到输出
q = Wq(x)
k = Wk(x)
v = Wv(x)
x为词向量
通过训练,得到权重w,从而学习到这一层的softmax注意力参数
R是前一次encoder的输出
通过增加w的数量,产生多个z,并进行堆叠,通过前馈网络,最后产生z
在使用self attention处理句子时,是没有考虑单词在句子中的位置信息的。为了让模型可以加入考虑单词的位置信息,加入了位置编码的向量
计算如下:
pos为单词在句子中的位置
i为词向量的位置
d为句子的长度
位置编码加上词向量形成tranformer的输入
加入了归一化和残差网络
最终通过softmax,输出每个单词的概率,并最终输出单词
本文来源:https://www.yuntue.com/post/173234.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏