Создание умного генератора текста - PullRequest
5 голосов
/ 28 мая 2010

Я делаю это для удовольствия (или, как 4chan говорит "для тех, кто любит"), и если я узнаю что-то по пути, тем лучше. Я прошел курс ИИ почти 2 года назад, и мне это очень понравилось, но мне удалось все забыть, так что это способ освежить это.

В любом случае, я хочу иметь возможность генерировать текст с учетом набора входных данных. В основном это будет читать входные данные форума (или, может быть, твиты Twitter), а затем генерировать комментарий на основе изучения.

Теперь самым простым способом было бы использовать Марковский генератор текста цепи , но я хочу что-то немного более сложное, чем это, поскольку MKC в основном учится только по порядку слов (какое слово с большей вероятностью появится после слова х указан вводимый текст). Я пытаюсь понять, могу ли я что-то сделать, чтобы сделать его немного умнее.

Например, я хочу, чтобы он делал что-то вроде этого:

  • Учитесь на большом количестве постов на доске объявлений, но не придавайте этому большого значения
  • За каждый пост:
    • Извлеките уроки из других комментариев в этом посте и взвесьте эти входные данные выше
    • Создайте комментарий и оставьте сообщение
    • Посмотрите, как реагировали другие пользователи на ваш пост. Если хорошо, взвешивайте это положительно, чтобы вы делали больше постов, похожих на сделанные, и наоборот, если отрицательные.

Это часть взвешивания и обучения на ошибках, которую я не знаю, как реализовать. Я думал о искусственных нейронных сетях (главным образом потому, что я помню, как наслаждался этой главой), но, насколько я могу судить, это в основном используется для классификации вещей (то есть, учитывая конечный набор вариантов [x1 ... xn], который х это данный вход) на самом деле ничего не генерировать.

Я даже не уверен, возможно ли это или это то, что я должен изучать / выяснять. Какой алгоритм лучше всего подходит для этого?

Тем, кто обеспокоен тем, что я буду использовать это как бот для спама или давать неправильные ответы на SO, я обещаю, что не буду использовать это для предоставления (плохих) советов или для спама с целью получения прибыли. Я определенно не буду публиковать это бессмысленные мысли на SO. Я планирую использовать его для собственного удовольствия.

Спасибо!

1 Ответ

2 голосов
/ 28 мая 2010

Я тоже думал о чем-то подобном. Я думаю, что это может значительно улучшить использование грамматического анализатора вместе с генератором цепей Маркова. Затем MC можно обучить текстовым фразам (часто глагол «drive» вместе с объектом «car») и создавать грамматически правильные предложения.

...