词法分析就是取出一个个词,然后给词归类、给个种别码什么的。
所以遇到不认识的词或符号,一般就会报错。
语法分析就是根据语法规则识别出语法单位(赋值语句、条件语句之类),并检查语法单位在语法结构上的正确性。
语义分析是对语法单位进行静态的语义审查(动态的在运行时才可确定)。
分析其含义,下一步就会用另一种接近目标语言或直接用目标语言去描述这个含义。
此阶段要求语句的含义和使用规则正确。
引用《统计自然语言处理基础》中的两句话来解答这个问题:
•语义可以分成两部分:研究单个词的语义(即词义)以及单个词的含义是怎么联合起来组成句子(或者更大的单位)的含义•语义研究的是:词语的含义、结构和说话的方式。
以上是书本中的定义,语义分析是一个非常宽泛的概念,任何对语言的理解都可以归纳为语义分析的范畴,笼统地谈语义是一个非常宽泛的概念。
所以应该结合具体任务来看看什么是语义分析,以及语义分析的结果是什么。
从分析粒度上可以分成:词语级的语义分析,句子级的语义分析,以及篇章级别的语义分析。
词语级的语义分析
词语级别的语义分析的主要研究词语的含义,常见的任务有:词语消歧、词表示、同义词或上下位词的挖掘。
•词语消歧:一词多义是许多语言的固有属性。
以“苹果”为例,可以指水果,又可以指美国的科技公司。
词语消歧的任务是判
断文中出现的词语是属于哪种意思。
•词表示:深度学习兴起后,掀起了一波对词表示的研究浪潮。
词表示的任务是用一个k维的向量表示一个词,并且该向量中
包含着词语的意思。
比较有代表性的工作是Tomas
Mikolov的Word2Vec,该方法训练得到的词向量能够让语义
相关的词具有相似的词向量,并且词向量间还具有逻辑推算能
力。
•同义词和上下位词的挖掘:语言的多样性导致了多词义一,例
如房子的近义词有房屋、房产。
语言的层次性导致了词语间具
有上下位关系,像房产、存款、股票可归纳为财产。
可以使用
一些机器学习的方法挖掘词语间的这种关系。
句子级的语义分析
句子级别的任务就更多了,常见的任务有:语义角色标注、蕴含分析、句子表示、语义依存分析。
•语义角色标注(Semantic Role
Labeling, SRL) 是一种浅层的语义分析技术,标注句子中某些短语为给定谓词的论元(语义角色) ,如施事、受事、时间和地点等。
其能够对问答系统、信息抽取和机器翻译等应用产生推动作用。
•文本蕴涵(Textual entailment)是指两个文本片段有指向关系。
当认为一个文本片段真实时,可以推断出另一个文本片断的真实性。
完成这样。
完成这样的任务,也需要从语义角度出发进行解决。
•句子表示:同词表示类似,句表示研究的是用一个k维的向量表示一句话的含义。
近几年,常用句向量在文本检索、问答系统中计算文档间的相似度。
•语义依存分析(Semantic
Dependency Parsing, SDP),分析句子各个语言单位之间的语义关联,并将语义关联以依存结构呈现。
语义依存分析目标是跨越句子表层句法结构的束缚,直接获取深层的语义信息。
比较有代表性的工作是哈工大刘挺老师实验室的LTP。
篇章级的语义分析
篇章级的语义分析是句子级研究的延伸,常见的任务是指代消解。
•人称代词(Pronoun)
【李明】怕高妈妈一人呆在家里寂寞,【他】便将家里的电视搬了过来。
•指示代词(Demonstrative)
【很多人都想创造一个美好的世界留给孩子】,【这】可以理解,但不完全正确
•有定描述(Definite Description)
【贸易制裁】似乎成了【美国政府在对华关系中惯用的大棒】。
然而,这【大棒】果真如美国政府所希望的那样灵验吗?
以上提到的仅是我工作学习中涉及到的一些任务。
除此之外,语义分析还运用在许多别的NLP任务中。
多多指教!。