【问题标题】:How to make spaCy ignore new line characters when finding noun_chunks查找 noun_chunks 时如何让 spaCy 忽略换行符
【发布时间】:2023-04-02 03:09:01
【问题描述】:

我不知道为什么会这样。我觉得应该忽略换行符,但doc.noun_chunks 的输出有时会在换行符(\n)被空格替换时发生变化。如何使 spacy 对待它们相同,或者好像没有换行符?只是删除它们太麻烦了,需要一些积压工作才能将它们追溯到原来的行。 例如

nlp = spacy.load("de_core_news_lg")
print(list(nlp(' '.join(['Krüger', 'Finest', 'Selection', 'versch.', 'Sorten', 'Je', '300-g-dose'])).noun_chunks))
# output: [Krüger Finest Selection, Sorten]
print(list(nlp('\n'.join(['Krüger', 'Finest', 'Selection', 'versch.', 'Sorten', 'Je', '300-g-dose'])).noun_chunks))
# output: [\nSorten]

【问题讨论】:

  • 可以分享代码吗?
  • @Raqib 我添加了它。不知道是不是还不够清楚。
  • 所以@Raqib,运气好吗?

标签: python nlp spacy text-processing


【解决方案1】:

spaCy 训练数据不包含换行符,并且除了正常空格之外的空格被视为标记,因此奇怪的空格会导致异常结果。

如果您不关心换行符或其他空格,请在将文本传递给 spaCy 之前对其进行规范化。一种简单的方法是将它们全部转换为普通空格。

【讨论】:

    猜你喜欢
    • 2022-08-24
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多