2

EDIT: Я пытаюсь классифицировать новый обзор пользователя на предопределенный набор тегов. Каждый обзор может иметь несколько тегов, связанных с ним.Google prediction API - данные обучения для построения классификатора

Я сопоставляюсь мои БД отзывы 15 категорий Следующий пример показывает текст, рассуждая отображенные категории


USER_REVIEWS | КАТЕГОРИИ
"Лучший pizza когда-либо, мы действительно любили это место, our kids ..." | "еда, семья"
The ATV tour was extreme и nature was beautiful ... "| "Активный, семейный"

pizza:food
our kids:family
The ATV tour was extreme:active
nature was beautiful:nature


EDIT: Я попробовал 2 подходы обучающих данных:

Первый включает в себя все категории в одном файле, как так:

"food","Best pizza ever, we really loved this place, our kids..." 
"family","Best pizza ever, we really loved this place, our kids..." 

Второй подход разделив подготовки данных для 15 отдельных файлов, как так:

family_training_data. CSV:

"true" , "Best pizza ever, we really loved this place, our kids..." 
"false" , "The ATV tour was extreme and the nature was beautiful ..." 

Non вышеперечисленного были убедительными, и пропустил мечения большую часть времени.


Вот некоторые вопросы, которые пришли, когда я экспериментировал:

  1. Некоторые из моих обзоров очень длинные (более 300 слов), я должен ограничивать слова в моем файле данных обучения , поэтому он будет соответствовать среднему числу слов обзора (80)?
  2. Лучше всего разделить данные на 15 файлов данных тренировки с параметром TRUE/FALSE, что означает: (представляет собой текст обзора определенной категории) или смешивать все категории в одном файле данных обучения?
  3. Как я могу обучить модель, чтобы найти синонимы или родственные ключевые слова, так что он может пометить «motorbike поездка была большой», как active хотя обучающие данные имели рекорд по ATV езды

Iv'e попробовал некоторые подходы, как описано выше, без каких-либо хороших результатов.
Q: Какой формат данных обучения даст наилучшие результаты?

+0

Вы задали очень широкий набор вопросов; Я думаю, что это выходит за рамки приложения StackOverflow. Как бы то ни было, я не думаю, что смогу ответить на этот вопрос. Какую конкретную проблему вы пытаетесь решить? Что представляет собой «хорошие результаты»? Каковы ваши критерии для «наилучших результатов»? Почему вы хотите * подготовить * модель к лексике, когда это, как правило, направленная задача? – Prune

+0

Спасибо за ваш ответ, я постараюсь уточнить. Проблема, которую я пытаюсь решить, - это классификация отзывов на предопределенные теги, в то время, когда результаты, которые я получаю, (в большинстве случаев) не являются окончательными, или отсутствуют тегирование вместе, хорошие результаты были бы отмечены как правильные 80% времена. Поскольку я не являюсь экспертом в подготовке данных о подготовке, я пришел сюда со многими неопределенностями. –

+0

Пожалуйста, проверьте мои изменения :) –

ответ

1

После сталкиваются с аналогичными проблемами, вот мои идеи по поводу ваших вопросов:

  1. Согласно Уотсону Natural Language классификатором documentation лучше ограничить длину ввода текста до менее чем 60 слов, так что я думаю, используя ваши средние 80 слов будут давать лучшие результаты.
  2. Вы можете пойти в любом случае, но отдельные файлы будут давать более однозначные результаты.
  3. Создание графика синонима, как было предложено, было бы хорошим местом для начала, WATSON направлен на ответ более сложное познавательное решение.

Некоторые другие помогают советы от принципов Ватсон:

  • Предельные длины входного текста до менее чем 60 слов.
  • Ограничить количество классов до нескольких сотен классов. Поддержка более крупных номеров классов может быть включена в более поздние версии этой службы.
  • Если в каждой текстовой записи есть только один класс, убедитесь, что каждый класс равен , по меньшей мере, 5 - 10 записей, чтобы обеспечить достаточную подготовку по этого класса.
  • Возможно, будет сложно решить, включать ли несколько классов для текста в класс . Две распространенные причины приводят к нескольким классам:
    • Когда текст нечеткий, идентификация одного класса не всегда ясна.
    • Когда эксперты интерпретируют текст по-разному, несколько классов поддерживают эти интерпретации.
  • Однако, если много текстов в вашем обучении данных включают в себя несколько классов, или если некоторые тексты имеют более трех классов, возможно, потребуется уточнить классы. Например, просмотрите , являются ли классы иерархическими. Если они иерархичны, то включает в себя лист-узел в качестве класса.
2

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

Вопрос 3: Вы не можете обучить модель распознаванию нового словаря слова без поддержки контекста. Дело не только в том, что «мотоцикл» не находится в тренировочном наборе, но «поездка» также не входит в тренировочный набор, а другие слова в обзоре не касаются транспорта. Когнитивная информация, которую вы ищете, просто не находится в данных, которые вы представляете.

Вопрос 2: Это зависит от метода обучения, который вы рассматриваете. Вы можете дать каждому тегу отдельный столбец функций с истинным/ложным значением. Это функционально эквивалентно 15 отдельным файлам данных, каждый из которых имеет единственное значение true/false. Метод с одним файлом дает вам возможность позже перейти к некоторой поддержке контекста между категориями.

Вопрос 1: Сама длина не имеет особого значения, за исключением того, что вырезание непроизводительных слов поможет сосредоточить обучение - вы не получите почти столько же ложных классификаций от случайных корреляций. У вас есть способ уменьшить размер программно? Можете ли вы применить это к новому вводу, который хотите классифицировать? Если нет, то я не уверен, что это стоит усилий.


ОТКРЫТЫЙ ВОПРОСЫ

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

Имеет ли ваше выбранное приложение достаточно знаний, чтобы разбить обзор на слова? Есть ли какое-либо понимание порядка слов или семантики - и вам это нужно?

+0

У меня нет доказательств того, что 80% ~ возможно, это только моя цель, я смотрел на Алхимия (http://www.alchemyapi.com/products/demo/alchemylanguage), особенно в разделе таксономии для вдохновения. Каким будет правильный способ добавления когнитивной информации в мои данные обучения? –

+0

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

+0

Я признаю, что я чувствую, что эта дискуссия как неуместна (не относится к SO), и не имеет фокуса. Моя проблема в том, что я не знаю, чего вы хотите в качестве результата вашей публикации. Вы задали несколько вопросов, связанных с конкретным конкретным конкретным вариантом, но когда я спрашиваю о более высоких концепциях этой системы, у меня возникает другой вопрос, а не твердый ответ. Итак ... на какой стадии находится этот проект? Какова цель проекта и каковы ваши доступные ресурсы и временные рамки? Что у вас есть на пути к целям, задачам, требованиям и спецификациям? Это помогает мне дать полезные отзывы. – Prune