这可能最终是一个非常普遍的问题,但希望它也能对其他人有用。
我想能够请求一个单词是x个音节,重音在x.y音节上。我已经找到了大量同时返回这两个参数的API,比如Wordnik,但我不确定如何处理搜索方面的问题。获取音节的URL是
GET /word.json/{word}/hyphenation
但我不会提前知道这个词来提出这个请求。它们还具有以下特性:
GET /words.json/randomWords
它返回一个随机单词列表。
有没有一种方法可以用这个API实现我想要的东西,而不是一遍又一遍地询问随机单词并检查它们是否符合我的需求?这看起来真的很慢,把我推到了我的使用极限。
我是否需要使用要在本地查询的单词和音节来构建自己的数据结构?
发布于 2016-08-03 14:27:02
我怀疑您在任何大型字典API上都找不到这种专门的查询。你需要下载一本英语词典并创建你自己的数据结构来做这类事情。
The Moby Project有一个用连字符连接的字典,里面大约有185,000个单词。还有许多其他的字典项目可用。从http://www.dicts.info/dictionaries.php开始是一个很好的选择。
下载字典后,您需要对其进行预处理以构建您的数据结构。您应该能够构建一个由(音节,强调)索引的字典或散列映射,其数据成员是单词列表。因此,您应该有一个类似(4, 2)
(4音节单词,重音在第二个音节)这样的条目,以及所有此类单词的列表。
然后,要查询它,您只需将查询打包到一个结构中,并在散列映射中查找该键。然后从结果列表中选择一个随机单词。
https://stackoverflow.com/questions/38743222
复制相似问题