【发布时间】:2013-07-06 22:24:24
【问题描述】:
我的项目需要一些自然语言处理。我是这个领域的新手。
我想要得到的是当用户输入一个字符时,我想得到一个可以跟随该特定字符的英文字符列表,以便生成一个合法的单词。
在 NLP 中这样做的具体术语是什么?我尝试了一段时间的谷歌搜索,但没有运气,因为我不知道这个词。有什么好的教程可以开始吗?有没有什么好的库可以做这个特定的任务?
谢谢。
【问题讨论】:
我的项目需要一些自然语言处理。我是这个领域的新手。
我想要得到的是当用户输入一个字符时,我想得到一个可以跟随该特定字符的英文字符列表,以便生成一个合法的单词。
在 NLP 中这样做的具体术语是什么?我尝试了一段时间的谷歌搜索,但没有运气,因为我不知道这个词。有什么好的教程可以开始吗?有没有什么好的库可以做这个特定的任务?
谢谢。
【问题讨论】:
欢迎来到 NLP 社区。
您要查找的词很可能是query prediction 或sentence prediction。例如,当您在 google 中键入一些字符时,它会开始预测您可能想要搜索的某些单词/短语。在技术背后,他们使用 (a) 基于语言的启发式和 (b) 基于用户的搜索历史来训练他们的模型。他们称之为Google Instant,见http://www.google.com/insidesearch/
如果您正在寻找sentence/word prediction,那么它更像是当您使用手机时,有一个功能可以帮助您更快地打字,从技术上讲,它是调用autocomplete (https://en.wikipedia.org/wiki/Autocomplete),请参阅https://en.wikipedia.org/wiki/Autocomplete。现代autocomplete 利用 NLP 来预测您键入的内容的句法/语义单词。
正如@evan 所说,markov chain 是一种从您的训练数据中学习模式的方法,然后在测试您的系统时,它可以根据您实施的任何启发式/统计预测相应地猜测单词。见https://en.wikipedia.org/wiki/Markov_chain
【讨论】:
查看语言模型以及字母频率。马尔可夫链也经常用于此类问题。
【讨论】: