微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从没有标签的NLTK树中提取树结构?

如何解决如何从没有标签的NLTK树中提取树结构?

我正在使用 benepar (reference here) 来解析法语句子。我想得到一个树结构的语法表示,它以 NPPP 为分割,没有任何额外的标签

例如

  • 原文:

    一个戴着红色头盔的男人在土路上骑着一辆小型轻便摩托车。

  • 期望输出

    ((((一个男人)(带着(一个红色头盔)))(在((一辆小型轻便摩托车)(在(一条土路))))。)

  • 解析输出

    (NP (NP (DT A) (NN man)) (PP (IN with) (NP (NP (DT a) ) (JJ 红色) (NN 头盔)) (PP (IN on) (NP (DT a) (JJ small) (VBN moped))) (PP (IN on) (NP (DT a) (NN 泥土) (NN 路))))) (..))

    (SENT (NP (DET Un) (NC homme) (PP (P avec) (NP (DET un) (NC casque) (AP (ADJ rouge))) (PP (P sur) (NP (DET une) (ADJ petite) (NC mobylette)))) (PP (P sur) (NP (DET un) (NC+ (NC chemin) (P de) (NC terre))))) ( PONCT .))

我为解析输出编写的代码

import spacy
from benepar.spacy_plugin import BeneparComponent

nlp = spacy.load('en')
nlp.add_pipe(BeneparComponent('benepar_en'))
doc = nlp('A man with a red helmet on a small moped on a dirt road .')

sent = list(doc.sents)[0]
print(sent._.parse_string)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。