哪里可以获得几乎所有英语单词的列表?

时间:2009-10-20 11:59:55

标签: text random

我想要生成一些随机文本。

我尝试编写一个基本的 Java 程序,

int nowords = r.nextInt(2000);
        int i, j;

        for (i = 0; i < nowords; i++) {
            int lengthofword = r.nextInt(10) + 2;
            for (j = 0; j < lengthofword; j++) {
                int ch = r.nextInt(26);
                System.out.print(alphabet[ch]);
            }
            System.out.print(" ");
        }

结果如下:

  

tafawc flnqhabhv mqceuoqy rttzckzqa   bdyxzod zbxweclvia wegmxvuoqez   ijwauhmzw joxm zvphbs ogpjyip   qxoymxkxv yrfoifig fbhecph izxcyfma   xarzse srwic jgi fkbcdcydpz qpdvsz   rqhjieqno fmelfmtgqe qozenjlxtg vfxd   lkmkrksgw ytuaduknsl让ao bm   lsfjednsa qouinii yrwzerdck yb kszttly   zmwflwevyix kdg qpnkzuijva ssau yc   wxews drqsdwbc glxb gokunixldec   lznuwdvksx zkzhsirruxc sqplhv   fzixywkaft fqdkumfgddn bcqp oiwwbo   emhk kv qhm xkjp kacbmcd ojh wzvukx   oztbexkf lylyv kdspqpa zbykj lnprtlxp   af bne ryamumcg oyhldwdlq bqyfxrszuf   wyrijnr ysnefsz lhhazrdwsev tll   ikibsnpqwg ntzlgc aahfsdeups rushos   ihqzyucd mjorscchszm tuppz hxi   ssumrevg

如果文本至少是可读的而不是这样,那将会很有帮助。

我正在考虑使用英语单词并从中随机挑选来制作句子。 我在哪里可以获得大量英语单词?

11 个答案:

答案 0 :(得分:6)

自然语言处理的黄金标准是http://wordnet.princeton.edu/的Wordnet。它具有活动用户组,具有与单词相关联的语义和语法,以及与其他NLP工具的接口。如果您正在考虑使用单词进行计算,那么您一定要看一下。

然而,随机选择单词并不会产生有用的句子,我怀疑你会对结果感到失望。看看OpenNLP等工具包,其中有许多工具,包括你肯定需要的词性(POS)。

即使您的句子可能具有有效的语法,您也需要阅读乔姆斯基和其他人的作品。他的“无色绿色思想疯狂地睡着”http://en.wikipedia.org/wiki/Colorless_green_ideas_sleep_furiously说明了这个问题。

答案 1 :(得分:5)

检查网站http://www.lipsum.com/上的Lorem Ipsum以生成“Void text”

http://loremipsum.sourceforge.net/

上有很多生成器

参考文字: Lorem ipsum dolor坐下来,精致的adipistur elit。 Sed consectetur viverra fringilla。 Donec在turpis bibendum placerat的lectus。 Vivamus non nibh mauris。 Nulla metus metus,sollicitudin nec egestas id,fermentum at nisl。在nisl est的Pellentesque。在nec sem tellus,ac imperdiet lectus。 Pellentesque tortor turpis,sagittis vel facilisis tristique,cuorus in tortor。 Mauris non neque magna,vel dignissim sem。 Suspendisse interdum diam tempus dui mattis molestie。在mauris urna的Donec,在vulputate ipsum。 Sed sodales venenatis quam non tincidunt。

答案 2 :(得分:4)

我建议使用lorem ipsum发生器。对于Java,有this on。在线版可用here

答案 3 :(得分:2)

Wordlist project有一些列表。我认为很难找到一个完整的清单,自然语言不能像那样工作。

答案 4 :(得分:1)

我在list上找到的 Freebsd CVS

答案 5 :(得分:1)

CUVPlus是一个很好的机器可读字典(链接直接进入下载页面)。这是“仅用于研究目的”(非商业许可)。它包括对名词,动词等的分类,因此它可能比生成随机句子更有用。

答案 6 :(得分:1)

答案 7 :(得分:1)

如果你在linux上试试/ usr / share / dict

答案 8 :(得分:0)

你想查找“Lorem Ipsum”。必然会有一些用Java生成它的库。

答案 9 :(得分:0)

Scrabble单词列表可能值得一看。有两种变体:SOWPODS美国和加拿大之外)和TWL(美国和加拿大)。这两个单词列表都可以从各个站点下载。

然而,根据您的需要,您可能还想考虑使用Lorem Ipsum(又名'lipsum')。一个流行的Lipsum生成器is here,虽然还有很多其他的。

答案 10 :(得分:0)

当我在12年级做到这一点时,回到1972年,我列出了所有可能的英文第二个字母。换句话说,一个26个字符串的向量。第一个字符串是可以跟随A的所有可能的字母,第二个字符串是可以跟随B的所有可能的字母,依此类推。

我只是通过尝试用每个可能的两个字母序列来思考一个单词来制作列表,如果想到一个单词太难了,我就不包括它。因此,我最终得到了所有常见的英文两个字母序列。

我确实记得生成的文本是可发音的,并且通常有真实的单词,或者几乎真实的单词。

我用BASIC上的OCR标记感应卡编写了HP内置8k核心的HP 2100A小型机。

我已经知道你通常可以通过检查字母三元组的频率来识别一种语言,所以我怀疑如果你这样做到另一个级别,你会得到更多真实的单词,并且很多某种形式的英语更令人毛骨悚然。