首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编号格式转换斯坦福依赖项

以编号格式转换斯坦福依赖项
EN

Stack Overflow用户
提问于 2016-09-06 05:01:40
回答 1查看 116关注 0票数 0

我使用的是Stanford dependency parser,我得到以下句子的输出

我在睡梦中射杀了一只大象

代码语言:javascript
复制
>>>python dep_parsing.py 
[((u'shot', u'VBD'), u'nsubj', (u'I', u'PRP')), ((u'shot', u'VBD'), u'dobj', (u'elephant', u'NN')), ((u'elephant', u'NN'), u'det', (u'an', u'DT')), ((u'shot', u'VBD'), u'nmod', (u'sleep', u'NN')), ((u'sleep', u'NN'), u'case', (u'in', u'IN')), ((u'sleep', u'NN'), u'nmod:poss', (u'my', u'PRP$'))]

不过,需要编号的令牌作为输出,就像 它就在这里一样

代码语言:javascript
复制
nsubj(shot-2, I-1)
  root(ROOT-0, shot-2)
  det(elephant-4, an-3)
  dobj(shot-2, elephant-4)
  case(sleep-7, in-5)
  nmod:poss(sleep-7, my-6)
  nmod(shot-2, sleep-7)

到现在为止这是我的密码。

代码语言:javascript
复制
  from nltk.parse.stanford import StanfordDependencyParser
  stanford_parser_dir = 'stanford-parser/'
  eng_model_path = stanford_parser_dir + "stanford-parser-models/edu/stanford/nlp/models/lexparser/englishRNN.ser.gz"
  my_path_to_models_jar = stanford_parser_dir + "stanford-parser-3.5.2-models.jar"
  my_path_to_jar = stanford_parser_dir + "stanford-parser.jar"

  dependency_parser = StanfordDependencyParser(path_to_jar=my_path_to_jar, path_to_models_jar=my_path_to_models_jar)

  result = dependency_parser.raw_parse('I shot an elephant in my sleep')
  dep = result.next()
  a = list(dep.triples())
  print a

我怎么能有这样的输出?

EN

回答 1

Stack Overflow用户

发布于 2016-09-09 18:23:52

编写遍历树的递归函数。第一次通过时,只需给单词分配数字即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39340965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档