1 NLU
1.自然语言理解(Natural Language Understanding,NLU),使计算机理解自然语言(人类语言文字)等,重在理解。
2.难点:
(1)语言的多样性:语言组成没有规律,组合方式多样灵活
(2)语言的歧义性:一词多义
(3)语言中的噪声:存在多字、少字、错字、噪音等问题
(4)语言的知识依赖:依赖于先天经验和知识
(5)语言的上下⽂:不同上下文,语义各不同
3.层次结构:
(1)语音分析:要根据音位规则,从语音流中区分出一个个独立的音素,再根据音位形态规则找出音节及其对应的词素或词。
(2)词法分析:找出词汇的各个词素,从中获得语言学的信息。
(3)句法分析:对句子和短语的结构进行分析,目的是要找出词、短语等的相互关系以及各自在句中的作用。
(4)语义分析:找出词义、结构意义及其结合意义,从而确定语言所表达的真正含义或概念。
(5)语用分析:研究语言所存在的外界环境对语言使用者所产生的影响。
4.技术发展历程:
(1)基于规则的方法 :通过总结规律来判断自然语言的意图,常⻅的⽅法有:CFG、JSGF等。
- 上下文无关文法(CFG):验证字符串是否符合某个规则文法G
(2) 基于统计的方法 :对语言信息进行统计和分析,并从中挖掘出语义特征,常⻅的方法有:SVM、HMM等。
- 隐马尔科夫模型HMM
- 最大熵马尔可夫模型MEMM
- 条件随机场CRF
(3)基于深度学习的⽅法:CNN,RNN,LSTM
2 NLG
1.自然语言理解(NLG,Natural Language Generation),提供结构化的数据、文本、图表、音频、视频等,生成人类可以理解的自然语言形式的文本。
2.模式:
(1)text-to-text:文本到语言的生成
(2)data-to-text:数据到语言的生成
(3)image-to-text:图像到语言的生成
3.方式:
(1)简单的数据合并:自然语言处理的简化形式,将数据转换为文本(通过类似Excel的函数)。
(2)模板化的NLG:这种形式的NLG使用模板驱动模式来显示输出。数据动态地保持更改,并由预定义的业务规则集生成。
(3)高级NLG:这种形式的自然语言生成就像人类一样。它理解意图,添加智能,考虑上下文,并将结果以可理解的方式呈现,如一般用基于深度学习的encoder-decoder结构来实现。
4.步骤:
第一步:内容确定 - Content Determination
首先,NLG 系统需要决定哪些信息应该包含在正在构建的文本中,哪些不应该包含。通常数据中包含的信息比最终传达的信息要多。
第二步:文本结构 - Text Structuring
确定需要传达哪些信息后,NLG 系统需要合理的组织文本的顺序。例如在报道一场篮球比赛时,会优先表达「什么时间」「什么地点」「哪2支球队」,然后再表达「比赛的概况」,最后表达「比赛的结局」。
第三步:句子聚合 - Sentence Aggregation
不是每一条信息都需要一个独立的句子来表达,将多个信息合并到一个句子里表达可能会更加流畅,也更易于阅读。
第四步:语法化 – Lexicalisation
当每一句的内容确定下来后,就可以将这些信息组织成自然语言了。这个步骤会在各种信息之间加一些连接词,看起来更像是一个完整的句子。
第五步:参考表达式生成 - Referring Expression Generation|REG
这个步骤跟语法化很相似,都是选择一些单词和短语来构成一个完整的句子。不过他跟语法化的本质区别在于“REG需要识别出内容的领域,然后使用该领域(而不是其他领域)的词汇”。
第六步:语言实现 - Linguistic Realisation
最后,当所有相关的单词和短语都已经确定时,需要将它们组合起来形成一个结构良好的完整句子。
5.典型应用:
(1)应用目标:能够大规模的产生个性化内容;帮助人类洞察数据,让数据更容易理解;加速内容生产。
(2)自动写新闻(自动定稿),聊天机器人(机器客服),BI(商业智能)的解读和报告生成
(3)论文写作,摘要生成,自动作诗,新闻写作、报告生成,
3 语音交互
语音交互的流程及使用的技术如下图所示:
- 语音识别(Automatic Speech Recognition):简称ASR,是将声音转化成文字的过程,相当于耳朵。
- 自然语言处理(Natural Language Processing):简称NLP,是理解和处理文本的过程,相当于大脑。
- 语音合成(Text-To-Speech):简称TTS,是把文本转化成语音的过程,相当于嘴巴。
3.1 语音识别(ASR)
语音识别的流程是:“输入—编码—解码—输出”