Я считаю, что длина вашего текстового запроса слишком мала и / или ваше отношение количества тем к длине запроса слишком мало для того, чего вы хотите достичь.
Если вы хотите использовать LDA для поиска похожихтемы для данного запроса, в большинстве случаев вам потребуется более одной темы на запрос, чтобы иметь возможность представлять конкретный документ, а не целый раздел документов.
В приведенной выше модели LDA есть только 10 темтак что ваши шансы найти более одной темы в данном предложении очень низки.Итак, я бы предложил провести тестирование, если обучение модели на 100 или 200 темах сделает это немного лучше.Теперь у вас есть большие шансы попасть на несколько тем в одном предложении.
Вот (упрощенно) пример того, почему это может работать:
С num_topics=10
вы можете иметь темы:
topic_1: "pizza", "pie", "fork", dinner", "farm",...
topic_2: "pilot", "navy", "ocean", "air", "USA", ...
...
Теперь, если вы запросите предложение
"Tonight at dinner I will eat pizza with a fork"
Вы получите только topic_1
в качестве ответа
Однако, с num_topics=200
ваши темы могут выглядеть примерно так:
topic_1: "pizza", "margherita", "funghi",...
topic_2: "fork", "knife", "spoon",...
topic_3: "dinner", "date", "lunch", ...
Так что то же самое предложение теперь cpvers topic_1
, topic_2
, topic_3
.
Теперь от вашего корпуса во многом зависит, увеличит ли количество тем, что будет значительным для вывода.Для чего-то такого большого, как английская Википедия, работает 200 тем.Для меньшего корпуса это не ясно.
И даже с большим количеством тем, я полагаю, что ваш запрос может быть слишком коротким.