NLP:空间获取依赖项

2024-04-19 07:14:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从这个句子中提取一些数字,但我想验证正确的数字是否与正确的文本匹配。你知道吗

nlp = spacy.load('en_core_web_sm')  
s2 = 'Revenue from the advertising and subscription business for the first quarter of 2019 was RMB897.0 million (US$133.7 million), representing a 13.9% increase from RMB787.5 million (US$117.3 million) in the corresponding period in 2018.'

doc = nlp(s2)
for w in doc.ents:
    print(w.text, w.label_, w.root)
    for i in w.subtree:
        print("   ", i, i.head)
        for a in i.ancestors:
            print("       ", a, a.head)

我想把RMB897.0 millionadvertising and subscription联系起来,但不知道怎么做。还尝试了名词组块。你知道吗

for chunk in doc.noun_chunks:
    print(chunk.text, chunk.root.text, chunk.root.dep_,
          chunk.root.head.text)

    for c in chunk.subtree:
        print("   ", c, c.head)

Tags: thetextinfromfordocnlp数字
1条回答
网友
1楼 · 发布于 2024-04-19 07:14:50

首先,你需要考虑你的数据。如果你发现了数字和相关名词的某些模式,你就可以用它们来找出它们之间的关系,不管怎样,这并不是很可靠。 更好的方法是使用依赖分析或完全分析算法,使用词性标注(POS)信息,可能还有头动词的语义信息。这是一个真正的语言任务,意味着你需要语言信息。连接动词表示数字与动词参数有关,所以 提取和关联很简单。其他情况可能不那么明显。你知道吗

或许可以先对包含数字的表达式和它们出现的矩阵动词(be、amount to、reduce to、increase等)进行一些搭配分析,然后你就可以使用动词参数的信息来注释关系了。也许可以看看对应和回指解决,这可能会帮助你。你知道吗

相关问题 更多 >