gpt4 book ai didi

python - 如何知道在 spaCy NLP 输出中按空格连接的位置

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:07 27 4
gpt4 key购买 nike

我正在使用 spaCys NLP 模型来计算输入数据的 POS,这样我的马尔可夫链在语法上可以更正确一些,就像 python markovify 库中的示例一样 here .然而,spaCy 拆分标记的方式使得重建它们变得困难,因为某些语法元素也会被拆分,例如 "don't" 变成 ["do", "n't"] 。这意味着您不能再简单地通过空格重新加入生成的马尔可夫链,而是需要知道标记是否组成一个词。

我假设标记的 is_left_punctis_right_punct 属性可能与此相关,但似乎并不相关。我当前的代码只考虑了 PUNCT 标记,但是 do n't 问题仍然存在。

我是否可以使用标记的属性来告诉将句子连接在一起的方法何时省略空格或以其他方式知道这一点?

最佳答案

Spacy 标记有一个始终设置的 whitespace_ 属性。

您始终可以使用它,因为当它们存在时它将代表实际的空格,或者当它不存在时它是一个空字符串。

这发生在你提到的情况下,当标记化拆分一个连续的字符串时。

因此 Token("do").whitespace_ 将是空字符串。

例如

[bool(token.whitespace_) for token in nlp("don't")]

应该产生

[False, False]

关于python - 如何知道在 spaCy NLP 输出中按空格连接的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55500432/

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