Ngram IDF сглаживание - PullRequest
4 голосов
/ 10 июня 2010

Я пытаюсь использовать результаты IDF, чтобы найти интересные фразы в моем довольно большом наборе документов.
Мне в основном нужно что-то вроде статистически ненадежных фраз Amazon, то есть фраз, которые отличают документ от всех остальных
Проблемая сталкиваюсь с тем, что некоторые (3,4) -граммы в моих данных, которые имеют сверхвысокое значение idf, на самом деле состоят из униграммов компонентов и биграмм, которые имеют действительно низкое значение idf ..
Например, «вы никогда не пробовали"имеет очень высокий idf, в то время как каждый из компонентов unigrams имеет очень низкий idf.
Мне нужно придумать функцию, которая может принимать частоты документов n-грамма и всех его компонентных (nk) -грамми вернем более значимую меру того, насколько эта фраза будет отличать родительский документ от остальных.
Если бы я имел дело с вероятностями, я бы попробовал модели интерполяции или отката. Я не уверен, какие предположения / интуиции используют эти моделихорошо, и так хорошо, как они будут делать для очков IDF.
У кого-нибудь есть идеи получше?

1 Ответ

4 голосов
/ 11 июня 2010

Я так понимаю, что "вы никогда не пробовали" - это фраза, которую вы не хотите извлекать, но которая имеет высокий IDF.Проблема будет в том, что будет огромное количество n-грамм, которые встречаются только в одном документе и, следовательно, имеют максимально возможную оценку IDF.

В НЛП существует множество методов сглаживания.Эта статья [ Чен и Гудман ] является довольно хорошим обзором многих из них.В частности, вы говорите, что вас может заинтересовать алгоритм сглаживания Kneser-Ney , который работает так, как вы предлагаете (отступая к n-граммам меньшей длины).обычно используется для задачи языкового моделирования, т. е. для оценки вероятности появления n-граммы с учетом действительно большого корпуса языка.Я действительно не знаю, как вы могли бы интегрировать их с результатами IDF, или даже если это действительно то, что вы хотите сделать.

...