Author:Peter Ochieng(<–这个是作者!)
考虑一下用户查询(user query):哪位女演员在《卡萨布兰卡(Casablance)》中扮演角色,并且嫁给了一位出生于罗马(Rome)的作家(Which female actor played in Casablanca and is married to a writer born in Rome?),基于(5a)式子中的规则,该查询被标记为一个复合语句(compound sentence),因此这个查询会被分成两个简单句:
- s1= Which female actor played in Casablanca
- s2=Which female actor is married to a writer born in Rome
- cc = And
当GenerateTriple函数同时应用于s1和s2时,将生成以下用户三元组(user triples):
- GenerateTriple(s1)= {actor played_in Casablanca}
- GenerateTriple(s2)={actor married_to writer,writer born_in Rome}
然后对用户三元组进行扩展(交换位置),以预测在底层本体(undelying ontologies)中的可能位置:
- {(actor played_in Casablanca, Casablanca played_in actor) }
- {(actor married_to writer, writer married_to actor)(writer born_in Rome, Rome born_in writer)}
从查询(query)中生成的最终用户三元组(final user triples)如清单1(Listing 1)所示:
在底层本体(undelying ontology)中建模(model)的概念(concepts)的正确位置(correct positon)将由第3.5节(Section 3.5)中讨论的词典(lexicon)来解决。
- Section3.5 关于词典是什么,我也不是很懂!!!唉!!>_<
在两种特殊情况下,GenerateTriple应用了公式8(equation 8)中的规则。这些规则基本上适用于不明确动词(explicit verb)连接哪个名词(nouns)的情况(scenarios)。适用的规则:
- 当查询以who开始,比如,Who killed Ceasar?
- 当查询包含一个不在任何两个名词noun之间的动词verb时,比如当一个动词在一个句子结尾时,In which continent does the Nile traverse?
规则(8a)适用于第一种情况,(8b)适用于第二种情况。
考虑这个查询Who killed Ceasar,并对它应用(8a),如下式所示:
如上图所示生成了{?who killed Ceasar}和{Ceaser killed ?Who}两个用户三元组。再考虑查询语句In which continent does the Nile traverse,依赖关系图dependency diagram如图(Fig.5)所示。
应用(8b)中的规则,如下式所示:
注意:写个总结给我自己,觉得作者写了一堆规则,都是理论,虽然也有举例子,但是对我这种“能运行的都是好的”的人来说,感觉还不如直接把软件使用说明和软件或者代码发过来更让我觉得幸福!!!