如何从真实语言中生成随机单词

3
我怎样才能从真实语言中生成随机单词?
有人知道互联网上是否有此功能的API吗?
例如,我向“ht_tp://www.any...api.com/getword?lang=en”发送http请求,然后得到响应“Town”。或者是“Fast”。或者是“Received”……例如,我向“ht_tp://www.any...api.com/getword?lang=ru”发送http请求,然后得到响应“Ходить”。或者是“Шапка”。或者是“Отправлено”……任何语言的任何形式(名词、形容词、动词等)的单词。
我找到了资源“http://www.randomlists.com/random-words”。但这不是JSON格式,只有英文,并且长时间内不保证可用。
请提出任何想法。
3个回答

1
您可以下载OpenOffice词典。它们作为扩展(oxt)提供,与ZIP文件没有任何区别。您可以使用7zip或类似软件打开它们。在里面,您将找到许多文件,对您来说最有趣的是*.dic文件。它们还包含分辨率或数字单词。
当您遇到像abandon/LdS这样的内容时,请去掉/LdS,这是用于hunspell。
取出这些*.dic文件,使用它们的名称作为键,将它们放入数据库中,并从中为给定的语言代码随机选择一个单词。 更新 OpenOffice存档中的旧版hunspell词典易于访问。

1

是的,我需要来自所有(或大多数)语言的单词。 - Tapa Save

-1

这个问题可以从两个方面来看,因此我会给出两个答案:

  • 如果要收集单词,我会在已知语言的网站上运行爬虫(维基百科是一个很好的起点),并去除 HTML 标签。
  • 如果要从真实语言中生成单词,则更加棘手。使用收集到的单词的统计数据,可以使用马尔可夫链生成统计上真实的单词。我尝试过逐字母生成,但效果不佳。使用音节构建可能是更好的方法。

你两种方法都是正确的。但第一种方法不适用于我的Android应用程序,因为这会增加用户移动设备的流量。这不是一个明智的选择。第二种方法很困难。我也考虑过在所有语言上使用字典,但这需要使用自己的Web服务(如果将字典存储在网站上),或者非常大幅度地增加本地客户端应用程序的大小(如果将字典存储在用户的移动设备上)。 - Tapa Save
@TapaSave 如果你不能成功收集数据,那么第二种方法将不会成功。关于流量:如果你阅读像维基百科这样有大量文本的网页,你将获得每个数据量的良好词汇量。为了减少搜索深度,只需获取标题页面上提到的文章页面并在本地缓存单词,经过几次运行后,你将收集到一份单词日志。 - user877329
在这种情况下,当我解析维基等页面时,我可以获取其他语言中的单词。但是我无法确定单词所属的语言。第二个负面情况:我可能会找到缩写,首字母缩略词,数字,俚语和其他“垃圾”单词。 - Tapa Save
如果你坚持使用维基百科,你会了解文章语言。现在只使用<div id="mw-content-text">中的内容,如果跳过参考部分。 - user877329

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接