信息一个重要的形式是结构化数据。实体和关系的可预测的规范的结构。
我们首先将自然语言句子这样的非结构化数据转换成表7-1的结构化数据。
然后利用强大的查询工具,如SQL,这种从文本获取意义的方法被称作信息提取。
信息提取结构
如图显示了简单的信息提取系统的结构。
1、首先使用句子分割器将该文档的原始文本分割成句
2、使用分词器将每个句子进一步细分为词
3、对每个句子进行词性标注
4、命名实体识别
5、使用关系识别搜索文本中不同实体间可能的关系
最终生成的结果大致为:(entity,relation,entity)
要执行前面三项任务,我们可以定义一个函数:
import nltk,re,pprint def ie_preprocess(document): sentences=nltk.sent_tokenize(document) senttences=[nltk.word_tokenize(sent) for sent in sentences] sentences=[nltk.pos_tag(sent) for sent in sentences]
接下来讨论,如何进行之后的步骤,命名实体识别和关系识别。