在本文中,我将简单介绍自然语言处理( NLP )的语义建模思想。
语义建模(或语义语法)通常与语言建模(或语言语法)相比较,我们现在从二者的定义和对比来理解语义建模。
语言与语义
语义语法和语言语法都定义了理解自然语言句子的形式。语言语法涉及名词、动词等语言范畴。另一方面,语义语法是这样一种语法,它的非终端不是名词或动词等一般结构或语言类别,而是人或公司等语义类别。
语言和语义两种方法在20
语义建模一开始很受欢迎,但由于技术复杂,很快就失败了。然而,近年来,语义建模经历了复兴,现在它几乎是Google
理解语义语法和语言语法之间区别的最简单方法是看下面的插图:
在上图中,上下句子相同,但处理方式不同。下面的部分使用传统的语言语法进行分析,其中每个单词都用PoS (语音点)标记,如名词的NN,形容词的JJ,等等。但是,上面的部分使用语义语法进行解析,一个或多个单词形成高级语义类别,如日期或地理,而不是对单个单词进行PoS标记。
这当然是语言方法的高度简化的定义,因为我们忽略了共同参照分析、命名实体解析等。
这种将单个单词组合成高级语义实体的能力被引入来帮助解决困扰早期NLP
语言歧义
请看下图:
另一方面,语义语法允许以简单和完全确定的方式清楚地解决这种歧义。使用构造得当的语义语法,Friday和Alexy这两个词将属于不同的类别,因此不会导致含义混乱。
语义语法实例
让我们来看一下语义语法的简单定义。
不管配置的具体语法如何,语法通常被定义为语义实体的集合,其中每个实体至少具有一个名称和同义词列表,通过这些名称和列表可以识别该实体。
例如,以下是网站和用户实体及其同义词的简单定义:
根据这种语法,以下句子将全部分解成相同的两个语义实体:
1.Website user
决定论与概率论
我们强调了上述语义语法方法的确定性。尽管语言和语义语法应用的具体实现可以是确定性的和概率性的,但是语义语法几乎总是导致确定性处理。
由此产生的语义语法决定论是一个惊人的品质。虽然概率方法可以在许多众所周知的场景中工作,如情感分析、支持聊天机器人或文档理解,但它根本不适合NLP / NLU驱动的业务数据报告和分析。例如,Twitter
尽管语义语法有很多好处,但有一个明显的限制阻碍了它的发展(至少最初是这样),即它只能应用于狭窄的数据域。
通用与特定领域
尽管语言语法对所有数据域都是通用的(因为它处理动词和名词等通用语言结构),但语义语法及其基于同义词的匹配仅限于特定的、通常非常狭窄的数据域。原因在于,为了创建语义模型,需要拿出一个所有实体的详尽集合,最令人畏惧的是,所有同义词的集合。
对于一个特定的数据域
在过去的十年中,有很多研究致力于推进具有闭环人类管理和监督式自学习能力的语义建模,但事实上,语义建模在处理特定的、定义良好的和可理解的数据域时应用得最好。
有趣的是,流行的NLP / NLU深度学习( DL )方法对于特定的数据域几乎没有足够好的效果。这是因为缺乏DL模型训练所需的足够大的预先存在的训练集。这就是传统的闭环人类管理和自学ML算法在语义建模系统中盛行的原因。
监督式自主学习
人类管理(或人类切换)和监督式自学习算法是两种相互关联的技术,有助于在开发新语义模型时,减少为语义实体提供详尽同义词集的问题。
这两项工作如下。首先创建语义模型,其中包含语义实体的基本同义词集,这可以相当快地完成。一旦使用此模型的NLP / NLU
在此过程中有两个关键属性:
· 人类活动改变了用户输入,以适应现有的语义模型,也就是说,改变了用户句子,使其可以自动回答。通常,它包括纠正拼写错误、口语化、俚语、删除停止词或添加缺少的上下文。
·Â
文章为简译,更为详细的内容,请查看原文。