Liblinear, как его использовать - PullRequest
4 голосов
/ 25 мая 2011

Я довольно новичок в машинном обучении и текстовом майнинге в целом. Мне стало известно о наличии рубиновой библиотеки Liblinear https://github.com/tomz/liblinear-ruby-swig.

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

Может кто-нибудь, пожалуйста, выделите шаги, которые я должен выполнить (например, предварительная обработка текста и как), поделитесь ресурсами и в идеале поделитесь простым примером, чтобы помочь мне.

Любая помощь будет, спасибо!

1 Ответ

2 голосов
/ 25 мая 2011

Классический подход:

  1. Соберите репрезентативную выборку входных текстов, каждый из которых помечен как связанный / не связанный.
  2. Разделите выборку на обучающие и тестовые наборы.
  3. Извлечь все термины во все документы учебного комплекта;назовите этот словарь, V .
  4. Для каждого документа в обучающем наборе, конвертируйте его в вектор логических значений, где i 'th-й элемент равен true / 1если в документе встречается i -ый термин в словаре.
  5. Подайте векторизованный обучающий набор в алгоритм обучения.

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

Чтобы улучшить этот метод, замените логические значения на количество терминов, нормализованное по длине документа, или, что еще лучше, tf-idf баллов.

...