我对人工智能和算法探索很感兴趣。所以我有一个想法,要开发一个简单的应用程序,有点像猜谜游戏,我会设定一个单词并留下一些字母作为线索。但我不想让用户来猜这个单词,而是希望我的应用程序根据我留下的线索来尝试解出这个单词。谁能告诉我应该从哪里开始?谢谢。
回答:
创建一个包含所需语言单词的数据库(可以通过索引维基百科数据转储来实现)。
这个数据库的单词数量最好不要超过一百万。
然后你可以简单地查询这个数据库:
例如:fxxulxxs
–> SELECT * FROM T_Words WHERE word LIKE f__ul__s
–> fabulous
如果返回的结果集中有多个单词,你需要返回那个统计上使用最频繁的单词。
另一种方法是考虑使用nhunspell
如果你想更深入地分析,你需要找到一种统计方法来关联词根、词尾和词头,或者说,找到一种测量单词相似性的方法。
语言研究表明,当你只有单词的开头和结尾时,你可以很容易地读出这个单词。如果你只有中间部分,那么就变得困难了。