НЛП текстовые метки - PullRequest
       2

НЛП текстовые метки

4 голосов
/ 25 января 2012

Я новичок в НЛП, просто делаю это впервые.Я пытаюсь решить проблему.

Моя проблема в том, что у меня есть некоторые документы, помеченные вручную, например:

doc1 - categoryA, categoryB
doc2 - categoryA, categoryC
doc3 - categoryE, categoryF, categoryG
.
.
.
.
docN - categoryX

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

Спасибо

Ответы [ 3 ]

4 голосов
/ 25 января 2012

То, что вы пытаетесь сделать, называется многофакторная контролируемая категоризация текста (или классификация) .Знание правильного вопроса - это половина проблемы.

Что касается того, как это можно сделать, вот две ссылки:

3 голосов
/ 23 марта 2015

Большая часть классификатора работает на Мешок слова модели .Есть несколько вариантов использования для получения ожидаемого результата.

  1. Попробуйте самый общий многочленный наивный базовый классификатор с изменением различных входных параметров и проверьте результат.

  2. Попробуйте варианты ML Naive base (http://scikit -learn.org / 0.11 / modules / naive_bayes.html )

  3. Вы можете проверить классификатор предложений пос учетом структуры предложений.Рассматривая концепции ngram, вы можете попробовать модели с 2,3,4,5 граммами и проверить, как меняется результат.Графический векторизатор позволяет ngram, проверьте эту ссылку, например, - http://scikit -learn.org / stable / tutorial / text_analytics / working_with_text_data.html

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

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

  1. Поместите каждую категорию в класс обучения и обучите классификатор этими классами

  2. Для любого входного docX, классификатор с обученной моделью

  3. Вы получите результат вероятности для каждой категории
  4. Теперь поместите некоторую threshold подобную вероятность, отличающуюся между тремя самыми высокими результирующими категориями, если она соответствует порогу, рассмотрите эти категории как результат для этого входного класса.
0 голосов
/ 01 февраля 2017

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

Вот несколько простых инструментов, которые помогут вам начать

Weka http://www.cs.waikato.ac.nz/ml/weka/ (GUI & Java)
NLTK http://www.nltk.org (Python)
Mallet http://mallet.cs.umass.edu/ (command line & Java)
NUML http://numl.net/ (C#)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...