我发现令牌化代码非常复杂,我仍然无法在代码中找到句子分割的位置。
例如,tokenizer如何知道
Mr. Smitt stayed at home. He was tired
不应分成" Mr。"并且应该在"他"之前拆分。代码中的位置在&#34之前进行拆分;他"会发生什么?
(事实上,我不确定实际上不确定我是否正在寻找合适的地方:如果我在sents
中搜索tokenizer.pyx
我找不到任何事件
答案 0 :(得分:1)
您可以通过doc对象使用生成器访问拆分:
doc.sents
发电机的输出是一系列跨度。
至于如何选择拆分,将解析文档的依赖关系。理解解析器并非易事 - 如果你想理解它,你必须阅读它 - 它使用神经网络来告知决定如何构建依赖树;但是分裂是令牌之间的间隙,这些间隙没有被依赖性交叉。这不仅仅是您找到一个完整站点的地方,因此该方法更加健壮。