鉴于以下句子:
The old oak tree from India fell down.
Run Code Online (Sandbox Code Playgroud)
如何使用python NLTK获得句子的以下解析树表示?
(ROOT (S (NP (NP (DT The) (JJ old) (NN oak) (NN tree)) (PP (IN from) (NP (NNP India)))) (VP (VBD fell) (PRT (RP down)))))
Run Code Online (Sandbox Code Playgroud)
我需要一个在网络上找不到的完整示例!
编辑
我已经阅读了本书的章节来学习使用NLTK进行解析,但问题是,我需要一个语法来解析我没有的句子或短语.我发现这个stackoverflow帖子也询问了语法解析,但没有令人信服的答案.
所以,我正在寻找一个完整的答案,可以给我一个句子的解析树.
这是使用StanfordCoreNLP替代的替代解决方案nltk.建立在顶部的库很少StanfordCoreNLP,我个人使用pycorenlp来解析句子.
首先,您必须下载stanford-corenlp-full文件夹中的*.jar文件夹.并在文件夹内运行服务器(默认端口为9000).
export CLASSPATH="`find . -name '*.jar'`"
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer [port?] # run server
Run Code Online (Sandbox Code Playgroud)
然后在Python中,您可以运行以下命令来标记句子.
from pycorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP('http://localhost:9000')
text = "The old oak tree from India fell down."
output = nlp.annotate(text, properties={
'annotators': 'parse',
'outputFormat': 'json'
})
print(output['sentences'][0]['parse']) # tagged output sentence
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7619 次 |
| 最近记录: |