【发布时间】:2017-08-03 07:30:57
【问题描述】:
我发现标记化代码非常复杂,但我仍然无法找到代码中句子被拆分的位置。
例如,分词器是如何知道的
Mr. Smitt stayed at home. He was tired
不应在“先生”中拆分。并且应该在“He”之前拆分。?在“他”发生之前,代码中的哪个位置发生了拆分?
(事实上,我不确定自己是否在寻找正确的地方:如果我在tokenizer.pyx 中搜索sents,我没有找到任何匹配项)
【问题讨论】:
我发现标记化代码非常复杂,但我仍然无法找到代码中句子被拆分的位置。
例如,分词器是如何知道的
Mr. Smitt stayed at home. He was tired
不应在“先生”中拆分。并且应该在“He”之前拆分。?在“他”发生之前,代码中的哪个位置发生了拆分?
(事实上,我不确定自己是否在寻找正确的地方:如果我在tokenizer.pyx 中搜索sents,我没有找到任何匹配项)
【问题讨论】:
您可以使用生成器通过 doc 对象访问拆分:
doc.sents
生成器的输出是一系列跨度。
至于如何选择拆分,解析文档的依赖关系。理解解析器并非易事——如果你想理解它,你必须阅读它——它使用神经网络来告知如何构建依赖树的决策;但分裂是那些没有被依赖跨越的令牌之间的差距。这不仅仅是您找到句号的地方,因此该方法更加稳健。
【讨论】: