【立委科普:如何自动区分同一批词表达的不同意义?】

这是上一篇自然语言理解(NLU)博客【如何自动识别同一个意思千变万化的表达】的姐妹篇。看上去似乎是同一个语言理解问题的两面,但实际上这个问题在自然语言领域的产生,很大程度上是因为一袋子词(bag of words)方法的流行引发的。此话怎讲?

本来,同一批词表达不同的意义是自然语言作为人类表达手段的题中应有之意。举个简单至极的例子:张三,李四,爱。是张三爱李四呢,还是李四爱张三呢?同一批词显然可以表达不同的意思。再如,用 “好”、“喝”、“酒” 造句,结果发现六种排列组合都是地道的汉语,表达了不同的意义:

好喝酒: love drinking alcohol
好酒喝: good alcohol to drink
酒好喝: the alcohol tastes good for drcinking
酒喝好: drink your alcohol to your satisfaction
喝好酒: drink good alcohol
喝酒好: drinking alcohol is good

好 (good/love/verymuch)、喝酒(分离词),两个词,三个字,四个义项,各种纠缠,不同语义。

大而言之,人类语言的词汇是相当有限的,表达日常用语99%+ 的词汇不过在万这个量级,而利用这些词来表达的不同意义是无限的。这种有限材料表达无限语义的本事就是所谓语言能力,这种能力的核心机制早已不再是谜,就是大大小小的文法(grammar)规则。自然语言深度分析(deep parsing)和理解,乃是利用词汇和文法去解析(decoding)语句的语义,区分不同意义蕴含在语义解析之内。主流机器学习的路线与传统的符号逻辑路线(又叫规则路线)的不同之处在于对词汇和文法资源的利用不同。前者最流行的一袋子词的模型利用了词汇,其对文法规则的模拟靠的则是粗鄙简陋的ngram近似(譬如,bigram 的“I love” 间接反映了主谓规则,“love you”则模型了动宾规则)。正因为主流的近似方法对于语言结构的模型太过粗鄙简陋,这才导致了不少主流系统难以区分“同一批词表达的不同意义”,这是所有一袋子词为基础的模型的命门。而这个问题在符号逻辑路线的 deep parsing 这边,从一开始就是直接的目标,一切 deep parsing 规则的建立都是直接模型人的语言理解过程。换句话说,主流的一袋子词技术虽然可以对文本的粗线条分类有效果,但面对同一批词的不同意义却容易捉襟见肘。而传统的规则路线利用 deep parsing,在这个问题面前显示了核弹般的威力。

好,我们撇开没有语言结构的一袋子词模型来看这事儿,问题于是简化为自然语言的经典问题:如何自动消歧?在讨论自然语言歧义的时候,我们总是预设的是同一批词或同一个词(某些消歧在中国老一辈NLPers,我的导师辈中因此也叫“同形区分”),因为不同词及其组合的意义不同是天然的,没有消歧的问题。

消歧的话题以前陆续谈过很多,大体的要点总结如下:

1.  同一种表达可能产生歧义是自然语言区别于计算机语言的重要特点,也是自然语言分析理解的难点所在。

2. 自然语言歧义一般分为两大类,所谓表达的多义就是这两类歧义的交织。一类是用词的多义(WSD,word sense disambiguation),一类是结构歧义(典型的结构歧义包括所谓 PP-attachement,譬如英语文句中的宾语后面的介词短语既可能是宾语的定语,也可能是谓语的状语)。

3. 结构歧义不难识别(identify),但消歧却不易,有时需要动用语言外知识,包括常识等。

4. 比较成熟的结构歧义的应对方法包括:(i)parser 通过 enriched subcat 的手段, 把某些关键的常识及其ontology暗度陈仓引进,在parsing过程中消歧; (ii)parser 只识别歧义,输出非限定性结构(non-deterministic structures),消歧留待语义中间件模块,甚或等到领域的语义落地模块再进行(很多时候这个消歧任务自行消解,没必要进行,因为歧义空间不在语义落地的聚焦雷达上);(iii)parser 采取默认路径,歧义的可能先行休眠,让词驱动的encoding埋下种子,等到后面的模块在一定的条件下唤醒。

5. 词汇消歧 WSD 是 NLU 的一个难点,但好在它总体上不影响 parsing,建议不在 parsing 和语义中间件时期做,可以留到语义落地的阶段,这样处理的好处是绝大多数 WSD 都不需要做功,因为他们不在语义落地的聚焦雷达上。

6. 留在聚焦雷达上的 WSD 任务,往往可以与语义落地手段融合起来同时解决,这个 practice 至少对信息抽取的语义落地有效。

累了,也差不多扯完了。年底了,觉得有文债似的,自己跟自己过不去,赶着跑着写这些劳什子,既充不了论文,也评不了教授。人真是奇怪的动物,骨子里都有雷锋的基因。Happy reading,不枉我辛苦码字。

 

【相关】

【立委科普:如何自动识别同一个意思千变万化的表达?】

《泥沙龙笔记:parsing 的休眠反悔机制》 

【立委科普:歧义parsing的休眠唤醒机制初探】 

立委科普:歧义parsing的休眠唤醒机制再探

泥沙龙笔记:NLP hard 的歧义突破

【立委科普:NLP核武器的奥秘】

【立委科普:语法结构树之美】

【立委科普:语法结构树之美(之二)】

NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈

中文处理

Parsing

【置顶:立委NLP博文一览】

《朝华午拾》总目录

 

发布者

liweinlp

立委博士,计算语言学家,多语言多领域自然语言处理(NLP)资深架构师。前弘玑首席科学家,聚焦RPA+AI的NLP低代码多领域落地,设计NLP核心引擎雕龙,落地多领域场景,包括金融、电力、航空、水利、客服等。前讯飞AI研究院副院长,研发支持对话的多语言平台,前京东主任科学家, 主攻深度解析和知识图谱及其应用。Netbase前首席科学家,期间指挥研发了18种语言的理解和应用系统。特别是汉语和英语,具有世界一流的解析(parsing)精度,并且做到鲁棒、线速,scale up to 大数据,语义落地到数据挖掘和问答产品。Cymfony前研发副总,曾荣获第一届问答系统第一名(TREC-8 QA Track),并赢得17个小企业创新研究的信息抽取项目(PI for 17 SBIRs)。立委NLP工作的应用方向包括大数据舆情挖掘、客户情报、信息抽取、知识图谱、问答系统、智能助理、语义搜索等等。

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据