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

简介: 本文主要是简单介绍了自然语言处理( NLP )的语义建模思想。

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

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

语言与语义

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

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

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

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

8785707c1abedb6980994c40ac71b99b4b81b26c

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

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

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

语言歧义

请看下图:

8fb48e69ce03d103546067ed583d767950e56439 

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

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

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

语义语法实例

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

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

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

40afbf4736c827ec941a9d7ebecfd5c9b0c37b48 

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

1.Website user

  2.HTTP address online user

  3.Website online user 

  4.<WEBSITE> <USER>

语义实体序列可以进一步绑定到用户定义的意图,以便最终采取行动。这种用户定义意图的集合通常构成完整的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,审校:袁虎。

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

相关文章
|
1月前
|
数据采集 自然语言处理 算法
如何使用Python的Gensim库进行自然语言处理和主题建模?
使用Gensim库进行自然语言处理和主题建模,首先通过`pip install gensim`安装库,然后导入`corpora`, `models`等模块。对数据进行预处理,包括分词和去除停用词。接着,创建字典和语料库,使用`Dictionary`和`doc2bow`。之后,应用LDA算法训练模型,设置主题数量并创建`LdaModel`。最后,打印每个主题的主要关键词。可以根据需求调整参数和选择不同算法。
26 0
|
机器学习/深度学习 自然语言处理 数据挖掘
【资源】用深度学习解决自然语言处理中的7大问题,文本分类、语言建模、机器翻译等
本文讲的是用深度学习解决自然语言处理中的7大问题,文本分类、语言建模、机器翻译等,自然语言处理领域正在从统计学方法转向神经网络方法。在自然语言中,仍然存在许多具有挑战性的问题。但是,深度学习方法在某些特定的语言问题上取得了state-of-the-art的结果。
5275 0
|
1月前
|
机器学习/深度学习 自然语言处理 监控
利用深度学习技术实现自然语言处理中的情感分析
本文将深入探讨如何利用深度学习技术在自然语言处理领域中实现情感分析。通过介绍情感分析的背景和原理,结合深度学习模型如LSTM、BERT等的应用,帮助读者了解情感分析的重要性以及如何利用最新技术实现更准确的情感识别。
|
1月前
|
机器学习/深度学习 自然语言处理 算法
探索机器学习中的自然语言处理技术
【2月更文挑战第16天】 在数字化和智能化的浪潮中,自然语言处理(NLP)技术已成为连接人类与机器沟通的重要桥梁。本文深入探讨了机器学习在自然语言处理中的应用,包括最新的模型架构、算法优化技巧及实际场景中的挑战和解决方案。通过逻辑严密的分析,我们将揭示如何有效利用机器学习提升NLP系统的性能,同时对未来发展趋势进行预测。
23 0
|
1月前
|
机器学习/深度学习 自然语言处理 监控
利用深度学习技术实现自然语言处理中的情感分析
本文将深入探讨如何利用深度学习技术,特别是神经网络模型,来实现自然语言处理领域中的情感分析任务。通过结合深度学习算法和大规模文本数据集,可以实现更准确和高效的情感分析,为情感识别和情感推断提供更好的解决方案。
|
1月前
|
机器学习/深度学习 自然语言处理
自然语言处理技术(NLP)
自然语言处理技术(NLP)
40 1
|
2月前
|
自然语言处理
举例说明自然语言处理(NLP)技术
举例说明自然语言处理(NLP)技术
18 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
springboot基于人工智能和自然语言理解技术的医院智能导医系统源码
智能导诊系统可为患者提供线上挂号智能辅助服务,患者根据提示手动输入自己的基本症状,通过智能对话方式,该系统会依据大数据一步步帮助患者“诊断”,并最终推荐就医的科室和相关专家。患者可自主选择,实现“一键挂号”。这一模式将精确的导诊服务前置,从源头上让医疗服务更高效。
371 2
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【2月更文挑战第31天】 随着人工智能的飞速发展,自然语言处理(NLP)技术在机器学习领域扮演着越来越重要的角色。本文旨在深入探讨NLP的关键技术,包括语言模型、词嵌入和深度学习方法,并分析这些技术如何相互协作,以实现更高效的文本分析和理解。通过案例研究和最新研究成果的介绍,我们展示了NLP在实际应用中的强大潜力,以及它如何推动人机交互和信息检索系统的革新。
21 0
|
3月前
|
机器学习/深度学习 自然语言处理 数据可视化
NLP:预测新闻类别 - 自然语言处理中嵌入技术
NLP:预测新闻类别 - 自然语言处理中嵌入技术
61 0