Idf оценка неизвестного слова?
Моя задача - извлечь ключевые слова из текста. Я сделал следующее:
Я использую tf-idf "алгоритм". Для части idf я сканирую статьи в Википедии, извлекаю фразы из существительных (opennlp) и сохраняю их в базе данных.
Поэтому, когда я анализирую текст, мне просто нужно вычислить часть tf и получить часть idf из базы данных.
Результаты пока очень привлекательны. Моя единственная проблема -> так как тексты, которые я должен проанализировать, отличаются от корпуса википедии, некоторые слова имеют высокое значение tf, но не имеют значения idf (оно не было найдено в корпусе вики). Но иногда эти слова по-прежнему очень важны (примером для этого может служить новая компания, которой пока нет в википедии).
Что я должен взять в качестве значения IDF, если оно не было найдено в БД? (средний IDF, вероятно, не очень хорошая идея)
1 ответ
Как рассчитывается IDF?
Если у вас есть что-то вроде IDF = log_e(# of documents / # of documents with term)
ты мог бы сделать log_e(# of documents +1 / 1)
, т.е. рассматривать документ как новый документ в корпусе.