gpt4 book ai didi

parsing - 使用 NLTK 和 MaltParser 的依赖解析器

转载 作者:行者123 更新时间:2023-12-02 15:58:27 25 4
gpt4 key购买 nike

我正在使用 NLTK 和 Maltparser 从自然语言句子中提取依赖关系。我使用斯坦福解析器和以下代码做了一些实验:

sentence =  '''I shot an elephant in my pajamas'''
os.popen("echo '"+sentence+"' > ~/stanfordtemp.txt")
parser_out = os.popen("/usr/local/Cellar/stanford-parser/2.0.3/bin/lexparser.sh ~/stanfordtemp.txt").readlines()

for i, tag in enumerate(parser_out):
if len(tag.strip()) > 0 and tag.strip()[0] == '(':
parse = " ".join(tag.strip())
print i, "Parse: ", tag
elif len(tag.strip()) > 0:
print i, "Typed dependencies: ", tag
bracketed_parse = " ".join( [tag.strip() for tag in parser_out if len(tag.strip()) > 0 and tag.strip()[0] == "("] )
print bracketed_parse

并得到了这个不错的结果:

Parsing [sent. 1 len. 7]: I shot an elephant in my pajamas

Parsed 7 words in 1 sentences (12,87 wds/sec; 1,84 sents/sec).
0 Parse: (ROOT
1 Parse: (S
2 Parse: (NP (PRP I))
3 Parse: (VP (VBD shot)
4 Parse: (NP (DT an) (NN elephant))
5 Parse: (PP (IN in)
6 Parse: (NP (PRP$ my) (NNS pajamas))))))
8 Typed dependencies: nsubj(shot-2, I-1)
9 Typed dependencies: root(ROOT-0, shot-2)
10 Typed dependencies: det(elephant-4, an-3)
11 Typed dependencies: dobj(shot-2, elephant-4)
12 Typed dependencies: poss(pajamas-7, my-6)
13 Typed dependencies: prep_in(shot-2, pajamas-7)

使用 MaltParser,我有以下代码:

os.environ['MALTPARSERHOME']="/Applications/maltparser-1.7.2"
maltParser = nltk.parse.malt.MaltParser(working_dir="/Applications/maltparser-1.7.2",
mco="engmalt.linear-1.7",
additional_java_args=['-Xmx1024m'])
txt = '''I shot an elephant in my pajamas'''
graph = maltParser.raw_parse(txt)
print(graph.tree().pprint())

和以下输出:

(pajamas (shot I) an elephant in my)

问题:我可以得到与使用斯坦福解析器时相同的输出吗?任何帮助都会很棒。

最佳答案

在 MALT 文档中浏览,我没有看到一个选项与您显示的详细的斯坦福解析器输出 100% 匹配,但您可以尝试使用 connlx 和 connlu 输出选项,看看它们是否具有您需要的信息.

http://www.maltparser.org/options.html

原则上,非投影依赖性分析可以通过 MALT 输出的转换重新表述为选区分析,这将为您提供括号,不需要太多的努力,但标记选区将需要更多的工作。

关于parsing - 使用 NLTK 和 MaltParser 的依赖解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21815891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com