自然语言理解以语言学为基础,融合逻辑学、计算机科学等学科,通过对语法、语义、语用的分析,获取自然语言的语义表示。
自然语言理解技术概述-开课吧
1.基于规则的方法
指利用规则定义如何如何从文本中提取语义。大致思路是人工定义很多语法规则,它们是表达某种特定语义的具体方式,然后自然语言理解模块根据这些规则解析输入该模块的文本。
优点:灵活,可以定义各种各样的规则,而且不依赖训练数据;
缺点:需要大量的、覆盖不同场景的规则,且随着规则数量的增长,对规则进行人工维护的难度也会增加。
结论:只适合用在相对简单的场景,其优势在于可以快速实现一个简单可用的语义理解模块。
2.基于统计的方法
通常使用大量的数据训练模型,并使用训练所得的模型执行各种上层语义任务。
优点:数据驱动且健壮性较好;
缺点:训练数据难以获得且模型难以解释和调参;
通常使用数据驱动的方法解决分类和序列标注方法。
输入:句子的文本特征
没有数据及数据较少时先采取基于规则的方法,当数据积累到一定规模时转为使用基于统计的方法。
在一些基于统计的方法可以覆盖绝大多数场景,在一些其覆盖不到的场景中使用基于规则的方法兜底,以此来保证自然语言理解的效果。
4.应用
意图识别
实质:分类问题
输入:句子的文本特征
输出:句子文本特征所属的意图分类
算法:SVM、AdaBoost算法等
实体抽取
实质:序列标注
输入:句子的文本特征
输出:每个词或每个字属于实体的概率
算法:隐马尔可夫模型(hiddenMarkovmodel,HMM),条件随机场(conditionalrandomfield,CRF)
注:当数据量足够大时,使用基于神经网络的深度学习方法处理意图识别和实体抽取任务可以取得更好的效果。
转载请注明:http://www.0431gb208.com/sjslczl/2000.html