lnk200无法解析的外部符号_语义解析

f8f95fe0d9bfbc068a376e2652ec2a3f.png

一、智能问答系统与推理

任务需求

人机对话的三个层次:闲聊、问答、对话

基于知识图谱的问答系统有两条路:

  • 对用户的问题进行语义理解,一般用Semantic Parsing(语义分析),得到了一个句子的逻辑表示,根据逻辑表示再到知识库里去查
  • 信息检索方法。假设这个知识库是完备的,从用户的问题中识别一个实体,然后以光实体为中心,进行广度搜索,把与他相关的词全部挖出来,然后计算相似度

eg:张三的小姨是谁?

67bd556b4036928fe3d26d463b6ec325.png

相似度计算:

  1. 提取关键词,词嵌入,计算距离
  2. 将知识库的一条知识用自然语言表征出来,然后与用户的问题计算相似性(微软小冰)

二、语义解析

为什么?

传统的信息检索:实体及属性提取→根据映射生成SQL查询语句

缺点:无推理功能,无法正确理解含有逻辑关联词的语句正

f763aa274e6142869f6786a1b9d7b15f.png

373c58442bfbd98177af59d2f115796a.png

第一步:实体提取,马铃薯它是一个实体,辣是属性

第二步:语义解析,马铃薯是MUST,就是它一定要也,这个辣就是MUST NOT就是一定没有这样的一层关系。

第三步:同义表达,马铃薯它也是土豆,所有土豆也是 MUST。

第四步:实体属性映射关系,生成SPARQL语句

Eg:土豆“和”西红柿“或者”豆角可以做什么不辣的菜?
实体及属性提取:土豆、西红柿、豆角、辣
生成逻辑表达式:土豆Λ(西红柿Ⅴ豆角)Λ(¬不辣)
生成查询语句:
SELECT ?dish
WHERE { ?dish hasNameIngredient:土豆, ?dish hasNameIngredient:西红柿} {?dish hasTaste ?taste.
FILTER (!regex(str(?taste),”辣”))}
UNION
SELECT ?dish
WHERE { ?dish hasNameIngredient:土豆, ?dish hasNameIngredient:豆角} {?dish hasTaste ?taste.
FILTER (!regex(str(?taste),”辣”))}

是什么?

953be40fe29461c2a16ea7fc5ee7becf.png

依存句法分析属于浅层句法分析。其实现过程相对简单。但是依存句法分析所能提供的信息也相对较少。深层文法句法分析可以提供丰富的句法和语义信息,但是采用的文法相对复杂,分析器的运行复 杂度也较高,这使得深层句法分析当前不适合处理大规模数据。短语结构句法分析介于依存 句法分析和深层文法句法分析之间。

句法结构:

词与词的组合构成句法结构。句法结构的基本类型有主谓、动宾、偏正、补充、联合五种。句法结构分析的任务:已知一个句子从左到右各词的词性,要反过来求出一棵满足要求的“句法结构树”

e2384e91a5da90a9f9f25bf8d16ae373.png

文法:编译原理的中的一个概念。文法是用于描述语言的语法结构的形式规则。任何一种语言都有它自己的文法,不管它是机器语言还是自然语言。就像自然语言里有主谓宾这样的文法一样,机器语言也有描述它语言构成的特定文法

  1. N→ ND|D
  2. D→ 0|1

终结符:

终结符是一个形式语言的基本符号。就是说,它们能在一个形式语法的推导规则的输入或输出字符串存在,而且它们不能被分解成更小的单位。确切地说,一个语法的规则不能改变终结符。例如说,下面的语法有两个规则:

x -> xa

x -> ax

在这种语法之中,a是一个终结符,因为没有规则可以把a变成别的符号。不过,有两个规则可以把x变成别的符号,所以x是非终结符。一个形式语法所推导的形式语言必须完全由终结符构成。

非终结符: 不是终结符的都是非终结符。非终结符可理解为一个可拆分元素,而终结符是不可拆分的最小元素。

开始符号:为非终结符,又称为识别符号, 常用S表示。

