НЛП - какую технику использовать для классификации меток абзаца? - PullRequest
0 голосов
/ 20 марта 2019

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

Вот моя задача: мне нужно классифицировать этапы процесса сверления на основе текстовых заметок.

enter image description here

Я должен классифицировать ярлыки для «Активность», «Детализация активности», «Операция» на основе того, что написано в столбце «Ком».

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

Модные слова, которые я пытаюсь понять:

  1. Скип-грамма (метод прогнозирования, Word2Vec)
  2. TF-IDF (частотный метод)
  3. Матрица сопутствующих явлений (частотный метод)

Мне дается около 40 000 строк данных (я знаю, что они довольно малы), и я наткнулся на статью, в которой говорится, что модели на основе нейронных сетей, такие как Skip-gram, могут не быть хорошим выбором, если у меня небольшое количество тренировок. данные. Так что я тоже изучал частотные методы. В целом, я не уверен, какая техника лучше для меня.

Вот что я понимаю:

  1. Skip-gram: техника, используемая для представления слов в векторном пространстве. Но я не понимаю, что делать дальше, как только я векторизовал свой корпус
  2. TF-IDF: сообщает, насколько важно каждое слово в каждом предложении. Но я до сих пор не знаю, как это можно применить к моей проблеме
  3. Матрица совместного появления: я действительно не понимаю, что это такое.
  4. Все три метода предназначены для численного представления текстов. Но я не уверен, какой шаг мне следует предпринять для фактической классификации ярлыков.

Какой подход и последовательность методов мне следует использовать для решения моей проблемы? Если есть какой-либо проект с открытым исходным кодом Jupyter notebook или ссылка на статью (возможно, с кодами), которая проделала аналогичную работу, поделитесь ею здесь.

1 Ответ

2 голосов
/ 21 марта 2019

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

  1. Текстовый векторизатор (как вы сказали, он помогает численно представлять тексты).
  2. Классификатор (для прогнозирования меток для численно представленных текстов).

Skip-Gram и матрица совместного вхождения - это способы векторизации ваших текстов (вот хорошая статья , которая объясняет их разницу). В случае пропуска граммы вы можете скачать и использовать стороннюю модель, в которой уже есть сопоставление векторов с большинством слов; в случае матрицы совместного использования вам необходимо построить ее на своих текстах (если у вас есть конкретная лексика, это будет лучшим способом). В этой матрице вы можете использовать различные меры для представления степени совпадения слов со словами или документов с документами. TF-IDF является одной из таких мер (которая дает оценку для каждой пары слово-документ); Есть много других (PMI, BM25 и т. д.). Эта статья должна помочь в реализации классификации с матрицей совместного использования в ваших данных. И этот один дает представление, как сделать то же самое с Word2Vec.

Надеюсь, это помогло!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...