Я новичок в машинном обучении и пытаюсь придумать модель, которая будет дополнять все вторые слова в фразах.Я не смог найти решения именно этой проблемы, хотя существует множество руководств по генерации текста с помощью RNN.
Итак, представьте, что у вас есть 2 следующих файла:
1) словарь слов для обучения
Скажем, у нас есть таблица с 2 столбцами пар слов: 'complete'и «образец», так что в первом столбце содержатся разные пары слов («Привет, дорогой», «Мое имя», «В какое время», «Он уходит» и т. д.), а во второй - первые слова и только часть (>2 буквы) вторых слов («Hello de», «my nam», «What ti», «He goe» и т. Д.).
2) таблица для тестирования
Это таблица, которая состоит только из столбца «sample».
Цель состоит в том, чтобы добавить столбец «complete» во вторую таблицу сполные пары слов.
Я придумал единственный способ сделать это:
вычислить частоты всех первых слов (P (w1))
вычислить частоты всех полных вторых слов (P (w2))
вычислить частоты всех первых слов по полным вторым словам (P (w1)| w2))
предсказать полные вторые слова, используя правило Байеса: w2 = argmax_ {w2} (P (w2 | w1)) = argmax_ {w2} (P (w1 | w2)* P (w2))
для каждого w1 в тестовой таблице w2 является наиболее вероятным w2 или наиболее частым w2 (если w1 не входит в число).
Проблема в том, что этот алгоритм работает недостаточно хорошо.Как я могу как-то оптимизировать вероятности (может быть, градиентный спуск может быть полезным?)?Есть ли другой способ решения этой задачи?