2015-11-09 6 views
1

У меня есть действительный список грамматик и лексических элементов для генерации грамматических правильных фраз, которые все же бессмысленны. Я хочу совместить Google-грамм для генерации только действительных предложений. Возможно ли, есть ли на этом бумаге. Я использую инструменты NLTK и Stanford core nlp.Как CFG и Google-грамм могут быть объединены для генерации предложений

ответ

2

Нет, это невозможно. Реальные предложения имеют зависимости от структуры и значения, которые выходят за рамки того, что можно записать в ngrams.

Я полагаю, вы думаете создать случайную структуру, расширив свой CFG, а затем используя ngrams, чтобы выбрать один из возможных вариантов словарного запаса. Это довольно простая вещь для кода: отрубите свою грамматику на уровне части речи, создайте «предложение» с вашим CFG как строку тегов POS и используйте ngrams, чтобы заполнить их один за другим.

Для работы с всей 5-граммовой коллекцией Google вам потребуется много места на диске и огромное количество оперативной памяти или какое-то умное программирование, поэтому я рекомендую вам экспериментировать с одной из тегированных корпусов NLTK (например, Brown корпус с «универсальным» набором тегов). Начиная с любого текста, не трудно собрать свои ngrams, написать генератор случайных текстов, и убедитесь, что она производит полу-связный, но, несомненно, бессвязный (и до сих пор в основном безграмотно) нонсенс.