我正在申请字典.我同样使用Pearson Dictionary API.我需要生成一个单词,以便可以查询该单词的定义.
问题
我知道如何生成一个随机单词,但我不知道如何生成一个有意义的英语单词.
我试图通过请求JSON响应并检查响应中的result [](结果[]保留单词的定义)来解决此问题.因此,如果结果[] .lenght> 0,则该单词为有效的英语单词.
但是上面的解决方案有一个严重的问题:假设我想生成一个5个字母的单词,有多达26 ^ 5 = 11881376个不同的组合,而没有5个字母的有意义的英语单词.随着单词中字母的增加,组合的数量也增加.因此,生成有意义的单词可能需要很长时间.
如何检查生成的单词是否是有意义的英语单词?有没有可行的编程方式来做到这一点?
或者还有其他方法可以解决此问题吗?
解决方法:
据我所知,您可以生成随机的字母字符串并检查它们是否为单词(如您所知,这是很慢的命中或失败方法),或者存储“已知的好”字样,然后从该列表中随机选择.
该列表需要多大取决于您要实现的目标.
根据this page,OED大约有171,476个主要条目,不包括复数形式(猫,猫),标准变体(坐下,坐着)或具有多个类别的单词(例如,狗可以是名词[动物]或动词) [持续关注]等).根据this page的数据,一个成年人平均知道20,000至35,000个字,因此,谨慎选择50,000个字应该可以覆盖大多数通用用途.
this question(现已关闭)的答案提供了许多单词列表的来源.检查其中一个(最初由infochimps.org提供,但可以作为simple text-list on github提供)显示,平均350,000个单词的长度不足10个字符.对于linux(可能还有其他口味),/usr/share / dict / words可能是一个有用的起点.
总结以上是内存溢出为你收集整理的java-在Android应用程序中随机生成有意义的(有效)英语单词全部内容,希望文章能够帮你解决java-在Android应用程序中随机生成有意义的(有效)英语单词所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)