Как включить слова в качестве числовой функции в классификации - PullRequest
6 голосов
/ 17 ноября 2010

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

Проблема, которую я должен извлечь, связанную со словом особенность из определенного параграфа. Должен ли я использовать индекс в словаре в качестве числовой функции? Если так, как я буду нормализовать это?

В общем, как сами слова используются в качестве функций в НЛП?

Ответы [ 3 ]

8 голосов
/ 17 ноября 2010

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

  • a Логическое поле, которое кодирует наличие или отсутствие этого слова в данном документе;

  • a частотная гистограмма заранее определенного набора слов, часто X наиболее часто встречающихся слов из всех документов, включающих обучающие данные (подробнее об этом в последнем абзаце этого ответа);

  • сопоставление двух или более слов (например, «альтернативный» и «стиль жизни» в последовательном порядке имеют значение, не связанное ни с одним из составляющих слов);это сопоставление может быть зафиксировано либо в самой модели данных, например, в булевой функции, которая представляет наличие или отсутствие двух конкретных слов, непосредственно примыкающих друг к другу в документе, либо это отношение может быть использовано в технике ML как наивное.Байесовский классификатор в этом случае будет использовать выделенный текст ;

  • слов в виде необработанных данных для извлечения скрытых признаков , например, LSA или скрытый семантический анализ (также иногда называемый LSI для скрытого семантического индексирования).LSA - это метод матричной декомпозиции, который извлекает скрытые переменные из текста, не очевидного из слов самого текста.

Общий набор справочных данных в машинном обучении состоит из частотПримерно 50 самых распространенных слов, или «стоп-слов» (например, a , an , из , и , , там , , если ) для опубликованных произведений Шекспира, Лондона, Остена и Милтона.Базовый многослойный персептрон с одним скрытым слоем может отделить этот набор данных со 100% точностью.Этот набор данных и его вариации широко доступны в хранилищах данных ML и академических работ , представляющих результаты классификации, также распространены.

6 голосов
/ 17 ноября 2010

Стандартным подходом является представление «мешок слов», в котором у вас есть один признак на слово, дающий «1», если слово встречается в документе, и «0», если его нет.* Это дает много возможностей, но если у вас есть простой ученик, такой как Наивный Байес, это все в порядке.

«Указатель в словаре» - бесполезная функция, я бы ее не использовал.

1 голос
/ 03 декабря 2010

tf-idf - это довольно стандартный способ превращения слов в числовые функции.

Не забудьте использовать алгоритм обучения, который поддерживает числовые функции, такие как SVM .Наивный Байес не поддерживает числовые функции.

...