自然语言理解-句法分析算法(1)..(修改版)
自然语言理解-句法分析算法(1)
status m
q
n
$
NP
MP
0
s1
s7
4
3
1
s2
2
r4
r4
r4
r4
(1) NP NP NP (2) NP MP NP (3) NP n
3
s1
s7
5
3
(4) MP m q
4
s1
s7
acc
6
3
5
s1 r2
r2
s7 r2 r2
6
3
6
s1 r1
r1
s7 r1 r1
6
3
7
r3
r3
r3
r3
Stack $ 0 mMNacPPc143qNnNn2PP7765 nNP7 6
是待分析的)
3. 整数i : 状态起点(已分析子串的起点) 4. 整数j : 状态终点(已分析子串的终点) i
≤j
比如: <S NP ·VP 0, 4>
基本操作
预测(Predicator):如果圆点右方是一个非终结符, 那么以该非终结符为左部的规则都有匹配的希望,也 就是说分析器可以预测这些规则都可以建立相应的项 目。
$
$ 0 MP 3 NP 5 NP 6
$
$ 0 MP 3 NP 5
$
$ 0 NP 4
$
$ 0 acc
$
$ 0 NP 4
n$
$ 0 NP 4 n 7
$
$ 0 NP 4 NP 6
$
$ 0 NP 4
$
$ 0 acc
$
算法分析
类似深度优先搜索
如果改变备份栈顺序,可以实现其它搜索策 略。(agenda)
自然语言理解
语料库
研究语言知识所用的真实文本称为语料, 研究语言知识所用的真实文本称为语料, 大量的真实文本即构成语料库。 大量的真实文本即构成语料库。 WordNet、MindNet、FrameNet 、 、 知网(How-Net)是一个以英汉双语所代 知网 表的概念以及概念的特征为基础的,以 揭示概念与概念之间以及概念所具有的 特性之间的关系为基本内容的常识知识 库。
概述
理解并回答人们用自然语言提出的有关问题。 理解并回答人们用自然语言提出的有关问题。 生成文本摘要和对文本进行释义。 生成文本摘要和对文本进行释义。 把一种自然语言表示的信息自动地翻译为另一 种自然语言。 种自然语言。
语言的概念
语言是人类进行通讯的自然媒介, 语言是人类进行通讯的自然媒介,它包 括口语、书面语以及动作语等。 括口语、书面语以及动作语等。 语言是用于传递信息的表示方法、 语言是用于传递信息的表示方法、约定 和规则的集合。 和规则的集合。 由语句组成,每个语句又有单词组成。 由语句组成,每个语句又有单词组成。 组成语句时, 组成语句时,应遵循一定的语法和语义 规则。 规则。
自然语言理解
概述
自然语言处理就是研究如何能让计算机理解并 自然语言处理就是研究如何能让计算机理解并 生成人们日常所使用的 如汉语、英语)语言 人们日常所使用的(如汉语 语言, 生成人们日常所使用的 如汉语、英语 语言, 使得计算机懂得自然语言的含义,并对人给计 使得计算机懂得自然语言的含义, 算机提出的问题,通过对话的方式, 算机提出的问题,通过对话的方式,用自然语 言进行回答。 言进行回答。目的在于建立起一种人与机器之 间的密切而友好的关系, 间的密切而友好的关系,使之能进行高度的信 息传递与认知活动。 息传递与认知活动。自然语言理解系统可以用 作专家系统、知识工程、情报检索、 作专家系统、知识工程、情报检索、办公室自 动化的自然语言人机接口,有很大的实用价值。 动化的自然语言人机接口,有很大的实用价值。
词法与句法分析算法在自然语言处理中的应用
词法与句法分析算法在自然语言处理中的应用自然语言处理(Natural Language Processing,NLP)是人工智能(Artificial Intelligence,AI)领域中的一个重要分支,涉及计算机对人类语言的理解和生成。
在NLP中,词法分析和句法分析是两个基本的任务,它们被广泛应用于文本处理、信息检索、机器翻译、语音识别和文本生成等领域。
本文将探讨词法分析和句法分析算法在自然语言处理中的应用。
一、词法分析在NLP中,词法分析(Lexical Analysis)是将自然语言文本转化为词汇序列的过程。
它的主要任务是将文本中的单词(Token)或符号提取并标准化,以便进行后续的语义分析和句法分析。
词法分析通常包括以下几个步骤:1. 分割:将文本分割成单词或符号的序列。
这个过程中,需要处理连字符、缩写、数字和标点等特殊情况。
2. 标准化:将单词或符号转化为规范形式。
比如,将单词的变形(如动词的时态和语态)统一为原形,将符号转化为标准的词汇、时间和日期格式等。
3. 词性标注:给每个单词或符号赋予它们在句子中的语法和词性。
这有助于在后续的句法分析中确定每个词的作用和功能。
词性标注通常使用标签集(Tag Set),比如:名词、动词、形容词、副词、介词、代词、连词等。
常用的词法分析算法有正则表达式、自动机、最大概率模型和条件随机场等。
其中,条件随机场(Conditional Random Fields,CRF)是最常用的算法之一,它基于统计模型和特征工程来进行词性标注和分词。
CRF算法已经被应用于多种文本处理任务中,比如中文分词、命名实体识别等。
二、句法分析句法分析(Syntactic Analysis)是将自然语言文本分解成语法结构的过程。
它的主要任务是确定句子中词语之间的关系和语法结构,并生成句子的树形结构表示。
句法分析通常包括以下几个阶段:1. 词法分析:将句子分解成单词序列。
2. 上下文无关文法分析:将句子解析成基于上下文无关文法(Context-Free Grammar,CFG)的树形结构。
自然语言理解NLP
2.语法分析歧义:
“那只狼咬死了猎人的狗” “咬死了猎人的狗失踪了”
3.语义分析歧义:
机器翻译句子 “At last, a computer that understands you like your mother” 可以有多种含义,如下: “计算机会像你的母亲那样很好的理解你(的语言) ” “计算机理解你喜欢你的母亲” “计算机会像很好的理解你的母亲那样理解你”
Party May 27 add
基本解决:词性标注、命名实体识别、Spam识别
取得长足进展:情感分析Sentiment analysis、共指消 解Coreference resolution、词义消歧Word sense disambiguation 、句法分析Parsing、机器翻译Machine translation (MT )、信息抽取Information extraction (IE)
包括查询资料、解答问题、摘录文献、汇编资料以 及一切有关自然语言信息的加工处理。 例如,如果有一台机器既能理解中文又能理解英文 ,那么,这台机器就可以为人类充当翻译;如果电 视能理解中文,那么,用户就可以不用按钮,而是 通过说话来遥控电视
语言究竟是怎样组织起来传输信息的?人又是怎样 从一连串的语言符号中获取信息的?
3.情感分析(Sentiment Analysis,SA):又称倾向 性分析和意见挖掘,它是对带有情感色彩的主观性文 本进行分析、处理、归纳和推理的过程,如从大量网 页文本中分析用户对“数码相机”的“变焦、价格、 大小、重量、闪光、易用性”等属性的情感倾向; 4.机器翻译(Machine Translation,MT):将文本从 一种语言转成另一种语言,如中英机器翻译。
自然语言理解(App)习题参考答案
(b) G = ({A, S}, {0,1}, S, P) P: S A
NLPR, CASIA
0A0 | 1A1 0A0 | 1A1 | ε
2004-3-6
9
NLPR
第三章习题解答
3-2. 有以下文法:G = ({S,B,C},{a,b,c},P, S),其中: P: S → aSBC | abC bB → bb cC → cc 求 L(G)=? CB → BC bC → bc
x
p(x) 证明: H( p, q) = H( p) + D( p || q) = H( p) + ∑ p(x) log q(x) x∈X
= −∑ p(x) log p(x) + ∑ p(x)(logp(x) − logq(x))
x∈X x∈X
= −∑ p( x) logq( x)
x∈X
NLPR, CASIA
p ( x) D( p || q) = ∑ p( x) log q ( x) x∈X
NLPR, CASIA
2004-3-6
6
NLPR
第二章习题解答
2-3. 举例说明(任意找两个分布 p 和 q ),KL 距离是不对 称的,即 D(p || q) ≠ D(q || p)。 (略)
NLPR, CASIA
NLPR, CASIA 2004-3-6
10
NLPR
第三章习题解答
3-3. 设文法 G 由如下规则定义: S → AB A → Aa|bB B → a|Sb 给出下列句子形式的派生树: (1)baabaab (2)bBABb 解: (1) A A b B a b
NLPR, CASIA
S B a A B a
了解自然语言处理技术文本分类和语义分析
了解自然语言处理技术文本分类和语义分析自然语言处理技术在文本分类和语义分析方面的应用自然语言处理(Natural Language Processing,简称NLP)是指让计算机能够理解、处理和生成人类语言的一种技术。
在现代信息时代,海量的文本数据需要被处理和分析,而NLP技术在文本分类和语义分析方面发挥着重要的作用。
本文将介绍自然语言处理技术在文本分类和语义分析方面的应用。
一、文本分类文本分类是指将文本按照不同的类别或主题进行分类的过程。
通过文本分类技术,计算机可以自动将文本归类,帮助用户迅速定位所需信息。
在自然语言处理技术的支持下,文本分类可以更加准确和高效。
1.特征提取为了进行文本分类,首先需要对文本进行特征提取。
常用的特征提取方法有词袋模型(Bag of Words)和词向量模型(Word Embedding)。
词袋模型将文本表示为一个词的集合,而词向量模型则将每个单词表示为一个向量。
这些特征可以包含词频、TF-IDF值等信息,用于构建文本分类模型。
2.分类算法在特征提取完成后,需要选择适合的分类算法进行文本分类。
常用的分类算法有朴素贝叶斯分类器、支持向量机(SVM)和深度学习模型(如卷积神经网络和循环神经网络)。
这些算法可以根据特征和标签之间的关系进行分类,从而实现文本的自动分类。
二、语义分析语义分析是指根据语境和意义理解文本的过程,通过分析文本的语义信息,使计算机能够更好地理解和生成自然语言。
在自然语言处理技术的支持下,语义分析可以实现文本的深层次理解和语言推理。
1.句法分析句法分析是分析句子结构的过程,它可以识别和标记句子中的成分和关系。
常用的句法分析方法有依存句法分析和短语结构句法分析。
通过句法分析,计算机可以理解句子中的主谓宾关系、修饰关系等,从而更好地进行语义分析。
2.命名实体识别命名实体识别是指识别文本中出现的具有特定意义的实体,如人名、地名、组织机构名等。
通过命名实体识别,计算机可以识别并标记出文本中的关键信息,为后续的语义分析提供支持。
第7章 自然语言理解
• 自然语言理解的概念与发展历史
• 语音分析
• 词法分析
• 句法分析
• 语义分析
• 句子的自动理解
• 机器翻译
• 自然语言理解系统应用举例
2
自然语言理解的概念与发展历史
• 语音分析
• 词法分析
• 句法分析
• 语义分析
• 句子的自动理解
• 机器翻译
• 自然语言理解系统应用举例
句法分析
例 1 G=(Vt,Vn,S, P)
Vt =(the,man,killed,a,deer,likes)
Vn =(S,NP,VP,N,ART,V,Prep,PP)
S=S P:(1) S→NP+VP (2) NP→N (4) VP→V (5) VP→V+NP (7)N→man|deer
J. Weizenbaum:心理医疗ELIZA
4.
72年W. Woods:语音接口 基于知识的自然语言理解发展时期 LUNAR T. Winograd :英语对话SHEDLU
5. 基于大规模语料库的自然语言理解发展时期
• 自然语言理解的概念与发展历史
语音分析
• 词法分析
• 句法分析
• 语义分析
• 语音分析
• 词法分析
句法分析
• 语义分析
• 句子的自动理解
• 机器翻译
• 自然语言理解系统应用举例
14
句法分析
乔姆斯基语法体系
转移网络 扩充转移网络 句法分析树 自动句法分析算法
15
句法分析
句法分析就是要对句子或短语的结构进行分析,以确定构成句子 的各个词、短语等之间的相互关系以及各自在句子中的作用等,并将 这些关系用层次结构加以表达。
自然语言理解讲义第三讲.
CS
NP N 张三 V 是 N 县长 V 派 V’ V 来
的
de 的
自顶向下分析法(14):示例
S
NP VP NP
规则: (1) SNP VP (2) NPN (3) NPCS 的 (4) CSNP V' (5) VPV NP (6) V'V V
使用规则: NPN
CS
NP N 张三 V 是 N N 县长 V 派 V’ V 来
位置不变
自顶向下分析法(23) :一种改进方法
算法 1. 选择当前状态:从可能状态列表中选择第一个状态,并称之为 C。从可能状态表中去掉C。若表为空,在算法失败。 2. 若C的符号表为空。如果位置指向句子末尾,则算法成功;如 果位置不指向句子末尾,则goto 1(回溯)。 3. 否则(若C的符号表不为空),按下面方法产生新状态: 若C的符号表的第一个符号表示词性。如果句子的下一个词具 有该词性,则通过从C的符号表中去掉该符号并调整位置指针 来构造一新状态,然后将新状态加入可能状态列表;如果句 子的下一个词不具有该词性,则goto 1。 否则,若C的第一个符号为其他非终极符,为该符号的每条重 写规则产生一新状态,然后将所有这些新状态加入可能状态 列表。 goto 1.
使用规则: NPN
NP
N 张三 V 是 N 县长 V 派 V 来 de 的
自底向上分析法(4)
规则: (1) SNP VP (2) NPN (3) NPCS 的 (4) CSNP V' (5) VPV NP (6) V'V V
使用规则: NPN
NP
N 张三 V 是
NP N 县长 V 派 V 来 de 的
2
old
3
自然语言理解-句法分析算法(1)概要
3 NP MP. NP NP .NP NP NP .n NP .MP NP MP .m q
4 S’ NP. NP NP. NP NP .NP NP NP .n NP .MP NP MP .m q
2 MP m q.
期望分析结果
Top-down
自顶向下的方法又称为基于预测的方法。 这种方法是先产生对后面将要出现的成分的预期,然 后再通过逐步吃进待分析的字符串来验证预期。 如果预期得到了证明,就说明待分析的字符串可以被 分析为所预期的句法结构。 如果某一个环节上预期出了差错,那就要用另外的预 期来替换(即回溯)。 如果所有环节上所有可能的预期都被吃进的待分析字 符串所“反驳”,那就说明待分析的字符串不可能是 一个合法的句子,分析失败。
(1) NP NP NP (2) NP MP NP
(3) NP n
(4) MP m q
Stack
Input Queue
Backup Status
$ 0 acc m 14 MP NP 3qNP n NP n 27 7 6 5 NP n 76
m$ q n $ n q$ n n$ n$
( $ 0 NP 4 ) ( n $ )
m
一
n
火车
带回溯的LR
组成部分
Shift-Reduce-Goto 表 分析栈 输入队列 引入备份状态,解决移进规约冲突
LR 分析表的构造
0 S’ .NP NP .NP NP NP .n NP .MP NP MP .m q
1 MP m. q
自然语言理解 教学大纲
自然语言理解教学大纲教材:自然语言理解赵海清华大学出版社第1章:自然语言处理概要1.概念和术语包括什么是自然语言、自然语言处理和自然语言理解的关系、以及计算语言学。
2.自然语言处理技术的挑战自然语言处理被迫需要承担两类知识一一常识知识与语言学知识的处理和解析任务。
后者属于自然语言处理这一领域独一无二的需求。
3.机器翻译4.语言处理层次形态分析、句法分析、语义分析、语用分析、篇章分析、世界知识分析5.应用型自然语言处理人机对话系统6.自然语言处理的学术出版体系国际计算语言学会(AC1)等第2章:n元语言模型1.概率论基础首先回顾概率论的基本知识,如联合概率、条件概率、贝叶斯等。
2.语言模型用于语言生成语言生成的过程称为解码。
n元语言模型给出的是n元组出现的概率,因此合理或正确的语言现象必然有更大的概率或似然,这一观察是语言模型能在预测性解码任务之中发挥作用的关键。
3.n元语言模型的工作方式n元机制、马尔可夫假设4.评价指标困惑度5.n元语言模型的平滑方法1aP1aCe平滑、Good-TUring平滑、Je1inek-MerCer平滑、KatZ平滑、KneSer-Ney平滑、Pitman-YOr平滑6.非n元机制的平滑方法缓存、跳词、聚类7.平滑方法的经验结果对比几种平滑技巧的组合效果,以及对比它们在困惑度和语音识别的单词准确率上的差异。
8.n元语言模型的建模工具介绍了一些常用的平滑工具包第3章:语言编码表示1.独热表示用独热码表示语言符号2.特征函数一个文本对象样本基于词一级的独热表示就是展示n元组本身,因此这个部分也称之为n元组特征,它也是自然语言最直接、最基本的特征。
3.通用特征模板在实际机器学习模型建立过程中,会用到成千上万维的特征向量,故而涉及成千上万个特征函数,如果这些函数要一个个定义,建模过程将会变得烦琐不堪。
因此,实际上,特征函数可以按照定义属性进行分组,这样统一定义的一组特征函数(对应于特征向量维度上的一个片段)称之为特征模板。
自然语言处理课件PPT课件2024新版
利用标注数据训练观点挖掘模型,实现对文本中观点的自动识别和 提取。
基于深度学习的观点挖掘
通过神经网络模型学习观点的表征,提高观点挖掘的效果。
典型案例分析
电影评论情感分析
对电影评论进行情感分析,识别评论者的情感倾向。
商品评价观点挖掘
从商品评价中挖掘出消费者对商品的观点和态度。
社交媒体情感分析
依存关系图
表示词语之间的依存关系 ,如主谓关系、定中关系 等,通常用有向图表示。
深层语义表示
将句子转换为逻辑形式或 语义网络,揭示句子深层 的语义关系。
句法分析算法及实现
基于规则的方法
通过预定义的语法规则进行句法 分析,如上下文无关文法、转换
生成语法等。
基于统计的方法
利用大规模语料库学习句法结构 概率模型,如基于PCFG、RNN 、Transformer等的句法分析模
自然语言处理课件PPT课件
• 自然语言处理概述 • 基础知识与技术 • 词法分析与词性标注 • 句法分析与句子理解 • 语义理解与表示学习
• 信息抽取与问答系统 • 情感分析与观点挖掘 • 机器翻译与自动摘要 • 自然语言处理前沿技术
01
自然语言处理概述
自然语言处理定义
自然语言处理(NLP)是计算机科学 和人工智能领域的一个分支,研究如 何实现人与计算机之间用自然语言进 行有效通信的各种理论和方法。
词法分析原理及方法
基于规则的方法
通过定义一系列词法规则,对输入的文本进行分词、词性标注等处理。这种方法需要人工 编写规则,对语言知识的依赖程度较高。
基于统计的方法
利用大规模语料库进行统计学习,自动获取词语的词性、用法等信息。常见的统计模型包 括隐马尔可夫模型(HMM)、条件随机场(CRF)等。
第9章 句法分析-1
9.2 短语结构分析
英语中的结构歧义随介词短语组合个数的增加 而不断加深的,这个组合个数我们称之为开塔兰
数(Catalan number,记作CN)。 如果句子中存在这样 n (n为自然数)个介词短 语,CN可由下式获得 [Samuelsson, 2000]:
2n 1 CN n n1
数据结构
线图(Chart):保存分析过程中已经建立的成分(包 括终结符和非终结符)、位置(包括起点和终点)。通 常以 n×n 的数组表示(n 为句子包含的词数)。 代理表(待处理表)(Agenda):记录刚刚得到的一些 重写规则所代表的成分,这些重写规则的右端符号 串与输入词性串(或短语标志串)中的一 段完全匹配, 通常以栈或线性队列表示。 活动边集(ActiveArc):记录那些右端符号串与输入 串的某一段相匹配,但还未完全匹配的重写规则, 通常以数组或列表存储。
- Top-down: Depth-first/ Breadth-first
- Bottom-up
宗成庆:《自然语言理解》讲义,第 9 章 11/136
9.2 短语结构分析
基于 PCFG 的分析方法
PCFG: Probabilistic Context-Free Grammar (有时也写作 Stochastic CFG, SCFG) 其他统计模型
Det 1 N
ActiveArc
Chart
Acts
NP Det ◦ N (1,2) Det (1, 2)
NP Det N ◦ (1,3) N (2, 3) S NP◦ VP(1, 3) NP(1, 3)
11 VP V ◦ NP(3, 4) 12 V (3, 4) V Det N Prep …… Det
自然语言理解
例
名词短语1
动词短语
名词短语2
动词被动语态
介词短语
冠词
名词
动词
名词短语2 专用名词
专用名词 助动词 动词的过去分词 介词
名词短语1
冠词 Jack is
名词 professor
The professor trains
Jack
trained
by
the
自顶向下的分析方法
句法分析
语义分析
语用分析
词法分析
• 词法分析 主要任务是要找出词汇的各个词素,从中获得语言学信息 ,并确定单词的词义。以英语为例,其词法分析的基本算法如下:
repeat look for word in dictionary if not found then modify the word
until word is found or no further modification possible
• 语言虽然表示成一连串的文字符号或者一串声音 流,但其内部事实上是一个层次化的结构,从语 言的构成中就可以清楚的看到这种层次性。 • 用文字表达的句子: 词素 词或词形 词组或句子
• 用声音表达的句子: 音素 音节 音词 音句
语音分析 词法分析 五 个 层 次 :
在有声语言中,最小可独立的 声音单元是音素,音素是一个 或一组音,它可与其他音素相 区别。语音分析则是根据音位 规则,从语音流中区分出一个 个独立的音素,再根据音位形 态规则找出一个个音节及其对 应的词素或词。
例 利用上述上下文无关文法,给出如下语句的分析树。 The professor trains Jack. 解:
语句 句子 名词短语 冠词 名词 动词短语 动词 终标符
自然语言理解LP
语料库示例
北京大学计算语言所富士通人民日报标注语料库样例: 历史/n 将/d 铭记/v 这个/r 坐标/n :/w 北纬/b 41.1 /m 度/q 、/w 东经/b 114.3/m 度/q ;/w 人们/n 将/d 铭记/v 这/r 一/m 时刻/n :/w 1998年/t 1月 /t 10日/t 11时/t 50分/t 。/w ……
解决办法:理性主义方法与经验主义方 法的融合。 符号智能+ 计算智能 理性主义研究方法— 符号处理系统 经验主义研究方法— 基于语言数据的计 算方法 理性主义与经验主义的合谋— 融合方法
二、形式语法
2.1 概述 形式语法理论的目的是试图用精确的数 学模型(形式语言)来刻画自然语言。 与统计语言模型不同的是,对于一个形 式语法体系来说,一个句子是否属于一 种语言,只存在“是”“否”两种答案, 不存在中间状态(概率)
语义学(Semantics)问题:研究如何从 一个语句中词的意义,及这些词在该语 句的句法结构中的作用来推导出该语句 的意义。 语用学(Pragmatics)问题:研究在不同 上下文中语句的应用,以及上下文对语 句理解所产生的影响。
1.4 自然语言理解研究的基本方法
理性主义(规则方法)1960 – 1980中期 基本信念:有限语言规则覆盖无限语言现象。 然而: (1)语言现象无限丰富和动态开放,“规则有 限性和封闭性”受到质疑 (2)随着规则数量增多,可能经常产生规则之 间的矛盾冲突 (3)人工提取规则费时费事,机器提取规则的 质量还难以保证
一切的智能领域里竞争起来。但是,以哪一点作为竞争的出发点呢?
这是一个很难决定的问题。许多人以为可以把下棋之类的极为抽象的 活动作为最好的出发点,不过,我更倾向于支持另一种主张,这种主 张认为,最好的出发点是制造出一种具有智能的、可用钱买到的机器, 然后,教这种机器理解英语并且说英语。这个过程可以仿效小孩子说 话的那种办法来进行。” Turing提出,检验计算机智能高低的最好办 法是让计算机来讲英语和理解英语。他天才地预见到计算机和自然语 言将会结下不解之缘。
自然语言理解-句法分析概述
例子-分析结果之一
例子-分析结果之二
我们会涉及到……
• • • • 句法分析算法 句法分析消岐策略 浅层句法分析 句法理论
句法结构的歧义消解2
• 我是县长。 • 我是县长派来的。 • 咬死了猎人的狗跑了。 • 就是这条狼咬死了猎人的狗。
• 小王和小李的妹妹结婚了。 • 小王和小李的妹妹都结婚了。
例子-语法
• 小王和小李的妹妹结婚了 规则: 词典: S -> NP VP 小王:N 小李:N NP -> NP C NP 和C NP -> N 妹妹:N NP -> NP de N 结婚:V 了:le VP -> V le 的:de
句法分析概述
什么是句法分析
• 句法分析(Parsing)和句法分析器(Parser)
– 句法分析是从单词串得到句法结构的过程; – 不同的语法形式,对应的句法分析算法也不尽相同; – 由于短语结构语法(特别是上下文无关语法)应用得 最为广泛,因此以短语结构树为目标的句法分析器研 究得最为彻底; – 很多其他形式语法对应的句法分析器都可以通过对短 语结构语法的句法分析器进行简单的改造得到。
与形式语言句法分析的比较
• 形式语言一般是人工构造的语言,是一种确定性的语言, 即对于语言中的任何一个句子,只有唯一的一种句法结构 是合理的,即使语法本身存在歧义,也往往通过人为的方 式规定一种合理的解释。如程序语言中的if…then if…then…else…结构,往往都人为规定else 子句与最接 近的if 子句配对; • 而在自然语言中,歧义现象是天然地大量存在着的,而且 这些歧义的解释往往都有可能是合理的,因此,对歧义现 象的处理是自然语言句法分析器最本质的要求。 • 由于要处理大量的歧义现象,导致自然语言句法分析器的 复杂程度远高于形式语言的句法分析器。
ch6_自然语言理解
概述——自然语言理解应用
机器翻译或机器辅助翻译 文本理解:将输入文本转换成某种数据库格式。 文本生成:根据用户需要以某种自然语言的方式 输出储存在计算机内的各种信息。 自然语言接口:人类直接用自然语言与数据库、 专家系统等进行人机交互。 网络方面:信息检索,提出,过滤,分类,汇总 等。例如:网上信息检索,电子图书馆(digital library),电子商务(e-commerce)等。
学习指南
难重点
知识点
自然语言处理
主要内容
概述:语言及其理解的一般问题 句法和语法的自动分析 大规模汉语语料库加工的基本方法
概述——语言概念和分类
语言是用于传递信息的表示方法、约定和规则 的集合,它由语句组成,每个语句又由单词组 成;组成语句和语言时,应遵循一定的语法与 语义规则。 自然语言是指人类语言集团的本族语,如汉语、 英语、日语等,以及人类用与交流的非发声语 言,如手语、旗语等。自然语言是相对于人造 语言而言的。 人造语言是指世界语或计算机的各种程序设计 语言。
概述——自然语言理解的步骤
汉语理解的一般分为以下步骤: 原文输入 句子词语切分及词语属性特征标注 语法及句法分析 语义及语用和语境分析 生成目标形式表示 句群及篇章理解
概述——自然语言理解的层次
1 语音分析
找出最小可独立的声音单元----音素 汉语的声母、韵母 找出词汇的各个词素(词根)从中获得语 言学信息。 "我们-研究所-有-东西""我们-研究 -所有-东西"
概述——语言构成
语法是语言的组织规律。语法规则制约着如何把词素构 成词,词构成词组和句子。 语法:包括词法和句法 词法:包括构词法和构形法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MP .m q
1
MP m. q
2
MP m q.
6
NP NP NP.
NP NP. NP
NP .NP NP
NP .n
NP .MP NP
MP .m q
7
NP n.
3
NP MP. NP
NP .NP NP
NP .n
NP .MP NP
MP .m q
5
NP MP NP.
$
$ 0 NP 4
n$
$ 0 NP 4 n 7
$
$ 0 NP 4 NP 6
$
$ 0 NP$
算法分析
类似深度优先搜索
如果改变备份栈顺序,可以实现其它搜索策 略。(agenda)
自底向上 复杂度为指数
思考:有没有办法变成多项式?(GLR)
CYK
组成部分
一张二维表,存储中间结果
m
q NP NP
NP MP NP (s) MP m q (4) NP NP NP (1)
一 张 nn 火车 票
Bottom-up
自底向上的方法也叫基于归约的方法。 这种方法是先逐步吃进待分析字符串,把它们 从局部到整体层层归约为可能的成分。 如果整个待分析字符串被归约为开始符号S, 那么分析成功。 如果在某个局部证明不可能有任何从这里把整 个待分析字符串归约为句子的方案,那么就需 要回溯。 如果经过回溯始终无法将待分析字符串归约为 S,那么分析失败。
3
s1
s7
5
3
(4) MP m q
4
s1
s7
acc
6
3
5
s1 r2
r2
s7 r2
r2
6
3
6
s1 r1
r1
s7 r1
r1
6
3
7
r3
r3
r3
r3
Stack $ 0 mMNacPPc143qNnNn2PP7765 nNP7 6
Input Queue mqn$ n$qn$n$n $
Backup Status ( $ 0 NP 4 ) ( n $ )
横坐标i:该跨度左侧第一个词的位置 纵坐标j:该跨度包含的词数
算法描述
初始化 For int i = 0 to n-1
if W(i,i+1) == a && exit Aa Add A to M(i,i+1)
计算 For int l = 2 to n
for int k = 0 to n-l for int j = 1 to l-1 for each A B C if(B in M(k,k+j) and C in M(k+j, k+l)) add A to M(k, k+l)
从小的成分,逐渐计算到大的成分
前提条件
文法符合chomsky范式
文法只有两种形式: A B C 其中,A,B,C都为非终结符 A a 其中,a为终结符
算法数据结构
一个二维矩阵:{ M(i , j) }
每一个元素M(i , j)对应于输入句子中某一个 跨度(Span)上所有可能形成的短语的非终 结符的集合
算法应该……
容纳歧义
允许二义文法 任何可能结果都应计算到
高效
在多项式时间内得到结果 具备排序机制,启发式搜索策略
一些算法
自顶向下 自底向上 带回溯的LR 分析法 CYK Earley Chart Parsing
使用的例子
输入:
一/m 张/q 火车/n 票/n
文法:
Bottom-up
m
q
n
n
一
张
火车
票
Bottom-up
MP
m
q
一
张
n
n
火车
票
Bottom-up
MP
m
q
一
张
NP
n
n
火车
票
Bottom-up
MP
m
q
一
张
NP
NP
n
n
火车
票
Bottom-up
MP
m
q
一
张
NP
NP
NP
n
n
火车
票
Bottom-up
NP NP
MP
NP
NP
m
q
n
n
一
张
火车
票
带回溯的LR
句法分析算法
内容提要
概述 带回溯的LR 分析法 CYK Earley Chart Parsing
概述
程序设计语言分析算法
递归下降 LL LR
特点
高效 排歧策略简单
First集 Follow集 算符优先级
自然语言文法的特点
歧义
歧义最大数量: 真歧义和伪歧义
咬死猎人的狗(v n 的 n) 建设公路的需要 (v n 的 n) 他和我的爸爸(r 和 r 的 n) 他和他的爸爸(r 和 r 的 n)
Top-down
NP
MP
NP
NP MP NP (2)
Top-down
NP
NP
NP
m
q
一张
NP MP NP (s) MP m q (4)
Top-down
NP
NP
NP
m
q NP NP
一张
NP MP NP (s) MP m q (4) NP NP NP (1)
Top-down
NP
NP
NP
NP NP. NP
NP .NP NP
NP .n
NP .MP NP
MP .m q
过程
The Shift-reduce Table and the parsing process
status m
q
n
$
NP
MP
0
s1
s7
4
3
1
s2
2
r4
r4
r4
r4
(1) NP NP NP (2) NP MP NP (3) NP n
NP NP NP (1)
NP MP NP (2)
NP n
(3)
MP m q
(4)
期望分析结果
Top-down
自顶向下的方法又称为基于预测的方法。 这种方法是先产生对后面将要出现的成分的预期,然 后再通过逐步吃进待分析的字符串来验证预期。 如果预期得到了证明,就说明待分析的字符串可以被 分析为所预期的句法结构。 如果某一个环节上预期出了差错,那就要用另外的预 期来替换(即回溯)。 如果所有环节上所有可能的预期都被吃进的待分析字 符串所“反驳”,那就说明待分析的字符串不可能是 一个合法的句子,分析失败。
过程(cont.)
$0 $0m1 $0m1q2 $ 0 MP 3 $ 0 MP 3 n 7 $ 0 MP 3 NP 5
mqnn$ qnn$ nn$ nn$ n$ n$
$ 0 MP 3 NP 5 n 7
$
$ 0 MP 3 NP 5 NP 6
$
$ 0 MP 3 NP 5
$
$ 0 NP 4
$
$ 0 acc
组成部分
Shift-Reduce-Goto 表 分析栈 输入队列 引入备份状态,解决移进规约冲突
LR 分析表的构造
0
S’ .NP
NP .NP NP
NP .n
NP .MP NP
MP .m q
4
S’ NP.
NP NP. NP
NP .NP NP
NP .n
NP .MP NP