gpt4 book ai didi

java - 在 Android 应用程序中随机生成有意义(有效)的英文单词

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:45 25 4
gpt4 key购买 nike

我正在制作一个字典应用程序。为此,我正在使用 Pearson Dictionary API。我需要生成一个词,以便查询该词的定义。

问题

我知道如何生成一个随机词,但我不知道如何生成一个有意义的英文单词。

我试图通过请求 JSON 响应并检查响应中的 results[](results[ ] 包含单词的定义)来解决这个问题。所以,如果 results[].lenght > 0 那么这个词就是一个有效的英文单词。

但上面的解决方案有其自身的严重问题:假设我想生成一个 5 个字母的单词,有多达 26^5 = 11881376 不同的组合,而没有那么多 5 个字母的有意义的英语单词。随着单词中字母的增加,组合的数量也会增加。因此,生成一个有意义的词可能需要很长时间。

如何检查生成的单词是否是有意义的英文单词?是否有任何可行的程序化方法可以做到这一点?

或者还有其他方法可以解决这个问题吗?

最佳答案

据我所知,您要么生成随机的字母串并检查它们是否是单词(如您所知,这是非常缓慢的、碰碰运气的方法),要么存储一个列表“已知好的”词并从该列表中随机选择。

该列表需要多大取决于您要实现的目标。

根据 this page OED 有大约 171,476 个主要条目,不包括复数形式(catcats)、标准变体(sitsitting),也不是具有多个类别的单词(例如 dog 可以是名词 [the animal] 或动词 [to follow persistently] 等)。根据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 应用程序中随机生成有意义(有效)的英文单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42713085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com