IBM Watson机器人算法介绍(2)


3.      知识获取和知识表示

3.1  结构化内容获取

现在互联网中也已经整理好了很多结构化的信息,比如:

l    开放的 Ontology

l    Wikipedia 中的 infobox 信息

l    Dbpedia 提供的各类结构化信息

l    ……

这些知识一般可以总结为:【主本体】  < 关系 【辅助本体】   这样的三元组。 DeepQA 爬取和整理很多这类的三元组用来直接获取候选答案,替换子句的问题,确定答案类别等方面。

3.2  半结构化内容获取

机器人选择一些比较可信的文档作为种子,通过互联网,检验种子文档中的信息,对种子文档进行扩充。

 

Nugget 定义:

1,    通常 Nugget 是一个事件,或者实体(本体)

2,    每个 Nugget 包含两部分:锚( Anchor 围绕的核心)和内容

 

锚的定义:

1,    要么是实体的中心名词

2,    要么是实体的中心动词(当句子中有多个实体时,选择主语做锚)

 

举例:

The girl working in the bookstore in Hollywood talked to the diplomat living in Britain.

可以分解成多个 Nuggets ,如下:

l    [girl] working at the bookstore in Hollywood.

l    [girl] working at the bookstore.

l    [bookstore] in Hollywood.

l    Girl [talked] to the diplomat living in Britain.

l    Girl [talked] to the diplomat.

l    [diplomat] living in Britain

方括号中的部分为锚

 

通过上面的介绍,就可以了解。每次机器读取一句话,就把它分解成多个 Nuggets ,然后在 Evidence 库中去计算这些 Nugget 的置信度,如果可信,就增加到现有的知识库中来。

1 ,找一个种子文档,从 web 检索相关文档

2 ,抽取各个 nuggets

3 ,计算哪些 nuggets 对种子文档有用

4 ,整合最有用的 nuggets 到语料库中

通过这种方法,可以让机器人的知识库达到一种全自动扩张的效果,当然,种子文档的选择很重要,这些文档是知识扩展的初始化信息,对后续扩展的方向有直接的作用。

 

Reference

1,    “Building Watson: An Overview of the DeepQA Project”

2,    “Text Comparison Using Machine-Generated Nuggets”

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章