Правильно ли использовать tf-idf для задачи классификации, такой как задача анализа настроений?

Я часто вижу, как люди используют векторизацию tf-idf в задачах классификации текста, таких как анализ настроений. Насколько я понимаю, он штрафует количество слов, которые встречаются во многих документах (обратная частота). Часто мы игнорируем слова, которые имеют более 0,5 df.

Однако, скажем, я делаю анализ настроений, и у меня есть слово, которое встречается в каждом документе + ve рецензирование и ноль или очень мало раз в документах с -ve рецензиями. Таким образом, это слово является хорошим индикатором для моего классификатора, и высокая частота документов определенно указывает на конкретную категорию. Так что, на мой взгляд, нелегко использовать штрафы за высокую частоту документов.

Так стоит ли использовать матрицу tf-idf для задач классификации текста?

3 ответа

Векторы tf-idf - это только один вид векторизатора. Вы можете попробовать много других. Сценарий, приведенный выше, возможен, но вы обнаружите, что машинное обучение - это гораздо больше о реальных наборах данных, чем теоретических гарантиях.

На практике tf-idf работает довольно хорошо, но не сильно отличается, скажем, от векторизатора подсчета. Существует также почти дюжина различных способов конкретного взвешивания как ваших компонентов tf, так и компонентов idf, чтобы повысить надежность определенных распределений слов, таких как те, которые вы предложили выше.

В машинном обучении вы не должны думать о "хороших" или "плохих" идеях, вы должны провести эксперимент и определить, как это влияет на производительность модели.

Во-первых, не игнорируйте термины выше 0,5 IDF для классификации.

Это зависит от того, как вы строите + ве. Если это слово присутствует в каждом документе, и вы учитываете каждое вхождение как частоту, то TF для IDF является промывкой (если вы нормализуете TF и ​​IDF на одной основе). Обычно вы не нормализуете tf и idf на одной и той же основе, но, тем не менее, высокий tf в одном обучающем наборе не полностью вымывается idf.

Вы можете посмотреть на наивный байес

Философия, лежащая в основе tf-idf, заключается в определении слов, относящихся к документам, которые вы пытаетесь различить. Если вы хотите различить набор документов, слово, которое встречается в одном документе и никогда не встречается в любом другом, очень хорошо подходит для различения.

Здесь, если вы хотите применить ту же философию, это означало бы способность слов различать положительные и отрицательные классы. Таким образом, вы вместо этого оштрафуете слово, которое является общим для обоих классов. Но на самом деле это то, что многие алгоритмы будут делать неявно. Например, если вы используете наивный байес, он обнаружит эти слова во время тренировки и даст соответствующую оценку.

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