赞
踩
NLP(Natural Language Processing)= NLU(Understand)+NLG(Generation)
自然语言处理 = 自然语言理解+自然语言生成
NLU 负责理解内容,NLG 负责生成内容。
例如商场里的聊天机器人,“”你问小六汤包在哪里?“NLU技术用来理解用户的意图,理解用户想表达的意思。NLG负责回答:“在商场五楼。”
例子:传统的机器翻译,给出12组翻译对, 请翻译出最上面的话:
使用的就是概率统计,例如farok这个单词,在第五组和第7组出现了farok,在其翻译中都出现了jjat这个词。那么farok翻译为jjat的概率最大。最开始机器就是这样翻译的,找出每个单词的含义,然后按着原顺序组合起来。
这样的缺点就是:速度慢、语义不通、上下文考虑不到、语法不对。
解决方法:——速度慢(通过AI/模型)
——语法不对(通过语言模型)
(1)分为两个步骤:
步骤1:分词——>通过词典找出每个词的翻译(Broken English,不通顺)
如何将不通顺的语句变为符合语法规则的语言呢?
步骤2:将刚才每个单词进行排列组合( 计算方法是n!)——>通过语言模型选择器计算,找出最合适的语序
总结:分词——>单词翻译——>排列组合——>选择最通顺的序列
缺点:两个步骤导致计算量大(n!),复杂度大概是(2^n,属于NP问题,无法解决),维特比算法(Viterbi algorithm)可以将两个模块同时考虑。
(2)在(1)的基础上改进后,将机器翻译划分为三部分:
语言模型:是我们需要提前训练好的,判断这句话语义通顺的概率。
翻译模型:就是词典,键值对,类似中英字典,中法字典。你输入一个词,给你返回出翻译结果。
Decoding Algorithm:通过维特比算法将语言模型和翻译模型都考虑进来,提高了运行速率。
维特比算法(Viterbi algorithm)是一种动态规划算法。它用于寻找最有可能产生观测事件序列的维特比路径——隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中。
问答系统、情感分析、机器翻译、自动提取摘要、聊天机器人(闲聊型、任务导向型)、 信息抽取
自然语言处理技术的四个维度:
Phonetics(声音):声音放在最底层。
Morphlogy(单词):基础层,关注单词层面的技术(分词、词性标注、命名实体识别NER)
Syntax(句子结构):关系的是单词与单词之间的关系,句法分析(主谓宾)、依存分析(哪个词是修饰谁的)。
Semantic(语义):NLU,理解整个句子,属于最上层的技术。机器学习
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。