【问题标题】:Spacy tokenizer to handle final period in sentenceSpacy 标记器处理句子中的最后一个句点
【发布时间】:2019-08-13 11:42:04
【问题描述】:

我正在使用 Spacy 对句子进行标记,并且我知道我传递给标记器的文本将始终是一个句子。

在我的标记化规则中,我希望将非最终句点 (".") 附加到它之前的文本中,因此我更新了后缀规则以删除在句点上拆分的规则(这可以正确获得缩写)。

但是,例外情况是最后一个句点应该被分成一个单独的标记。

我看到最新版本的 Spacy 允许您在事后拆分令牌,但我更愿意在 Tokenizer 本身内执行此操作,以便其他管道组件处理正确的令牌化。

【问题讨论】:

  • 尝试在后缀中添加r'^\.$' 规则。
  • 请将您的代码添加到问题中。
  • 后缀正则表达式在空格上分割后匹配文本,因此正则表达式不起作用。标记器有很多代码,所以让我考虑一下如何简洁地做到这一点......

标签: tokenize spacy


【解决方案1】:

这是一种在分词器之后使用一些后处理的解决方案:

  • 我添加了“。” to 后缀,这样一个句点总是被分割成它自己的标记。
  • 然后,我使用正则表达式查找非最终句点,使用doc.char_span 生成一个跨度,并使用span.merge 将该跨度合并为一个标记。

如果有人知道怎么做的话,能在分词器中做到这一点会很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-14
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2019-04-03
    相关资源
    最近更新 更多