我正在构建一个应用程序,我希望我的应用程序能够读取用户在输入文本框中输入的内容,并根据到目前为止的句子显示用户有两件事。
1)他们正在输入的可能短语列表,以便轻松自动完成,我猜我会使用预设的短语列表,我可以通过搜索来获取这些建议。
2)根据句子结构或仅根据最后输入的单词,列出句子中下一个最有可能出现的单词。
我的问题是,还有其他类似的吗?搜索可能数千个字符串以尽可能快速有效地找到匹配项的最佳方法是什么?字符串应该存储在 SD 卡上的文本文件中还是直接存储在代码中或某种数据库或 xml 文件甚至 cvs 文件中?任何想法都会很棒
最佳答案
您可以查看 Google Scribe - 它几乎可以实现您所说的功能。链接曾经是http://scribe.googlelabs.com但现在似乎已经消失了:(。 此外,许多键盘(例如 swiftkey)甚至标准 Android 键盘都具有基本的“下一个单词”预测功能。
对于当前单词预测,您过滤的加权字典可能是最好的。然后,可以根据语法进行类似的下一个单词预测(这需要字典中的一些语义结构,即哪些单词是主语,哪些是动词,动词可以采取哪些不同形式,例如短语、情态等)
您的研究的一些链接:
- Project: Possibility (他们使用 xml 例如afaik)
- Let me type (代码在 GPL 下可用)
任何数据库都应该能够允许您附加并快速搜索此类标记数据,困难实际上在于构建它 - 非常雄心勃勃的项目,祝您好运!
关于android - 自动建议短语/句子完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13578322/