Классификация простого двоичного текста

Я ищу наиболее эффективный и простой способ классифицировать более 800 тысяч научных статей как релевантные (1) или нерелевантные (0) по отношению к определенному концептуальному пространству (здесь: обучение в отношении работы).

Данные: заголовок и аннотация (среднее значение = 1300 символов)

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

Подходы могут основываться на ключевых терминах, описывающих концептуальное пространство, только подсчет частоты слишком ненадежен. Потенциальные возможности могут включать латентный семантический анализ, n-граммы, ..

Создание обучающих данных может быть реалистичным для 1% корпуса, хотя это уже означает ручное кодирование 8000 статей (1 = актуально, 0 = нерелевантно), будет ли этого достаточно?

Мы очень ценим конкретные идеи и некоторые краткие рассуждения, поэтому я могу принять обоснованное решение о том, как действовать дальше. Большое спасибо!


person Ramon Wenzel    schedule 24.11.2016    source источник
comment
как вы определяете релевантность? рассматривать только 1% корпуса на обучение нецелесообразно. У вас есть аннотации к вашему корпусу? Я имею в виду релевантный / нерелевантный ярлык для каждого документа.   -  person Wasi Ahmad    schedule 24.11.2016


Ответы (1)


Несколько идей:

  1. Запустите LDA и получите, скажем, распределение тем документа и слов темы (20 тем в зависимости от охвата различных тем вашим набором данных). Назначьте верхний r% документов с наивысшей релевантной темой как релевантный, а нижний процент - как нерелевантный. Затем обучите классификатор этим помеченным документам.

  2. Просто используйте набор слов и извлеките r самых близких к вашему запросу (ваше концептуальное пространство) как релевантных, а количество процентов - как нерелевантных и обучите их классификатору.

  3. Если бы у вас были ссылки, вы могли бы запустить распространение меток по сетевому графу, пометив очень мало статей.

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

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

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

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

person Ash    schedule 02.12.2016