Spacy:在字符串中保留位置标记,在Spacy中忽略它们

时间:2017-05-05 07:44:41

标签: python nlp spacy

我通过Spacy运行相当长的文档,并希望在Spacy文档中保留段落的位置标记,但在解析中忽略它们。我这样做是为了避免为所有段落创建许多不同的文档。

使用XPath的示例: \\paragraph[@id="ABC"] This is a test sentence in paragraph ABC

我在这里寻找一些方向。我是否需要添加实体/类型或实现自定义标记生成器?我可以使用具有回调函数的匹配器来影响该特定令牌吗?

您的环境

  • 已安装的型号: zh
  • Python版本: 3.4.2
  • spaCy版本: 1.8.1
  • 平台: Linux-3.16.0-4-686-pae-i686-with-debian-8.6

1 个答案:

答案 0 :(得分:2)

spaCy的tokenizer是非破坏性的,所以你总能找到返回原始字符串的方式 - text [token.idx:token.idx + len(token)]将始终为你提供令牌的文本。< / p>

因此,您永远不需要在文本中嵌入非语言元数据,然后告诉统计模型忽略它。

相反,使元数据成为一个支持注释,它包含一个字符的起点和终点。在为段落解析文档后,您始终可以创建带标签的Span对象。

顺便说一下,为了保持对齐,spaCy确实有重要空白的标记。这有时会把人赶走。