【问题标题】:Fuzzy string matching for finding Synsets in German WordNet (GermaNet)用于在德语 WordNet (GermaNet) 中查找同义词的模糊字符串匹配
【发布时间】:2017-12-07 12:40:40
【问题描述】:

对于我的学士论文项目,我正在为聊天机器人开发自然语言理解单元。现在我面临以下问题:

我有一个词,比如说“汽车”,它在德语中相当于汽车。现在用户可能会输入 'auto' 作为输入,因为他只是打了一点错字(添加了一个额外的 't')并且通常在聊天界面中,用户不遵循大写/小写规则,而是输入所有内容小写。

对于我的 NLU 算法,我需要在 GermaNet(大致相当于英语的 WordNet)中为每个单词找到正确的 Synset。 Synset 是 wordnet 中的一个节点,它将词义的所有同义词抽象到一个节点中。例如,在德语中,“Auto”(汽车)和“Automobil”具有相同的含义,因此表示相同的 Synset。

现在的问题是,如果我没有单词的拼写正确版本,我如何才能找到正确的 Synset?我的意思是,搜索整个 wordnet 对于每个单词的计算都非常复杂。

我认为 N-Grams 可能会为该问题提供解决方案,但我不知道有任何算法。

至于我使用什么来实现:Python3 与 NLTK、Stanford CoreNLP 和 pygermanet。

【问题讨论】:

    标签: nlp wordnet chatbot fuzzy-search linguistics


    【解决方案1】:

    如果输入的词不在 GermaNet 中,您可以先应用拼写更正,例如使用PyEnchant,然后查找更正后的词。

    【讨论】:

      最近更新 更多