【问题标题】:wordninja does not work with other languageswordninja 不适用于其他语言
【发布时间】:2021-10-18 15:14:57
【问题描述】:

我有一个无法单独解决的问题。我目前正在构建一个 NLP 预处理管道,虽然关于将 wordninja 与西里尔语言(俄语和乌克兰语)一起使用,但我已经按照描述设置了字典,一切看起来都很好,但我可以让它工作。

import wordninja
wordninja.DEFAULT_LANGUAGE_MODEL = wordninja.LanguageModel('setup/ru_ninja_dict.txt.gz')
wordninja.split("приветпока")

(输出是一个空列表 [],而应该是 ["привет", "пока"])

我的主要假设是编码存在问题。但是,我自己不知道如何检查。

如果您有任何想法,请告诉我!

【问题讨论】:

    标签: python nlp spelling


    【解决方案1】:

    好的。所以,正如我所知道的,编译正则表达式模式存在问题。在原来的wordninja code中有

    _SPLIT_RE = re.compile("[^a-zA-Z0-9']+")
    

    仅适用于有限数量的语言。 (绝对不是西里尔文)

    替换为

    _SPLIT_RE = re.compile("[U+0400–U+04FF]+")
    

    使其能够与俄语、乌克兰语和其他斯拉夫语适当地配合使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      相关资源
      最近更新 更多