4

我发现标记化代码非常复杂,但我仍然找不到代码中的句子被拆分的位置。

例如,分词器如何知道

Mr. Smitt stayed at home. He was tired

不应拆分为“先生”。并且应该在“He”之前拆分。?在“他”发生之前,代码中的哪个位置发生了分裂?

(事实上​​,我不确定我是否在寻找正确的地方:如果我在里面搜索sentstokenizer.pyx我没有找到任何出现)

4

1 回答 1

1

您可以使用生成器通过 doc 对象访问拆分:

doc.sents

生成器的输出是一系列跨度。

至于如何选择拆分,则解析文档以查找依赖关系。理解解析器并非易事——如果你想理解它,你必须阅读它——它使用神经网络来告知如何构建依赖树的决策;但分裂是那些没有被依赖跨越的令牌之间的差距。这不仅仅是您找到句号的地方,因此该方法更加稳健。

于 2018-02-16T14:59:41.067 回答