【发布时间】:2019-02-03 05:05:05
【问题描述】:
我有一堆可变拼写的 ngram,我想将每个 ngram 映射到已知所需输出列表中的最佳匹配词。
例如,['mob', 'MOB', 'mobi', 'MOBIL', 'Mobile] 映射到所需的 'mobile' 输出。
来自 ['desk', 'Desk+Tab', 'Tab+Desk', 'Desktop', 'dsk'] 的每个输入都映射到所需的 'desktop' 输出
我有大约 30 个这样的“输出”单词,以及一堆大约几百万个 ngram(唯一性要少得多)。
我目前最好的想法是获取所有唯一的 ngram,将其复制并粘贴到 Excel 中并手动构建映射表,耗时太长且不可扩展。 第二个想法是模糊(fuzzy-wuzzy)匹配,但匹配得不是很好。
我根本没有自然语言术语或库方面的经验,因此当唯一 ngram 的数量增加或“输出”单词发生变化时,我无法找到如何更好、更快、更扩展地完成此任务的答案。
有什么建议吗?
【问题讨论】:
-
澄清一下,每个 ngram 是像 `['mob', 'MOB', 'mobi', 'MOBIL', 'Mobile']` 这样的数组还是只是单词 'Mobile'?另外,您是希望节省内存还是提高速度?
标签: python nltk natural-language-processing