Я просто перечитал исходный вопрос и понял, что ответы, в том числе и у меня, сорвались. Я думаю, что оригинальный человек просто хотел решить простую проблему программирования, а не искать наборы данных.
Если вы перечислите все отдельные пары слов и посчитаете их, то вы можете ответить на свой вопрос с помощью простой математики в этом списке.
Конечно, вам нужно много обработать, чтобы сформировать список. Хотя верно, что если общее количество отдельных слов равно 30000, то существует миллиард возможных пар, я сомневаюсь, что на практике их так много. Таким образом, вы можете создать программу с огромной хеш-таблицей в памяти (или на диске) и просто сосчитать их все. Если вам не нужны незначительные пары, вы можете написать программу, которая периодически вычищает менее важные из них во время сканирования. Также вы можете сегментировать список слов и генерировать пары из ста слов в стихах, затем в следующей сотне и т. Д. И вычислять в проходах.
Мой оригинальный ответ здесь, я оставляю его, потому что это мой собственный связанный вопрос:
Меня интересует нечто подобное (я пишу систему ввода, которая предлагает завершение слов и знаки препинания, и я хотел бы, чтобы это было многоязычным).
Я нашел страницу загрузки для файлов Google Ngram, но они не так хороши, они полны ошибок сканирования. «Я стал», слова соединяются и т. д. Надеемся, что с тех пор Google усовершенствовал свою технологию сканирования.
Идея just-download-wikipedia-unpack = it-and-strip-the-xml для меня неудача, у меня нет быстрого компьютера (хех, у меня есть выбор между нетбуком Atom и Android-устройство). Представьте, сколько времени мне понадобится, чтобы распаковать 3 гигабайта файла bz2, став чем? 100 xml, затем обработайте его красивым супом и фильтрами, которые он допускает сбой на полпути через каждый файл и должен быть перезапущен.
Для вашей цели (предыдущие и последующие слова) вы можете создать словарь реальных слов и отфильтровать списки ngram, чтобы исключить неправильно просканированные слова. Можно было бы надеяться, что сканирование было достаточно хорошим, чтобы вы могли исключить пропуски, беря только самые популярные слова ... Но я видел некоторые признаки постоянных ошибок.
Кстати, наборы данных ngram здесь http://books.google.com/ngrams/datasets
Этот сайт может иметь то, что вы хотите http://www.wordfrequency.info/