Проблема для lsi

Я использую скрытый семантический анализ для сходства текста. У меня есть 2 вопроса.

  1. Как выбрать значение K для уменьшения размера?

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

2 ответа

  1. Типичный выбор для k равен 300. В идеале, вы устанавливаете k на основе метрики оценки, которая использует сокращенные векторы. Например, если вы кластеризуете документы, вы можете выбрать k, которое максимизирует оценку решения кластеризации. Если у вас нет эталона для сравнения, я бы установил k в зависимости от размера вашего набора данных. Если у вас есть только 100 документов, то вам не потребуется несколько сотен скрытых факторов для их представления. Аналогично, если у вас есть миллион документов, то 300 могут быть слишком маленькими. Однако, по моему опыту, полученные векторы довольно устойчивы к большим изменениям k, при условии, что k не слишком мало (т.е. k = 300 примерно так же, как и k = 1000).

  2. Возможно, вы путаете LSI со скрытым семантическим анализом (LSA). Это очень родственные методы, с той разницей, что LSI оперирует документами, а LSA оперирует словами. Оба подхода используют один и тот же вход (термин x матрица документа). Есть несколько хороших реализаций LSA с открытым исходным кодом, если вы хотите попробовать их. На странице Википедии LSA есть полный список.

  1. попробуйте несколько различных значений из [1..n] и посмотрите, что работает для любой задачи, которую вы пытаетесь выполнить

  2. Создайте матрицу корреляции между словами и словами (т.е. ячейка (i,j) содержит количество документов, где (i,j) сосуществуют) и используйте в ней что-то вроде PCA

Другие вопросы по тегам