信息抽取
信息抽取技术主要用于抽取:
-
抽取实体:比如人,地名,时间这些一般的常见的实体,再比如在一些垂直领域,需要提取医疗领域,金融领域,教育领域等方面的实体。
-
抽取关系:提取的是实体与实体间的关系。
信息抽取应用场景:比如我们有以上一段话,需要进行实体抽取,以及实体间的关系抽取,接下来需要把这些信息整合成知识图谱的形式。
更多应用:
- 知识库的搭建
- Google Scholar
- 用户库: Rapleaf, Spoke…
- 购物引擎,产品搜索
- 专利分析
- 证券分析
- 问答系统
关键:把非结构化的数据转为化结构化的数据
实体抽取的开源工具:Stanford Parser, NLTK, Spacy, foolNLTK, HanNLP
命名实体识别方法:
- 利用规则(正则表达式)
- 利用分类模型(不考虑时序)
生成模型:朴素贝叶斯…
判别模型:逻辑回归,SVM… - 时序模型
HMM,CRFs, RNN/LSTM/GRU…
开源知识库(通过信息抽取技术从Web文本中整合成的结构化的信息库):
- WordNet
- FreeBase
- Yago
- Dpedia
- KnowledgeVault
关系抽取的方法:
- 基于规则
- 监督学习
- 半监督&无监督学习
Bootstrap
Distant Supervision
无监督学习
下面重点讲讲Bootstrap方法:以上图为例,我们已知一些organization和location的关系组(seed tuples),接下来如何应用这些已知数据提取更多的organization和location关系对呢?
- 首先,我们在文本中搜寻这些seed tuples
- 这些seed tuples所在的文本结构就是两者间的关系表达,比如
“Microsoft is located in RedMond”, “IBM is situated in Armonk”,由些,我们提取出"is located in"和"is situated in"作为pattern - 接着,我们又可以利用这些pattern去提取新的organization和location