2015-02-17 1 views
0

ПРИМЕЧАНИЕ Прежде чем начать, эта F-мера не связана с точностью и отзывом, и ее название и определение взяты из этого paper.НЛП: Как правильно нормализовать функцию для гендерной классификации?

У меня есть функция, известная как F-мерка, которая используется для измерения формальности в заданном тексте. Он в основном используется в гендерной классификации текста, в котором я работаю как проект.

F-мера определяется как:

F = 0,5 * (существительное частоты + прилагательное Частотной + Предлог Частотных + статья Freq - местоимение частота - глагол частоты - наречие. Частота..... - частота междометий + 100)

где частоты взяты из заданного текста (например, сообщение в блоге).

Я хотел бы нормализовать эту функцию для использования в задаче классификации. Первоначально моя первая мысль заключалась в том, что поскольку значение F связано числом слов в данном тексте (text_length), я подумал о первом принятии F и делении на text_length. Во-вторых, и, наконец, поскольку эта мера может принимать как положительные, так и отрицательные значения (как можно сделать из уравнения), я тогда подумал о квадратизации (F/text_length), чтобы получить положительное значение.

Попытка этого Я обнаружил, что нормализованные значения не выглядят слишком правильными, так как я начал получать действительно небольшие значения (ниже 0,10) для всех случаев, в которых я тестировал эту функцию, и я думаю, что причина может заключаться в том, что Я возлагаю на квадрат значение, которое существенно уменьшит его с квадрата доли. Однако это необходимо, если я хочу гарантировать только положительные значения. Я не уверен, что еще нужно рассмотреть, чтобы улучшить нормализацию, чтобы получить хорошее распределение внутри [0,1] и хотелось бы знать, есть ли какая-то стратегия для правильной нормализации функций НЛП.

Как я должен подходить к нормализации моей функции и что я могу сделать неправильно?

+0

Боковое замечание, но как вы нашли частоты предлогов/междометий/статей для текста, с которым вы работали? Похоже, что в NLTK и Stanford CoreNLP для них нет тегов POS (есть только теги, которые их объединяют). –

+0

Если вы правильно поняли, такие данные могут быть вызваны с помощью инструментов NLP, которые автоматически подсчитывают такие данные для вас. – jablesauce

ответ

1

Если вы внимательно читали статью, вы обнаружите, что эта мера уже нормализованы:

F будет варьироваться в диапазоне от 0 до 100%

Причина этого заключается в том, что " частоты "в формуле рассчитываются следующим образом:

Частоты здесь выражены в процентах от числа слов, принадлежащих к определенной категории, относительно количества количество слов в выдержке.

I.e. вы должны нормализовать их на общее количество слов (как и предполагалось). Но потом не забудьте умножить каждый на 100.

+0

Я не понял, почему я должен умножать каждую частоту на 100, так как это уже значение в диапазоне 0 - 100, я просто деляюсь на 100, чтобы преобразовать в 0 - 1. Правильно ли я? – jablesauce

+1

@ jablesauce yes, если у вас уже есть каждая частота в качестве значения от 0 до 100, а сумма всех частот также ниже 100, у вас есть правильная формула. Таким образом, просто деление на 100 будет масштабировать вашу функцию в диапазоне 0-1 –