自然语言处理的语义建模介绍

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 本文主要是简单介绍了自然语言处理( NLP )的语义建模思想。

          在本文中,我将简单介绍自然语言处理( NLP )的语义建模思想。

语义建模(或语义语法)通常与语言建模(或语言语法)相比较,我们现在二者的定义和对比理解语义建模。

语言与语义

语义语法和语言语法都定义了理解自然语言句子的形式。语言语法涉及名词、动词等语言范畴。另一方面,语义语法是这样一种语法,它的非终端不是名词或动词等一般结构或语言类别,而是人或公司等语义类别。

语言和语义两种方法在20世纪70年代几乎同时出现。作为计算语言运动的一部分语言建模一直备受关注,并且是整个自然语言处理开发的基础。

语义建模一开始很受欢迎,但由于技术复杂,很快就失败了。然而,近年来,语义建模经历了复兴,现在它几乎是Google、Cortana、Siri、Alexa等所有商业自然语言处理系统的基础。

理解语义语法和语言语法之间区别的最简单方法是看下面的插图:


在上图中,上下句子相同,但处理方式不同。下面的部分使用传统的语言语法进行分析,其中每个单词都用PoS (语音点)标记,如名词的NN,形容词的JJ,等等。但是,上面的部分使用语义语法进行解析,一个或多个单词形成高级语义类别,如日期或地理,而不是对单个单词进行PoS标记。

这当然是语言方法的高度简化的定义,因为我们忽略了共同参照分析、命名实体解析等。

这种将单个单词组合成高级语义实体的能力被引入来帮助解决困扰早期NLP系统的一个关键问题——语言歧义。

语言歧义

请看下图:

 

尽管两句的语言特征基本相同,但语义却完全不同。仅仅用语言语法来解决这种歧义将需要非常复杂的语境分析——如果甚至在这种语境可用的时候——而且在许多情况下,根本不可能确定地做到这一点。

另一方面,语义语法允许以简单和完全确定的方式清楚地解决这种歧义。使用构造得当的语义语法,FridayAlexy这两个词将属于不同的类别,因此不会导致含义混乱。

请注意,这些词除了具有相同的PoS标签之外,还具有不同的“命名实体”分辨率。然而,在更复杂的现实生活中,名为实体解析的例子被证明远没有那么有效。

语义语法实例

让我们来看一下语义语法的简单定义。

不管配置的具体语法如何,语法通常被定义为语义实体的集合,其中每个实体至少具有一个名称和同义词列表,通过这些名称和列表可以识别该实体。

例如,以下是网站和用户实体及其同义词的简单定义:

 

根据这种语法,以下句子将全部分解成相同的两个语义实体:

1.Website user

  2.HTTP address online user

  3.Website online user 

  4.

语义实体序列可以进一步绑定到用户定义的意图,以便最终采取行动。这种用户定义意图的集合通常构成完整的NLP流水线。

当然,现实生活中的系统支持更复杂的语法定义。同义词的定义有很多不同的方式,因为同义词本身有很多不同的类型;语义实体可以有数据类型,并且可以被组织成分层组来帮助短期记忆处理——不幸的是,所有这些都超出了这个博客所涉及的范围。你可以在这里找到这种语法支持的一个例子。

决定论与概率论

我们强调了上述语义语法方法的确定性。尽管语言和语义语法应用的具体实现可以是确定性的和概率性的,但是语义语法几乎总是导致确定性处理。

原因在于语义语法本身的性质,它基于简单的同义词匹配。正确定义的语义语法允许对语义实体进行完全确定性的搜索。根本没有“猜测”——语义实体要么被毫不含糊地找到,要么没有。

由此产生的语义语法决定论是一个惊人的品质。虽然概率方法可以在许多众所周知的场景中工作,如情感分析、支持聊天机器人或文档理解,但它根本不适合NLP / NLU驱动的业务数据报告和分析。例如,Twitter的反馈是85 %还是86 %是正面的并不重要,只要它朝着正确的方向发展。然而,另一方面,报告销售数字必须准确无误,必须与会计系统的数据精确匹配。即使像“你上一季度的总销售额是1亿美元,概率是97%”这样的高概率结果在任何情况下都是毫无价值的。

尽管语义语法有很多好处,但有一个明显的限制阻碍了它的发展(至少最初是这样),即它只能应用于狭窄的数据域。

通用与特定领域

尽管语言语法对所有数据域都是通用的(因为它处理动词和名词等通用语言结构),但语义语法及其基于同义词的匹配仅限于特定的、通常非常狭窄的数据域。原因在于,为了创建语义模型,需要拿出一个所有实体的详尽集合,最令人畏惧的是,所有同义词的集合。

对于一个特定的数据域来说,这是一项可管理的任务,并且在很大程度上得益于复杂的现实系统。对于一般的NLU来说和一般的人工智能( AGI )一样,语义建模根本不起作用。

在过去的十年中,有很多研究致力于推进具有闭环人类管理和监督式自学习能力的语义建模,但事实上,语义建模在处理特定的、定义良好的和可理解的数据域时应用得最好。

