我正在使用spaCy的NLP模型来确定输入数据的POS,以使我的马尔科夫链在语法上更加正确,与python markovify库中的示例一样,该库可在此处找到。然而,spaCy分割标记的方式使得在重构它们时变得困难,因为某些语法元素也被拆分了,例如
我认为标记的
有没有一种标记属性可以用来告诉连接句子的方法何时省略空格,或者其他方法可以知道这一点?
"don't"
变成了["do", "n't"]
。这意味着你不能再像以前那样简单地通过空格重新连接生成的马尔科夫链,而是需要知道这些标记是否组成一个单词。我认为标记的
is_left_punct
和is_right_punct
属性可能与此有关,但似乎并不相关。我的当前代码只处理PUNCT
标记,但do n't
问题仍然存在。有没有一种标记属性可以用来告诉连接句子的方法何时省略空格,或者其他方法可以知道这一点?
str(bool(word.whitespace_))))
还有以下生成:if whitespace == "True": sentence += f"{word} "
这样做有意义吗?需要将whitespace属性转换为字符串以训练马尔可夫模型吗?@NathanMcCoy - lightyrs