1

我正在使用它来将停用词添加到 spacy 的停用词列表中

nlp.Defaults.stop_words |= {"my_new_stopword1","my_new_stopword2",}

但是,当我使用保存 nlp 对象并使用nlp.to_disk()再次加载它时nlp.from_disk(),我丢失了自定义停用词列表。有没有办法用 nlp 模型保存自定义停用词?

提前致谢

4

1 回答 1

2

大多数语言默认值(停用词、词汇属性和语法迭代器)不与模型一起保存。

如果要自定义它们,可以创建自定义语言类,请参见:https ://spacy.io/usage/linguistic-features#language-subclass 。从此链接复制的示例:

from spacy.lang.en import English

class CustomEnglishDefaults(English.Defaults):
    stop_words = set(["custom", "stop"])

class CustomEnglish(English):
    lang = "custom_en"
    Defaults = CustomEnglishDefaults

nlp1 = English()
nlp2 = CustomEnglish()

print(nlp1.lang, [token.is_stop for token in nlp1("custom stop")])
print(nlp2.lang, [token.is_stop for token in nlp2("custom stop")])
于 2021-03-04T08:38:21.917 回答