产生式:定义符号串之间关系的一组规则, 形如A→ α,文法规则是产生式, 产生式不一定是文法规则。

推导:由文法开始符号开始推导, 用产生式的右部取代产生式的左部, 直到推到终结符号为止。

规约:规约是句子通过文法规则将产生式的左部取代右部, 直到规约到非中介符为止。

三、短语结构句法分析

  • Chomsky将文法定义为四元组 G=(VN,VT,R,S) 其中VN表示非终结符的集合,VT表示终结符的集合,R表示产生式的有穷集合,S表示开始符号。 文法具体又可以分为0型文法,1型文法, 2型文法,3型文法。V=VN∪VT

2型文法:R中的产生式具有形式A⟶β ,其中A∈VN,β∈V*

2型文法称为上下文无关文法,记作CFG(Context-Free Grammar)

  • 基于PCFG的句法分析

PCFG是上下文无关文法的扩展,是一种生成式的为方法,其文法定义为五元组 G=(VN,VT,R,S,P),P代表每个产生规则的统计概率

从同一个词性序列出发,可能会构建出不同的句法结构树。

例如:“动词+形容词+名词”,我们有两种构建句法结构树的方案:

ce45f35297ea81caa6aaa7c0cd44c222.png

造一个句子“踢破皮球”,两种句法结构都是成立的,于是出现了歧义:把皮球踢破了(结构和“点亮蜡烛”一致),或者是,踢一个破的皮球(结构和“踢新皮球”一致)

在生成规则中添加限制条件,便得到了基于规则的句法分析器

a27d632831480ca1bbcdb1e4864ecdd0.png

cf7d714ba5efae6dddb1fce6df2314cc.png

e2c4b4c475fd3a5e6ce929e4a8a4e753.png
  • 实践工具:Stanford Parser
  • 缺点:虽然基于PCFG的句法分析器的实现比较简单,但是这类分析器的性能并不能让人满意。主要原因在于一条文法规则的选择只与该规则左侧的非终结符有关,而与任何其它上下文信息无关。文法中缺乏其它信息用于规则选择的消歧

四、组合范畴文法(CCG)

  • 范畴文法:一种用数学方法构造的、描述自然语言的句法理论,它从生成的角度对句子的形式进行演算。带有语义类型的范畴能够将句法和语义紧密结合在一起,十分适合进行语义解析
  • CCG属于短语结构文法。CCG 的基本操作包括:1)原子范畴,用于表达基本的词汇类别和句法功能; 2)组合范畴,由原子范畴构成,通常用 X/Y 或 XY 来表示可以向左或者向右寻找变元 Y 来获得组合 X
  • 组合范畴是高度词例化的文法,大量的词项组成CCG的词典,如下所示

9ccf151f993454e7c5ed71584abaa107.png
  • 组合规则:组合范畴使用少量的组合规则对句子进行句法解析和语义解析

285c8ffa66a69d0281e8ce96b86922f8.png
  • 利用CCG进行高效的句法分析是当前自然语言处理的重要领域之一。在国外已经取得了一定的研究成果。然而在国内还是一大难题。相较于一般的上下文无关文法,组合范畴文法的的句法分析要困难的多。主要原因在于
  1. 非终结符和句法规则要远大于CFG
  2. 起步较晚,主要是用规则和模板的方式来构建解析器,主要应用于数据库的自然语言接口和指令解释领域
  3. 利用CCG进行句法分析需要CCG词典,英文词典已经比较完善,而中文词典的构建难度较大,特别是在歧义的处理

五、基于深度学习的句法分析

传统方法的特征表示主要采用人工定义原子特征和特征组合,而深度学习则把原子特征进行向量化,在利用多层神经元网络提取特征。把词、词性、类别标签等原子特征表示为向量,然后利用多层网络进行特征提取。

深度学习在特征表示方面有如下优点:只需要原子特征。这些原子特征以前是通 过人工的自由组合形成最终的一元特征、二元特征、三元特征、四元特征甚至更多元的组合。但是事实上我们不知道怎么组合能形成最佳的特征集合。

6cab77e106be2f2c2fccbb42d7c0ddc8.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值