有趣的是,流行的NLP / NLU深度学习( DL )方法对于特定的数据域几乎没有足够好的效果。这是因为缺乏DL模型训练所需的足够大的预先存在的训练集。这就是传统的闭环人类管理和自学ML算法在语义建模系统中盛行的原因。

监督式自主学习

人类管理(或人类切换)和监督式自学习算法是两种相互关联的技术,有助于在开发新语义模型时,减少为语义实体提供详尽同义词集的问题。

这两项工作如下。首先创建语义模型,其中包含语义实体的基本同义词集,这可以相当快地完成。一旦使用此模型的NLP / NLU应用程序开始操作此模型无法自动“理解”的用户语句,将进入固化。在人类管理中,用户句子将被修改以适应模型,并且自学习算法将“学习”该修改,并且下次将自动执行该修改,而不需要人工切换。

在此过程中有两个关键属性: 

· 人类活动改变了用户输入,以适应现有的语义模型,也就是说,改变了用户句子,使其可以自动回答。通常,它包括纠正拼写错误、口语化、俚语、删除停止词或添加缺少的上下文。

· 用户句子中的这种变化(即固化)被输入到自学习算法中,以便将来“记住”。因为这种改变最初是由一个人执行的,这个人使这种自学习成为一个有监督的过程,并消除了累积学习错误的引入。

在所有这些中,重要的是监督允许在语义建模“进一步学习”时保持语义建模的确定性。语义模型通过监控和有监督的自我学习,在每次监控中学习更多,最终可以比开始时学到更多的知识。因此,这个模型可以从小处开始,通过人的交互来学习——这个过程和许多现代人工智能应用程序没有什么不同。

  数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

以上为译文。

本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Introduction Into Semantic Modeling for Natural Language Processing》,译者:Mags,审校:袁虎。

文章为简译,更为详细的内容,请查看 

相关文章
|
数据采集 自然语言处理 算法
如何使用Python的Gensim库进行自然语言处理和主题建模?
使用Gensim库进行Python自然语言处理和主题建模,包括:1) 安装Gensim;2) 导入`corpora`, `models`, `nltk`等相关模块;3) 对文本数据进行预处理,如分词和去除停用词;4) 创建字典和语料库;5) 使用LDA算法训练模型;6) 查看每个主题的主要关键词。代码示例展示了从数据预处理到主题提取的完整流程。
340 3
|
数据采集 自然语言处理 算法
如何使用Python的Gensim库进行自然语言处理和主题建模?
使用Gensim库进行自然语言处理和主题建模,首先通过`pip install gensim`安装库,然后导入`corpora`, `models`等模块。对数据进行预处理,包括分词和去除停用词。接着,创建字典和语料库,使用`Dictionary`和`doc2bow`。之后,应用LDA算法训练模型,设置主题数量并创建`LdaModel`。最后,打印每个主题的主要关键词。可以根据需求调整参数和选择不同算法。
217 0
|
7月前
|
文字识别 自然语言处理 API
如何结合NLP(自然语言处理)技术提升OCR系统的语义理解和上下文感知能力?
通过结合NLP技术,提升OCR系统的语义理解和上下文感知能力。方法包括集成NLP模块、文本预处理、语义特征提取、上下文推理及引入领域知识库。代码示例展示了如何使用Tesseract进行OCR识别,并通过BERT模型进行语义理解和纠错,最终提高文本识别的准确性。相关API如医疗电子发票验真、车险保单识别等可进一步增强应用效果。
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理中的语义理解技术
自然语言处理中的语义理解技术
700 0
|
自然语言处理 监控 机器人
自然语言处理中的语义理解和生成技术
【8月更文第18天】自然语言处理(NLP)是计算机科学的一个重要分支,其目标是使计算机能够理解、解析和生成人类语言。近年来,基于Transformer架构的预训练模型(如BERT、GPT系列)已经极大地推动了NLP的发展。本文将探讨这些模型在对话系统、文本生成、情感分析等领域的应用,并讨论相关技术挑战。
673 1
|
机器学习/深度学习 自然语言处理
利用词嵌入和语义表示技术来提高自然语言处理任务的性能
利用词嵌入和语义表示技术来提高自然语言处理任务的性能
|
机器学习/深度学习 自然语言处理 算法
什么是自然语言处理的语义理解?
【4月更文挑战第8天】
443 2
什么是自然语言处理的语义理解?
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在智能语音助手中的自然语言处理与语义理解
人工智能在智能语音助手中的自然语言处理与语义理解
|
机器学习/深度学习 人工智能 自然语言处理
AI与自然语言处理:情感分析与语义理解
本文将探讨人工智能(AI)在自然语言处理(NLP)中的重要应用领域,即情感分析和语义理解。我们将介绍情感分析的基本概念,以及如何使用机器学习算法来识别和分类文本中的情感倾向。此外,我们还将讨论语义理解的技术和方法,包括词嵌入和语义角色标注。最后,我们将提供一个实例代码,演示如何使用Python和自然语言处理库来实现情感分析和语义理解。
699 0
|
人工智能 自然语言处理 算法
NLP比赛-小布助手对话短文本语义匹配
NLP比赛-小布助手对话短文本语义匹配
380 0
NLP比赛-小布助手对话短文本语义匹配