关于如何构建这样的自然语言解析程序的书籍有哪些:
输入:我要高大你 输出:我要告诉你 输入:大老鼠盒 输出:大红盒子 在: hoo un thum zend 三 出:一千三
它必须具有允许预测哪些单词拼写错误的语言模型!
关于如何构建这样一个工具的最好的书是什么?
ps 是否有免费的网络服务来进行拼写检查?也许来自谷歌?...
关于如何构建这样的自然语言解析程序的书籍有哪些:
输入:我要高大你 输出:我要告诉你 输入:大老鼠盒 输出:大红盒子 在: hoo un thum zend 三 出:一千三
它必须具有允许预测哪些单词拼写错误的语言模型!
关于如何构建这样一个工具的最好的书是什么?
ps 是否有免费的网络服务来进行拼写检查?也许来自谷歌?...
Peter Norvig 写了一个了不起的拼写检查器。也许这可以帮助你。
你至少有三个选择
您可以编写一个程序来理解该语言(即单词的含义)。这是今天的研究课题。当您可以购买一台速度足以运行这样一个程序的计算机时(这可能是在 10 年后计算机的速度比现在快 1000 倍)时,您可以期待第一个结果。
使用庞大的语料库(文本文档)来训练Hidden Marcov Model。
使用庞大的语料库并生成有关四元组 n-gram 的统计信息,即 N 个单词的元组出现的频率。我没有方便的链接,但想法是某些词总是出现在其他词的上下文中。因此,当您将文本解析为 4-gram 并在数据库中查找它们时,您无法找到它,可能是当前元组有问题。下一步是找到所有可能的匹配项(其他 4-grams,它们与当前匹配项具有较小的 soundex 或相似距离)并尝试频率最高的匹配项。
谷歌有相当多语言的数据,你可能会在谷歌实验室找到更多关于这方面的信息。
[编辑] 经过一番谷歌搜索,我终于找到了链接:在这个页面上,你可以购买谷歌在整个互联网上收集的 6 张 DVD 上的 1 到 5 克英语。
谷歌搜索“google spelling statistics n-grams”也会找到一些有趣的链接。
有很多用于自然语言处理的 Java 库可以帮助您实现拼写校正器。但你问的是一本书。Christopher D. Manning 和 Hinrich Schütze的《统计自然语言处理基础》看起来是个不错的选择。第一作者是斯坦福大学教授,领导一个团队进行自然语言处理和开发许多人使用的 Java 库和 NLP 资源。
在Dev Days London中,Michael Sparks 展示了一个专门为此编码的 Python 脚本。非常简单!看看你能不能在谷歌上找到。也许这里有人会有链接。