В приложении для интеллектуального анализа текста одним простым подходом является использование эвристики для создания векторов в виде компактных разреженных представлений документов. Это хорошо для настройки пакета, когда весь корпус известен априори, так как для требуется весь корпусi d f
где - термин, - документ, - корпус документа, а (не показан) - словарь.д д т
Однако, как правило, новые документы поступают со временем. Один из вариантов - продолжать использовать существующий до пор, пока не будет получено определенное количество новых документов, и пересчитать его. Однако это кажется довольно неэффективным. Кто-нибудь знает схему постепенного обновления, которая (возможно, приблизительно) сходится к значению, если все данные были просмотрены заранее? Или, в качестве альтернативы, есть другая мера, которая отражает то же понятие, но может быть вычислена поэтапно?
Существует также связанный с этим вопрос о том, остается ли хорошей мерой с течением времени. Поскольку idf охватывает понятие частоты слов в корпусе, вполне возможно, что более старые документы в корпусе (скажем, например, что мой корпус включает в себя более 100 лет журнальных статей), поскольку частоты разных слов меняются со временем. В этом случае может быть целесообразно выбрасывать старые документы, когда приходят новые, по сути, используя скользящее окно . Можно что при вычислении новых векторов можно также сохранить все предыдущие векторы , а затем, если мы хотим получить документы, скажем, 1920–1930 гг., Мы можем использовать рассчитанный по документам в этом диапазоне дат. Имеет ли этот подход смысл?я д е я д е я д п
Edit: Существует отдельный , но связанный с этим вопрос о словаре . Со временем появятся новые словарные термины, которых раньше не было, поэтомунужно будет расти, и, следовательно, длина вектора . Кажется, что это не будет проблемой, так как нули могут быть добавлены к старым векторам .| T | я д ф я д ф