关系抽取代码
时间: 2023-07-02 09:11:36 浏览: 110
以下是一个简单的关系抽取代码示例,使用了Stanford CoreNLP工具包。
```python
import os
from stanfordcorenlp import StanfordCoreNLP
# 用于连接Stanford CoreNLP服务器
nlp = StanfordCoreNLP('/path/to/stanford-corenlp-full-2018-10-05')
# 要处理的文本
text = 'John works at Google.'
# 使用Stanford CoreNLP进行依存分析和命名实体识别
dependencies = nlp.dependency_parse(text)
entities = nlp.ner(text)
# 遍历依存关系,寻找包含nsubj和dobj的关系
for dep in dependencies:
if dep[0] == 'nsubj':
subj = entities[dep[1]-1][0]
subj_type = entities[dep[1]-1][1]
elif dep[0] == 'dobj':
obj = entities[dep[1]-1][0]
obj_type = entities[dep[1]-1][1]
# 输出结果
print(subj, subj_type, obj, obj_type)
```
这个示例代码将文本中的主语和宾语识别出来,并给出它们的实体类型。这样就可以从中抽取出"John works at Google."这个句子中的关系"John works at"。需要注意的是,这个示例代码是基于英文的,如果要处理中文文本需要使用中文模型,代码会有所不同。
阅读全文