Второе завершение слова с питоном - PullRequest
0 голосов
/ 08 октября 2018

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

Итак, представьте, что у вас есть 2 следующих файла:

1) словарь слов для обучения

Скажем, у нас есть таблица с 2 столбцами пар слов: 'complete'и «образец», так что в первом столбце содержатся разные пары слов («Привет, дорогой», «Мое имя», «В какое время», «Он уходит» и т. д.), а во второй - первые слова и только часть (>2 буквы) вторых слов («Hello de», «my nam», «What ti», «He goe» и т. Д.).

2) таблица для тестирования

Это таблица, которая состоит только из столбца «sample».

Цель состоит в том, чтобы добавить столбец «complete» во вторую таблицу сполные пары слов.

Я придумал единственный способ сделать это:

  1. вычислить частоты всех первых слов (P (w1))

  2. вычислить частоты всех полных вторых слов (P (w2))

  3. вычислить частоты всех первых слов по полным вторым словам (P (w1)| w2))

  4. предсказать полные вторые слова, используя правило Байеса: w2 = argmax_ {w2} (P (w2 | w1)) = argmax_ {w2} (P (w1 | w2)* P (w2))

  5. для каждого w1 в тестовой таблице w2 является наиболее вероятным w2 или наиболее частым w2 (если w1 не входит в число).

Проблема в том, что этот алгоритм работает недостаточно хорошо.Как я могу как-то оптимизировать вероятности (может быть, градиентный спуск может быть полезным?)?Есть ли другой способ решения этой задачи?

...