斯坦福OpenIE的简约包装
stanford-openie的Python项目详细描述
斯坦福OpenIE的Python包装器
开放信息抽取(openie)是指从纯文本中提取结构化关系的三元组,这样就不需要预先指定这些关系的模式。例如,barackobama出生在夏威夷将创建一个三(Barack Obama; was born in; Hawaii)
,对应于开放域关系“出生于”。CoreNLP是一个开放式IE系统的Java实现,如本文所述:
更多信息可以在这里找到:http://nlp.stanford.edu/software/openie.html
V2
fromopenieimportStanfordOpenIEwithStanfordOpenIE()asclient:text='Barack Obama was born in Hawaii. Richard Manning wrote this sentence.'print('Text: %s.'%text)fortripleinclient.annotate(text):print('|-',triple)graph_image='graph.png'client.generate_graphviz_graph(text,graph_image)print('Graph generated: %s.'%graph_image)withopen('corpus/pg6130.txt','r',encoding='utf8')asr:corpus=r.read().replace('\n',' ').replace('\r','')triples_corpus=client.annotate(corpus[0:50000])print('Corpus: %s [...].'%corpus[0:80])print('Found %s triples in the corpus.'%len(triples_corpus))fortripleintriples_corpus[:3]:print('|-',triple)
V1(已弃用)
斯坦福大学最新信息提取库的非官方跨平台Python包装器。在
^{pr2}$用法
首先,确保安装了Java1.8。打开终端并运行以下命令以检查:
java -version
如果不是这样,如果你的操作系统是Ubuntu,你可以这样安装:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
可以通过编程方式或通过命令行调用代码。可以使用以下命令调用该程序。它将显示[['Barack Obama', ' was', ' born'], ['Barack Obama', ' was born in', ' Hawaii']]
git clone https://github.com/philipperemy/Stanford-OpenIE-Python.git cd Stanford-OpenIE-Python echo"Barack Obama was born in Hawaii." > samples.txt python main.py -f samples.txt
输出应该类似于:
Barack Obama | was | born
Barack Obama | was born in | Hawaii
故障排除
第一次使用lib时,可能会出现这样的错误:
AssertionError: ERROR: Call to stanford_ie exited with a non-zero code status
错误与Java的交互有关。为了解决这个问题,我建议运行带有--verbose
参数的python脚本。在日志中搜索executing command = <whatever command>
行,并将此<whatever command>
复制粘贴到终端中以查看错误。在
大型语料库
有时,您只想在一些比几句话更大的内容上运行信息提取工具。我提供了一个bash脚本。本例在book:The Iliad by Homer上运行该工具,由1.2M字符和26K行组成。在
./process_large_corpus.sh corpus/pg6130.txt corpus/pg6130.txt.out
wc -l corpus/pg6130.txt.out
> 23888
生成图形
echo"Barack Obama was born in Hawaii." > samples.txt python main.py -f samples.txt -g
将在/tmp/openie/
中生成GraphViz DOT图形及其相关的PNG文件
注意:确保事先安装了GraphViz。尝试运行dot
命令,看看情况是否如此。如果不是,那么运行sudo apt-get install graphviz
如果你在Ubuntu上运行。在
支持
您可以打开问题,也可以向premy@cogent.co.jp发送电子邮件。欢迎投稿!在
- 项目
标签: