《自然语言处理NaturalLanguageProcessing(NLP)》由会员分享,可在线阅读,更多相关《自然语言处理NaturalLanguageProcessing(NLP)(119页珍藏版)》请在金锄头文库上搜索。
1、自然语言处理NaturalLanguageProcessing(NLP)陈家骏,戴新宇主要内容(1)p自然语言处理概述n什么是自然语言处理n自然语言处理的典型应用n自然语言处理的基本任务n自然语言处理的基本策略和实现方法n自然语言处理的难点n自然语言处理所涉及的学科 (http:/ (IBM Model等)n.(基于神经网络的深度学习方法)主要内容(3)所需的前导知识p编译技术p概率与统计p.参考书籍p刘群等译,自然语言理解(第二版)自然语言理解(第二版),电子工业出版社,2005p苑春法等译,统计自然语言处理基础统计自然语言处理基础,电子工业出版社,2005p冯志伟等译,自然语言处理综论自然
2、语言处理综论,电子工业出版社,2005p宗成庆,统计自然语言处理统计自然语言处理,清华大学出版社,2008p黄昌宁等,语料库语言学语料库语言学,商务印书馆,2002p冯志伟,计算语言学基础计算语言学基础,商务印书馆,2001p余士文,计算语言学概论计算语言学概论,商务印书馆,2003p姚天顺,自然语言理解一种让机器懂得人类语言的研究(第自然语言理解一种让机器懂得人类语言的研究(第2版)版),清华大学出版社,2002p赵铁军等,机器翻译原理机器翻译原理,哈尔滨工业大学出版社,2000p宗成庆等译,统计机器翻译统计机器翻译,电子工业出版社,2012课程考核p提交一个与本人研究方向相关的自然语言技术
3、应用报告。p期末笔试。 自然语言处理概述什么是自然语言处理p充分利用信息将会给人们带来巨大的收益,而大量的信息以自然语言自然语言(英语、汉语等)形式存在。p如何有效地有效地获取和利用以自然语言形式自然语言形式出现的信息?n自然语言处理自然语言处理(Natural Language Processing,简称NLP)是指用计算机对自然语言信息进行处理的理论、方法和技术。p与NLP相近的两个研究领域:n自然语言理解自然语言理解(Natural Language Understanding, NLU):强调对语言含义和意图的深层次解释。n计算语言学计算语言学(Computational Lingui
4、stics, CL):强调可计算的语言理论。NLP技术的典型应用p机器翻译p自动摘要p文本分类与信息过滤p信息检索p自动问答p情感分析p信息抽取p.机器翻译(MachineTranslation)p机器翻译(Machine Translation,简称MT)是指利用计算机实现自然语言之间的自动自动翻译。n是最早的计算机应用之一n分为:文本机器翻译和语音机器翻译p机器辅助辅助翻译(Machine Aided Translation或Computer Aided Translation,简称MAT或CAT)n翻译记忆体(Translation Memory,简称TM)n双语对照的译后编辑n.自动摘
5、要(TextSummarization)p利用计算机自动地从原始文档中提取全面、准确地反映该文档中心内容的简洁、连贯的短文。n分为单文档摘要和多文档摘要n应对信息过载文本分类(TextClassification)p将一篇文档归于预先给定的一个类别集合中的某一类或某几类。可用于:n新闻、出版物等的分类n网页分类n信息过滤(黄色网页、垃圾邮件等)n推荐系统n.信息检索(InformationRetrieval,IR)p基于关键词,从某文档集合中检索出相关的文档。n谷歌搜索、百度搜索、. n主题相关的文本获取。自动问答(QuestionAnswering,QA)p针对用户提出的问题,给出具体的答案
6、。nApple的Siri、IBM的Watson机器人、百度的“知道”、各种问答机器人、 n提高信息获取的效率情感分析(SentimentAnalysis或OpinionAnalysis)p分析文章(评论)对某个对象(社会热点事件、产品或者服务)的态度(正面还是负面)。可用于:n政府舆情分析:热点事件发现和预警n企业市场决策:产品意见调查n消费者购买决策n.信息抽取(InformationExtraction,IE)p从非结构化或半结构化的自然语言文本中提取出与某主题相关的结构化信息。n主题相关的信息(包括实体、实体关系、事件等)获取。(信息检索是主题相关的文档获取)n对自动问答、情感分析、数据
7、挖掘(文本挖掘)等提供支持。新华社北京月日电(记者李术峰): 中国农工民主党第十二届中央常务委员会第一次会议今天在北京召开。会议研究通过了贯彻落实“两会”精神的有关决定,审议通过了中国农工民主党中央年工作要点(草案),并任命了中央副秘书长。农工民主党中央主席蒋正华主持了会议,他说,农工民主党有多名党员作为代表和委员参加了今年的“两会”,各位党员要认真履行代表和委员的职责,开好会,在年的工作中认真贯彻“两会”精神,加强农工民主党的自身建设,推动事业进一步发展,为建设有中国特色社会主义事业作出新的贡献。会前,农工民主党中央邀请参加“两会”的来自全国各省、自治区、直辖市的农工民主党党员进行了联谊活动
8、。信息抽取实例信息抽取实例:会议报道(人民日报1998-03-09)信息抽取的结果会 议 时 间 Time年3月8日会 议 地 点 Spot北京会议召集者/主持人Convener个人姓名/团体名称Name蒋正华机构、职位 Org/Post主席,农工民主党中央会议名/标题Conf-Title 中国农工民主党第十二届中央常务委员会第一次会议 .只要处理对象涉及自然语言的都需要NLP!自然语言处理的基本任务p语言分析:分析语言表达的结构和含义n词法分析:形态还原、词性标注、命名实体(人名、地名、机构名)识别、分词(汉语、日语等)等n句法分析:确定句子的组成形式(组块分析、结构分析、依存分析)n语义分
9、析:确定语言表达的含义或意义,包括词义、句义、篇章(上下文)语义(指代、实体关系、.)p语言生成:从某种内部表示生成语言表达n词、句子、篇章的生成p多语言处理(机器翻译、跨语言检索):语言之间的对应、转换p不同的应用对上述任务有不同的要求。自然语言处理的实现方法p基于知识工程的理性方法(Rationalist approach)n以规则形式表达语言知识。n基于规则进行符号推理,从而实现语言信息处理。n强调人对语言知识的理性整理(受Chomsky主张的人具有先天语言能力观点的影响,主宰19601985)。p基于数据的经验方法(Empiricist approach)n以大规模语料库为语言知识基础
10、。n利用统计学习和基于神经网络的深度学习方法自动获取隐含在语料库中的知识,学习到的知识体现为一系列模型参数。 (训练)n基于学习到的参数和相应的模型进行语言信息处理。p混合方法n理性方法的优、缺点p相应的语言学理论基础好p语言知识描述精确p处理效率高(确定性推理)p知识获取困难(需要专业人员,高级劳动)p系统鲁棒性差:不完备的规则系统将导致推理的失败p知识扩充困难,并且很难保证规则之间的一致性n经验方法的优、缺点p知识获取容易(低级劳动)p系统鲁棒性好(概率大的作为结果)p知识扩充容易、一致性容易维护p相应的语言学理论基础差(可解释性差)p缺乏对语言学知识的深入描述和利用,过于机械p处理效率低
11、(大数据、高维度计算)n利用各家之长,相互融合?自然语言的分类(基于形态结构)p屈折型语言n有词形变化n词的语法意义(功能)由词的形态变化来表示n如:英语p分析型语言n没有或很少有词形变化n没有表示词的语法功能的附加成分,由词序和虚词表示词之间的语法关系n如:汉语p黏着型语言n有词形变化n词的语法意义由附加成分表达n如:日语p另外,语言还可以按“主谓宾”在句子中的位置进行分类:nSVO型(主-动-宾)nVSO型(动-主-宾)nSOV型(主-宾-动)自然语言处理的难点p歧义处理n自然语言充满了大量的歧义(为什么?)n有限的词汇和规则表达复杂、多样的对象p语言知识的表示、获取和运用p成语和惯用型的
12、处理p对语言的灵活性和动态性的处理n灵活性:同一个意图的不同表达,甚至包含错误的语法等n动态性:语言在不断的变化,如:新词等p对常识等与语言无关的知识的利用和处理汉语处理的难点p缺乏计算语言学的句法/语义理论,大都借用基于西方语言的句法/语义理论p资源(语料库)缺乏p词法分析n分词(词之间没有分隔符)n词性标注难(没有词形变化)p句法分析n主动词识别难(特别对于流水句)n词法分类与句法功能对应差(例如:他喜欢走)p语义分析n句法结构与句义对应差(例如:老头晒太阳)n时体态确定难 (无形态变化)自然语言处理所涉及的学科p语言学:各种语法、语义理论p计算机科学(包括人工智能)p数学:逻辑、概率与统
13、计、信息论等p哲学(认知学)p心理学p. 基于规则的自然语言处理方法 (理性方法,传统方法)概述p以规则形式表达语言知识。p基于规则进行符号推理,从而实现语言信息处理。p强调人对语言知识的理性整理(知识工程)。p受计算语言学理论指导。p语言处理规则作为数据,它与程序分离,程序体现为规则语言的解释器。词法分析p形态还原(针对英语、德语、法语等)n把句子中的词还原成它们的基本词形(原形)。p词性标注n为句子中的词标上预定义类别集合中的类。p命名实体识别n识别出句子中的人名、地名、机构名等。p分词(针对汉语、日语等)n识别出句子中的词。形态还原(英语)p把句子中的词还原成原形,作为词的其它信息(词典
14、、个性规则)的索引。p构词特点n屈折变化:词尾和词形变化,词性不变。如:pstudy, studied,studied,studyingpspeak,spoke,spoken,speakingn派生变化:加前缀和后缀,词性发生变化。如:pfriend,friendly,friendship,.n复合变化:多个单词以某种方式组合成一个词。p还原规则n通用规则:变化有规律n个性规则:变化无规律形态还原规则举例p英语“规则动词”还原n*s - * (SINGULAR3)n*es - * (SINGULAR3)n*ies - *y (SINGULAR3)n*ing - * (VING)n*ing -
15、*e (VING)n*ying - *ie (VING)n*?ing - *? (VING)n*ed - * (PAST)(VEN)n*ed - *e (PAST)(VEN)n*ied - *y (PAST)(VEN)n*?ed - *? (PAST)(VEN)p英语不规则动词还原nwent - go (PAST)ngone - go (VEN)nsat - sit (PAST) (VEN)形态还原算法1.输入一个单词2.如果词典里有该词,输出该词及其属性,转4;否则,转33.如果有该词的还原规则,并且,词典里有还原后的词,则输出还原后的词及其属性,转4;否则,调用4.如果输入中还有单词,转1
16、;否则,结束。练习 1. 实现一个英语单词还原工具。(词典:http:/ class)nNounsp句法上:可作物主、可有限定词、有复数形式p语义上:人名、地名和物名等nVerbsp句法上:作谓语、有几种词形变化p语义上:动作、过程(一系列动作)nAdjectivesp句法上:修饰Nouns等p语义上:性质nAdverbsp句法上:修饰Verbs等p语义上:方向、程度、方式、时间p封闭类(closed class,function words)nDeterminersnPronounsnPrepositionsnConjunctionsnAuxiliary verbsnParticles(if
17、、not、.)nNumeralsp兼类词n一个词具有两个或者两个以上的词性n英文的Brown语料库中,10.4%的词是兼类词。例如:pThe back doorpOn my backpPromise to back the billn汉语兼类词,例如:p把门锁上, 买了一把锁p他研究., 他的研究工作.n由于缺少词形变化,汉语的兼类词更多!p分类是应对复杂现象的一个手段,但也带来问题!词性标注方法p词典和规则提供候选词性p消歧规则进行消歧汉语分词(切分)p词是语言中最小的能独立运用的单位,也是语言信息处理的基本单位。p分词是指根据某个分词规范,把一个“字”串划分成“词”串。n问题:难以确定什么
18、是汉语的“词”p单字词与语素的界定:猪肉、牛肉p词与短语(词组)的界定:黑布、黑板、黑户n信息处理用现代汉语分词规范:GB-13715(1992)n具体应用系统可根据各自的需求制定规范切分歧义p交集型歧义nABC切分成AB/C或A/BCn如:“和平等”p“独立/自主/和/平等/独立/的/原则”p“讨论/战争/与/和平/等/问题”p组合型歧义nAB切分成AB或A/Bn如:“马上”p“他/骑/在/马/上”p“马上/过来”p混合型歧义n由交集型歧义和组合型歧义嵌套与交叉而成n如:“得到达”(交集型、组合型)p“我/今晚/得/到达/南京” p“我/得到/达克宁/了 ” p“我/得/到/达克宁/公司/去
19、”南京市长江大桥.南京市长江二桥.p伪歧义与真歧义n伪歧义字段指在任何情况下只有一种切分p“挨批评”只有一种切分p根据歧义字段本身就能消歧n真歧义字段指在不同的情况下有多种切分p“从小学”可以有多种切分:“从小/学” ,如:“从小/学/电脑” (“从小”是切分成“从小”还是“从/小”要根据分词规范!)“从/小学”,如:“他/从/小学/毕业/后”p根据歧义字段的上下文来消歧分词方法一般通过分词词典和分词规则库进行分词。主要方法有:p正向最大匹配(FMM)或逆向最大匹配(RMM)n从左至右(FMM)或从右至左(RMM),取最长的词p双向最大匹配(能发现交集型歧义)n分别采用FMM和RMM进行分词n
20、如果结果一致,则认为成功;否则,采用消歧规则进行消歧。n例如:“幼儿园 地 节目”和“幼儿 园地 节目”p正向最大、逆向最小匹配(发现组合型歧义)n正向采用FMM,逆向采用最短词。n例如:“他/骑/在/马上”和“他/骑/在/马/上”p逐词遍历匹配n在全句中取最长的词,去掉之,对剩下字符串重复该过程 p设立切分标记n收集词首字和词尾字,把句子分成较小单位,再用某些方法切分 p全切分n获得所有可能的切分,选择最大可能的切分基于规则的歧义字段消歧方法p利用歧义字串、前驱字串和后继字串的句法、语义和语用信息:n句法信息p“阵风”:根据前面是否有数词来消歧。“一/阵/风/吹/过/来”、“今天/有/阵风”
21、n语义信息p“了解”:“他/学会/了/解/数学/难题”(“难题”一般是“解”而不是“了解”,另外,还有“学会”)n语用信息p“拍卖”:“乒乓球拍卖完了”,要根据场景(上下文)来确定p规则的粒度n基于具体的词(个性规则)n基于词类、词义类(共性规则)练习 2. 实现一个基于词典与规则的汉语自动分词系统。(词典:http:/ ate the catsubobjmod句法分析-组成分分析(由于依存分析结果可以从组成分分析结果自动转换得到,这里只介绍组成分方法)p句法分析的目的n判断句子的合法性(句子识别)n确定句子的结构(句子中单词相互关联的方式)p基于上下文无关语法(CFG)的句法分析nCFG能描
22、述大部分的自然语言结构n可以构造高效的基于CFG的句法分析器p通常采用树形结构来表示句法分析的结果语法的选择p通用性n能识别正确的句子p选择性n能区分错误的句子p可理解性n语法不宜太复杂p*鲁棒性n对不合法句子的容忍度(通用性):He love her.n通用性与选择性矛盾的处置,如:忽略主谓一致性检查将导致无法区分下面句子的不同含义(歧义)pFlying planes are(be) dangerous.pFlying planes is(be) dangerous.一个简单的基于CFG的英语语法1. S - NP VP2. VP - V NP3. NP - NAME4. NP - ART
23、N5. NAME - John6. V - ate7. ART - the8. N - cat9. .p产生式59属于词法规则,一般由词典、词形还原以及词性标注算法来描述 。p产生式14属于句法规则。基于CFG的分析器p自顶向下n利用产生式,从S开始,尝试将S改写/推导成与输入句子相匹配的终结符号序列。p自底向上n利用产生式,尝试将输入句子与产生式右部进行匹配,最后规约到S。p回溯n在改写或规约的某一步可能有多个产生式供选择。n从一个错误的尝试(改写或规约)返回,进行下一个尝试。p保留改写或规约的历史n回溯需要n输出正确的分析结果也需要一个简单的自顶向下句法分析算法p语法n1. S - NP
24、VP 2. NP - ART N 3. NP - ART ADJ Nn4. VP - V 5. VP - V NPp位置计数器n1 The 2 dogs 3 cried 4p状态n由符号表和当前位置构成,如:(NP VP) 1) 表示从位置1开始寻找NP,且NP后面是VP。初始状态为: (S) 1)n分为当前状态和后备状态。p状态转换n当前状态的符号表的第一个符号是词法符号(词性),并且句子中当前词属于该词性,则删除符号表中第一个符号,并更新当前位置(加1),得到新的当前状态。n当前状态的符号表的第一个符号是句法符号,则依据语法获得所有以该符号为左部的产生式,用它们的右部替换符号表中的该符号,
25、从而得到一批新的状态,选择其中一个作为新的当前状态,其它作为后备状态。p回溯n从后备状态中取一个作为当前状态,继续分析。p算法1. 取 (S) 1)作为当前状态当前状态(初始状态),后备状态后备状态为空。2. 若当前状态为空,则失败,算法结束,3. 否则,若当前状态的符号表为空,(1)位置计数器值处于句子末尾,则成功,算法结束(2)位置计数器值处于句子中间,转54. 否则,进行状态转换状态转换,若转换成功,则转25. 否则,回溯回溯,转2。步骤步骤当前状态当前状态后备状态后备状态备注备注1(S) 1)初始状态2(NP VP) 1)规则1改写3(ART N VP) 1)(ART ADJ N VP
26、) 1)规则2、3改写4(N VP) 2)(ART ADJ N VP) 1)ART匹配the5(VP) 3)(ART ADJ N VP) 1)N匹配cat6(V) 3)(V NP) 3)(ART ADJ N VP) 1)规则4、5改写7() 4)(V NP) 3)(ART ADJ N VP) 1)V匹配caught“1The2cat3caught4a5mouse6”的分析过程1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NP步骤步骤当前状态当前状态后备状态后备状态备注备注8(V NP) 3)(ART ADJ N VP) 1)回溯9
27、(NP) 4)(ART ADJ N VP) 1)V匹配caught10(ART N) 4)(ART ADJ N) 4)(ART ADJ N VP) 1)规则2、3改写11(N) 5)(ART ADJ N) 4)(ART ADJ N VP) 1)ART匹配a12() 6)(ART ADJ N) 4)(ART ADJ N VP) 1)N匹配mouse13结束“1The2cat3caught4a5mouse6”的分析过程(续)1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NP搜索策略p深度优先n后备状态采用“栈”结构n后备状态少,存储效
28、率高n面临“左递归”问题p广度优先n后备状态采用“队列”结构n后备状态多,存储效率不高自底向上句法分析p简单的自底向上句法分析效率不高,常常会重复尝试相同的匹配操作(回溯之前已匹配过)。p一种基于图的句法分析技术(Chart Parsing)被提出,它把已经匹配过的结果保存起来,今后需要时可直接使用它们,不必重新匹配。(动态规划)ChartParsing的数据表示p图(chart)的结点由句子中词之间的位置数字构成。p非活动边集(chart的核心,常直接就被称为chart)n记录分析中规约成功所得到的所有词法/句法符号。p活动边集n未完全匹配的产生式,用加小圆圈标记()的产生式来表示,如:pN
29、P - ART ADJ NpNP - ART Np待处理表(agenda)n记录等待加入chart的已匹配成功的词法/句法符号。p上面的活动边、非活动边以及词法/句法符号都带有“始/终结点”的位置信息。“1The2cat3caught4a5mouse6”分析中的数据示例1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPN(2,3)agenda56amouse重复下面的操作,直到agenda为空并且输入中没有下一个词p若agenda为
30、空,则把句子中下一个词的所有词法符号(词性)和它们的位置加入进来。p从agenda中取一个元素(设为C,位置为:p1-p2)。p生成新的活动边新的活动边:n对每个形式为:X-CX1.Xn的规则,增加一条活动活动边边:X-C X1.Xn,位置为:p1-p2。n对每个形式为:X-C的规则,把X加入agenda,位置为:p1-p2。p将C作为非活动边非活动边加入到chart的位置p1-p2p扩展已有活动边已有活动边:n对每个形式为:X-X1. C.Xn的活动边,若它在p0-p1之间,则增加一条活动边活动边:X-X1. C .Xn,位置:p0-p2。n对每个形式为: X-X1. Xn C的活动边,若它
31、在p0-p1之间,则把X加入agenda ,位置为:p0-p2。ChartParsing句法分析算法“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPART(1,2)agenda56amouse“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1
32、. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPN(2,3)agenda56amouseNNP(1,3)“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56amouseNNP(1,3)S - NP VPNP“1The2cat3caught4a5mouse6”的分析过程(算法)1234Th
33、ecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56amouseNV(3,4)S - NP VPNPVP - V NPVP(3,4)V“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56
34、amouseNS - NP VPNPVP - V NPVP(3,4)VVPS(1,4)“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56amouseNS - NP VPNPVP - V NPVVPS(1,4)S“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - A
35、RT ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56amouseNS - NP VPNPVP - V NPVVPART(4,5)SNP - ART NNP - ART ADJ NART“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56amou
36、seNS - NP VPNPVP - V NPVVPN(5,6)SNP - ART NNP - ART ADJ NARTNNP(4,6)“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56amouseNS - NP VPNPVP - V NPVVPSNP - ART NNP - ART ADJ NARTNNP(4,6)S - NP VPNPVP(3,
37、6)“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56amouseNS - NP VPNPVP - V NPVVPSNP - ART NNP - ART ADJ NARTNS - NP VPNPVP(3,6)VPS(1,6)“1The2cat3caught4a5mouse6”的分析过程(算法)1234ThecatcaughtARTNP - ART
38、NNP - ART ADJ N活动边非活动边1. S-NP VP 2. NP-ART N 3. NP-ART ADJ N 4. VP-V 5. VP-V NPagenda56amouseNS - NP VPNPVP - V NPVVPSNP - ART NNP - ART ADJ NARTNS - NP VPNPVPS(1,6)S练习 3. 实现一个基于简单英语语法的chart句法分析器。nagenda采用栈or队列?n可能会有无用(不可能用到)的活动边,影响效率。句法分析与逻辑程序设计p逻辑程序设计是把程序组织成一组事实(谓词)和一组推理规则,程序在事实基础上运用推理规则来实施计算,它基于的
39、理论是谓词演算(Predicate Calculus)。pPROLOG是一个逻辑程序设计语言,在程序中,用子句(clause)描述事实和推理规则,推理过程由PROLOG的执行机制自动完成。p对句法分析而言,n事实:句子中每个词的词性以及词在句子中的位置等n推理规则:文法(产生式)一个基于CFG的PROLOG句法分析器p输入句子“John ate the cat”可表示成事实:nword(john,1,2)nword(ate,2,3)nword(the,3,4)nword(cat,4,5)p词典、词形还原以及词性标注结果可表示成事实:nisname(john)nisverb(ate)nisnou
40、n(cat)nisart(the)n.p语法规则可表示成推理规则:ns(P1,P3):-np(P1,P2),vp(P2,P3)nnp(P1,P3):-art(P1,P2),n(P2,P3)nnp(P1,P3):-name(P1,P3)nvp(P1,P2):-v(P1,P2)nvp(P1,P3):-v(P1,P2),np(P2,P3)nn(P1,P2):-word(W,P1,P2),isnoun(W)nart(P1,P2):-word(W,P1,P2),isart(W)nv(P1,P2):-word(W,P1,P2),isverb(W)nname(P1,P2):-word(W,P1,P2),is
41、name(W)p通过查询谓词s(1,5)的真假来识别句子“John ate the cat”:n?- s(1,5)p标准PROLOG的处理策略与深度优先的自顶向下分析方法一致。传统CFG在描述自然语言时存在的问题1. S - NP VP 4. VP - V2. NP - ART N 5. VP - V NP3. NP - ART ADJ Np上面的CFG描述了英语的一个子集,同时,它又会生成一些不合法的英语句子,如:nThe student solve the problem.(主谓不一致)nThe teacher disappeared the problem.(不及物动词)一种可能的解决方
42、案增加句法符号和规则p把NP分为NP-S和NP-P;把VP分成VP-S和VP-P:nS-NP-S VP-SnS-NP-P VP-Pp把N分成N-S和N-P:nNP-S-ART N-SnNP-S-ART ADJ N-SnNP-P-ART N-PnNP-P-ART ADJ N-Pp把V分成V-S-I、V-S-T、V-P-I和V-P-T:nVP-S-V-S-InVP-S-V-S-T NP-S nVP-S-V-S-T NP-PnVP-P-V-P-InVP-P-V-P-T NP-SnVP-P-V-P-T NP-P增加句法符号和规则带来的问题p增加了规则的数量和潜在的冗余p类似的规则缺乏关联性p对语言结构
43、描述缺乏深度(表层)基于特征的扩展CFGp不增加原CFG中的句法符号p给每个句法符号增加特征特征(属性),特征由特征名和特征值构成。例如:nNP(PER 3,NUM s) /第三人称单数的NPnVP(PER 3,NUM p) /第三人称复数的VPp一系列特征构成了一个特征结构特征结构(复杂特征集)。p特征值可以是普通值(原子),也可以是另一个特征结构,例如:nNP(AGR(PER 3, NUM s),可简写为:nNP(AGR 3s)p一个特征的特征值可以有多个,表示成:nN(ROOT fish, AGR 3s,3p)p特征值也可以是变量,表示取值可以任意,例如:nNP(AGR ?a) 表示NP
44、的AGR特征值可取任意值p可以对变量形式的特征值限定范围(受限变量),例如:nNP(AGR ?a3s,3p)p同名的变量表示它们的值要相同,例如:nS-NP(AGR ?a) VP(AGR ?a) 表示NP与VP的AGR特征值要一致(取同样的值,主谓一致)p一个规则如果包含特征值为变量的成分,则该规则代表了一组规则(规则模板)。例如,上述规则代表:nS-NP(AGR 3s) VP(AGR 3s)nS-NP(AGR 3p) VP(AGR 3p)n.一个基于特征结构的CFG语法pS-NP(AGR ?a) VP(AGR ?a)pNP(AGR ?a) - ART N(AGR ?a)pNP(AGR ?a)
45、 - ART ADJ N(AGR ?a)pVP(AGR ?a) - V(AGR ?a,VAL itr)pVP(AGR ?a) - V(AGR ?a,VAL tr) NP合一文法p一个文法可以表示成一系列特征结构间的约束关系,这样的文法称为合一文法(Unification Grammar,UG),它可以为基于特征的CFG文法提供了一个形式化的描述。p例如:nUG中特征结构X0、X1和X2之间的约束关系:pX0-X1 X2 (CAT0=S,CAT1=NP,CAT2=VP, AGR0=AGR1=AGR2,VFORM0=VFORM2)n可以描述下面的一条基于特征的CFG中的规则:pS-NP(AGR ?
46、a) VP(AGR ?a)p特征结构的合一运算构成了合一文法的基本操作。合一运算p特征结构“相容”n(f)表示特征结构的特征f的值n若、为特征结构,对于所有的特征f(属于和):p若(f)=a,(f)=b,a、b都是原子,和是相容的当且仅当a=bp若(f)、(f)均为特征结构,和是相容的当且仅当(f)与(f)相容(递归)p特征结构“合一运算”:(生成新的特征结构)n如果a、b都是原子,若a=b,则ab=a,否则ab=n若、均为特征结构,则p若(f)=v,但(f)未定义,则f=v属于p若(f)=v,但(f)未定义,则f=v属于p若(f)=v1,(f)=v2,且v1与v2相容,则f=(v1v2)属于
47、,否则,= 合一运算举例p(CAT V, ROOT cry)与(CAT V, VFORM pres)可以合一为:(CAT V, ROOT cry, VFORM pres)p(CAT V, AGR 3s)与(CAT V, AGR 3p)不能合一p(CAT N,ROOT fish, AGR 3s,3p)与(CAT N, AGR 3s)可以合一为: (CAT N,ROOT fish, AGR 3s)p对于面向基于特征的CFG句法分析器,特征结构的合一运算的作用有两个:n句法成分的匹配(特征结构的相容性)n句法成分的规约(生成新的特征结构)基于特征CFG的chartparsingp句子与规则匹配时,除
48、了语法成分要相同,还要对各个特征进行匹配和特化处理。p若规则包含特征值为变量的成分,匹配时需要实例化这个规则,例如:n对于规则:pNP(AGR ?a)- ART(AGR ?a) N(AGR ?a)n若有下面的语法成分需要匹配:pART(ROOT a, AGR 3s)n则需要实例化规则中的?a:pNP(AGR 3s)- ART(AGR 3s) N(AGR 3s)n它与ART(ROOT a, AGR 3s)匹配后扩展为:pNP(AGR 3s)- ART(AGR 3s) N(AGR 3s)n若句子中还有N(ROOT dog, AGR 3s)需要匹配,则进一步扩展为:pNP(AGR 3s)- ART(
49、AGR 3s) N(AGR 3s) p如果待匹配的语法成分的特征值中包含受限变量,则实例化后的规则中的取值范围为两者的交集,例如:n实例化前的规则:pNP(AGR ?a)- ART(AGR ?a) N(AGR ?a)n要匹配的语法成分:pART(ROOT the, AGR ?a3s,3p)n实例化后的规则为:pNP(AGR ?a3s,3p)- ART(AGR ?a3s,3p) N(AGR ?a3s,3p)n匹配扩展后为:pNP(AGR ?a3s,3p)- ART(AGR ?a3s,3p) N(AGR ?a3s,3p)n再与N(ROOT dog, AGR 3s)匹配后扩展为:pNP(AGR 3s
50、)- ART(AGR 3s) N(AGR 3s) 语义分析p语义分析的目的是给出语言表达的含义或意义(meaning)。p语义分析包括n词义分析(词义表示及多义词消歧等)n句义分析(句义表示及句义计算等)n篇章语义分析(指代、实体关系等)词汇语义p句子的意义由句子中词汇的语义组合而成。句义分析首先需要解决词汇的语义表示和分析。p词汇的语义表示:n义项(义位)n语义类 n义素组合义项(义位)p一个词往往有几个意义,每一个意义就是一个义项。例如:“明白”在现代汉语词典中的义项:n内容、意义等使人容易了解;清楚;明确n公开的、不含糊的n聪明;懂道理n知道;了解p由于义项的数量巨大,研究它们以及它们之
51、间的关系非常困难。语义类p解决义项数量巨大问题的一种办法是:对义项进行泛化(抽象、概括)从而形成一些语义类(类似于词法分类词性的做法)。例如:n把“走”、“跑”、“跳”、“爬”几个义项泛化为语义类:“移动”。n现代汉语词林就是按语义类来划分的。p泛化的问题:n语义类过多会失去泛化的效果。n语义类过少会丢失信息。义素(语义特征)p解决义项数量巨大问题的另一种方法是采用“义素”(语义特征)表示,义素是比义项更基本的语义单位。p一个义项可以表示成义素的集合(类似于句法中的复杂特征集)。例如:n“哥哥”的义素包括:“人、亲属、同胞、年长、男性”p知网(http:/)就是按义素来定义词义的,它把义素称为
52、“义原” 。p义素为词汇语义提供了更精确的描述。义素为词汇语义提供了更精确的描述。词义之间的关系p词义之间的关系可以为词义之间的搭配提供依据,从而为词义消歧和句义分析提供帮助。p词义之间的关系n上下位关系: “动物”与 “狮子”n整体-部分关系:“身体”与“上肢”n同义关系:“美丽”与“漂亮”n反义关系:“高”与“矮”n包含关系:“兄弟”与“哥哥”和“弟弟”p语义场把相互关联的词汇和短语组织起来,显示它们之间的相互关系的语义系统。n“师傅、徒弟”构成一个语义场n“上、下、左、右”也构成一个语义场句义分析p句义分为:n上下文无关意义n上下文有关意义p“Do you know what gate
53、you are going to?”的意义是什么?p句义的表示n逻辑形式n论旨角色或格角色n.p句义分析的方式n先句法后语义n句法语义一体化n完全语义分析(无句法分析)句义表示与分析(1)逻辑形式与语义组合p逻辑形式(LF,Logical Form)用于表示上下文无关的句义。它是对一阶谓词演算(FOPC)的扩充,增加了一些操作和广义量词。例如:n(DOG1 FIDO1)描述了句子:Fido is a dog.n(LOVES1 SUE1 JACK1)描述了句子:Sue loves jack.n(NOT (LOVES1 SUE1 JACK1)描述了句子:Sue does not love jack
54、.n(MOST1 d1:(DOG1 d1)(BARKS1 d1)描述了句子:Most dogs bark.n(PRES(SEES1 JOHN1 FIDO1)描述了John sees Fido.n(EVERY b1:(BOY1 b1)(A d1:(DOG1 d1)(LOVES b1 d1)描述了句子:Every boy loves a dog.的一个意思n(A d1:(DOG1 d1)(EVERY b1:(BOY1 b1) (LOVES b1 d1)描述了句子:Every boy loves a dog.的另一个意思n(LOVES1 )描述了句子:Every boy loves a dog.的两
55、个意思(歧义表示)p语义组合:句子的语义由其成分的语义组合而成。n演算为语义组合提供了形式化的计算基础和表示。p组合理论用于语义组合面临的难题:n句法结构与逻辑形式之间存在结构上的不一致n对习惯用语的处理(句义不由成分语义组合)p带语义解释的语法(语法/语义一体化)n句法规则中加入语义特征,例如:pS(.,SEM (?semvp,?semnp)- NP(.,SEM ?semnp)VP(.,SEM ?semvp)n伴随句法规则给出句法符号的语义描述和计算规则句义表示与分析(2)论旨角色与格语法p论旨角色(thematic role)或格角色(case role)n基于动词给出句子中其它成分与它的
56、浅层语义关系,例如:pThe boy opened the door with a key.the boy: AGENT(施事格)the door: OBJECT(客体格)a key: INSTUMENT(工具格)格语法p格语法由美国语言学家Charles J. Fillmore提出的用于对句法结构与语义之间关系进行描述的理论。n“Towards a modern theory of case”、“The case for case”、“Some problems for case grammar”p基本语义规则nS-M+Pp一个句子(S)由情态(M)和命题(P)构成。p情态包括:时体态、语气
57、以及否定等。nP-V+C1+C2+.+Cnp命题由动词(V)及若干格短语(C1Cn)构成。nCi-Ki+NPip格短语由格标记(K,表层格)和名词短语(NP)组成。n从表层格到深层格的转换规则p深层格的种类:n施事格(Agentive):He laughed.n工具格(Instrumental):He cut the rope with a knife.n与格(Dative):He gives me a ball.n使成格(Factitive):John dreamed a dream about Mary.n方位格(Locative):He is in the house.n客体格(Obje
58、ctive): He bought a book.n受益格(Benefective): He sang a song for Mary.n源点格(Source): I bought a book from Mary.n终点格(Goal): I sold a car to Mary.n伴随格(Comitative): He sang a song with Mary.n.(有多少格?)p动词格框架(为从表层格到深层格转换服务)n词典中对每个动词需给出:p它所允许的格,包括它们的性质(必需、禁止、自由)p这些格的特征(附属词、中心词语义信息等)基于格语法的语义分析p基于的信息n格体系n动词格框架n
59、名词语义信息p分析过程n格短语及主动词识别n利用主动词格框架确定格短语的格。p分析结果:句子的格框架。基于格语法的语义分析结果(例)pIn the room, he broke a window with a hammer.BREAK case-frame agentive: HE objective: WINDOW instrumental: HAMMER locative: ROOM modals time: past voice: active机器翻译机器翻译历史p1947,Warren Weavers memop1954,第一个公开展示的俄英MT原型系统。p1966,美国科学院的ALP
60、AC报告宣告机器翻译走入低谷。p1970s,Systran(1970),Meteo(1976)pEarly 1980s,复苏,Eurotra、Mu、.pLate 1980searly 1990s,商品化系统投入市场,语音翻译和统计机器翻译(SMT)出现。pLate 1990s,Internet加速了MT。pAfter 2000,SMT大行其道。p现在,神经机器翻译(NMT)火热!I have a text in front of me which is written in Russian but I am going to pretend that it is really written
61、in English and that it has been coded in some strange symbols. All I need do is strip off the code in order to retrieve the information contained in the textp直译(Direct):从原文句子的表层(词、词组或短语)出发,直接转换成译文(必要的词序调整)。p转换(Transfer):对源语言进行分析,得到一个基于源语言的中间表示;然后,把这个中间表示转换成基于目标语言的中间表示;从基于目标语言的中间表示生成目标语言。p中间语(Interli
62、ngua):对源语言进行分析,得到一个独立于源语言和目标语言的、基于概念的中间表示;从这个中间表示生成目标语言。机器翻译的基本策略中间语言源语言目标语言分析生成词汇转换句法转换语义转换(词法、句法、语义)(词法、句法、语义)机器翻译金字塔机器翻译的实现方法p基于语言规则的理性方法(Rationalist approach)n基于以规则形式表达的语言知识(词、句法、语义以及转换)进行推理。(Rule-based MT)n又称传统的翻译方法,强调人对语言知识的理性整理。p基于语料库的经验方法(Empiricist approach)n以大规模语料库(单语和双语)为语言知识基础。包括:p基于实例的方
63、法(Example-based MT,EBMT)基于类比原理,通过相似度计算,在语料库中找出最相似的句子翻译知识的获取在翻译之前没有全部完成,翻译过程中还需要语料库p基于统计的方法(Statistical MT,SMT)利用统计学习方法自动获取和运用隐含在语料库中的知识翻译知识的获取在翻译之前完成,体现为一系列统计数据(参数)p基于神经网络的深度学习方法(Neural MT,NMT)能够自动学习特征Rule-basedMTp基于词的转换翻译p基于句法结构转换的翻译p基于语义转换的翻译p基于中间语言(Interlingua)的翻译基于词的转换翻译p翻译过程n词法分析(源语言)n译词选择n词序调整
64、n形态(词形变化)生成p翻译所基于的知识n词法规则(源语言)n对译(双语)词典及规则n调序规则n形态生成规则p问题n没有句法结构和语义分析的指导,转换很难很好地进行,特别是对句法/语义结构相差很大的语言。n译词选择和词序调整工作可用的信息太少(只利用了原句中的局部信息和已得到的译词信息) 。基于句法结构转换的翻译p句法分析(源语言)p递归地利用一组“树-树”的转换规则,把源语言的句法树转换成目标语言的句法树p从目标语言的句法树生成目标语言句子。句法树转换的例NPDetAN1delicioussoupAdjNNPNPtv(X)tv(Y)tv(X)tv(Y)NPDetUnaN1sopa delic
65、iosaNAdjN1tv(A)tv(B)AdjNN1tv(B)tv(A)NAdjDetUnaSL TreeTree-to-tree transformationsTL Treedelicious deliciosa soup sopaDetAA delicious soupUna sopa deliciosa(English)(Spanish)基于语义转换的翻译p语义表示具有较高的语言独立性,在语义级转换避免了语言相关的句法结构转换。p转换规则需要解决不同语言之间的语义表示的对应问题:n逻辑表示中的谓词转换pEn: Susan swam across the channel.pSp: Susa
66、n cruzo el canal nadando.(Susan crossed the channel swimming)p“运动/方式途径”变成“运动/途径方式”n论旨角色表示的格转换pEn: You like her.pSp: Ella te gusta.(She you-ACC pleases)p宾语(her)变成主语(Ella)基于中间语言(Interlingua)的翻译p基于中间语的翻译是指对源语言进行分析,得到一个独立于源语言和目标语言的、基于概念的中间语言表示,然后从这个中间语言表示生成目标语言。p对于n种语言之间的翻译(多语翻译)n转换翻译需要n(n-1)个模块n中间语言翻译需要2n个模块语言1语言2语言4语言3中间语语言1语言2语言4语言3中间语言翻译转换翻译p中间语言翻译需解决的重要问题:n一个统一的概念集及概念之间的关系集(本体论ontology所涉及的内容),使得它们对多种语言都适合。p中间语言翻译所需要的ontology是否存在?p中间语言翻译加大了语言分析的难度(大量的消歧)。(对机器翻译来说,这样的分析是否必要?)机器翻译的现状p目前,机器翻译主要在一些简单的翻译任务中起到了一定的效果:n对翻译质量要求不高的领域,如:网页浏览等n子语言(领域受限)n辅助翻译(后编辑)p任意文本的高质量、全自动翻译目前还很难实现。