Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXVI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 14 июня 2018 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Линькова Г.В. СРАВНЕНИЕ МЕТОДОВ ВЕКТОРНЫХ ПРЕДСТАВЛЕНИЙ ТЕКСТОВ В ЗАДАЧАХ КЛАССИФИКАЦИИ ВАКАНСИЙ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXVI междунар. студ. науч.-практ. конф. № 6(65). URL: https://sibac.info/archive/technic/6(65).pdf (дата обращения: 26.04.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

СРАВНЕНИЕ МЕТОДОВ ВЕКТОРНЫХ ПРЕДСТАВЛЕНИЙ ТЕКСТОВ В ЗАДАЧАХ КЛАССИФИКАЦИИ ВАКАНСИЙ

Линькова Галина Владимировна

магистрант, Институт информационных технологий,

РФ, г. Челябинск

Ботов Дмитрий Сергеевич

научный руководитель,

старший преподаватель ИИТ ЧелГУ,

РФ, г. Челябинск

Аннотация. В статье рассматриваются различные методы преобразования текстов в векторные представления с целью их классификации по принадлежности к профессиям, согласно действующим профессиональным стандартам. Приводятся результаты экспериментов классификации на датасетах с двух популярных сайтов по различным представления TF-IDF и Word2Vec. Помимо того, что Word2Vec на данный момент является одним из лучших методов для английского языка, он также показал отличные результаты в данном эксперименте.  Кроме того, в статье рассматривается решение задачи классификации вакансий с помощью сверточных нейронных сетей через разложение на шинглы.

 

1. Введение

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

В России лидирующую позицию по интернет-рекрутменту занимает компания HeadHunter [1], которая предоставляет доступ к более чем 400 тыс. вакансий и 27 млн. резюме. В ноябре 2017-го года компания представила свой новый «умный поиск» использующий методы машинного обучения для персонализированной выдачи результатов. После того как пользователь загружает своё резюме, система автоматически начинает выводить наиболее подходящие ему вакансии, даже при пустом запросе в строке поиска.

Также, немаловажное место на Российском рынке занимает портал SuperJob.ru. Помимо предоставления доступа к огромному числу вакансий и резюме, данная компания занимается различными исследованиями — от проведения социологических опросов, до обзоров рынка труда и составления рейтингов высших учебных заведений.

2. Постановка задачи

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

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

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

3. Методы предобработки текстов для интеллектуального анализа.

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

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

Тем не менее, существуют и различные алгоритмы для нахождения основы слова, где при этом не гарантируется совпадение с её морфологическим корнем — алгоритмы стемминга.

Среди таких алгоритмов одним из наиболее быстрых является Snowball стеммер, являющийся вариацией стеммера Портера [2] для русского языка, который отсекает окончания и суффиксы, последовательно применяя ряд правил, основываясь на его морфологических особенностях.

Также существуют стеммеры, созданные конкретно для русского языка — MyStem [3], разбивающий каждое слово на основу и суффикс до тех пор, пока основа не будет найдена в словаре, разработанный И. Сегаловичем в 1998 году и ныне принадлежащий компании Яндекс,  и Stemka [4], созданный в 2002 году А. Коваленко, основанный на вероятностной модели, где для каждого слова строится набор потенциальных окончаний с условиями на предшествующие символы.

Чтобы работа с текстом в рамках машинного обучения стала возможной, его нужно перевести в какой-либо численный вид. Для этого, для каждого слова(токена) в тексте нужно подсчитать его «вес». Таким образом, каждый текст можно будет представить как набор векторов, с которыми можно делать что угодно в зависимости от поставленной задачи.

4. Методы векторизации текстов.

Одним из самых простых способов хеширования текстов является модель Bag-of-words, подсчитывающая количество вхождений всех токенов выборки для каждого отдельного текста выборки. Размерность такой модели равна количеству уникальных токенов всего корпуса и изобилует огромным количеством нулей, т.к. в каждом тексте присутствует только небольшая часть слов словаря.

Для устранения недостатков модели Bag-of-words можно использовать модель One-hot-encoding, преобразующую данные в разреженную матрицу, чтобы не расходовать память на хранение многочисленных нулей [5].

Одним из самых востребованных способов подсчёта «веса» слова в тексте, являющегося частью коллекции текстов, является статистическая мера TF-IDF [6], которую также использовала в своих алгоритмах поисковая система Яндекс. Данная мера представляет собой произведение частотности слов в тексте к обратной частотности слова в коллекции. У этой модели есть один существенный недостаток — в результате работы алгоритма на выходе могут получиться вектора размерностью в десятки тысяч измерений, что может усложнить работу в дальнейшем.

Помимо TF-IDF существует метрика Smooth Inverse Frequency(SIF), подсчёт которой происходит в два этапа - сначала вычисляется среднее взвешенное значение векторов слова в предложении, а затем удаляются проекции средних значений векторов на их главный компонент. [7]

В последнее время высокой популярностью начала пользоваться модель Word2Vec, которую предложил T. Mikolov в 2013 году [8]. Данная технология помогает подсчитать вектор признаков для каждого слова в наборе текстов, по которым можно подсчитать семантическое расстояние между словами, основываясь на их контекстной близости. В отличие от модели TF-IDF, в большинстве случаев, размерность векторов модели Word2Vec не превышает нескольких сотен измерений. Всего у этой модели есть 2 алгоритма обучения - CBOW (Continuous Bag of Words), предсказывающий вес каждого слова по его контексту, и Skip-grams, имеющий обратный принцип действия, а именно, используя текущее слово, предсказывает окружающие его слова.

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

Поскольку Word2Vec так же используется и для уменьшения размерности векторов, его можно “взвешивать” по другим моделям, например, значения векторов каждого токена можно перемножить с его значением по TF-IDF. Это может также повлиять на улучшение результатов классификации.

По векторам Word2Vec так же можно подсчитать Word Mover’s Distance (WMD), которая представляет собой метрику близости между любой парой слов. Она получается путём высчитывания минимальной дистанции, которую должны "преодолеть" слова одного текста,чтобы достичь слов другого текста[9].

Также, существует модель Doc2Vec, которая отличается от Word2Vec тем, что в качестве результата выдает готовый вектора для всего текста, а не для каждого токена по отдельности, что освобождает от необходимости агрегировать токены.

4. Подход к сравнению векторных представлений

В данной статье используются различные подходы численного представления документов. Предварительно были собраны тексты вакансий в сфере ИТ с портала hh.ru(HeadHunter) и superjob.ru и размечены по профессиям, согласно действующим профессиональным стандартам [10].

4.1. Датасет

Всего для эксперимента было взято 1563 текста вакансий (из них 1021 вакансии HeadHunter и 542 вакансии Superjob), содержащих описание вакансии, которое включает в себя:

  • требования и обязанности кандидата
  • предлагаемые условия труда

Размер текста каждой вакансии варьируется от 90 до 800 токенов.

Каждой из этих вакансий был присвоен класс, соответствующий одной из 12 специальностей:

  1. Администратор баз данных
  2. Программист
  3. Разработчик Web и мультимедийных приложений
  4. Руководитель проектов в области ИТ
  5. Системный администратор ИКТ систем
  6. Системный аналитик
  7. Специалист по большим данным
  8. Специалист по защите информации в автоматизированных системах
  9. Специалист по интернет-маркетингу
  10. Специалист по информационным ресурсам
  11. Специалист по тестированию в области ИТ
  12. Специалист по технической документации в области ИТ.

Разметка проводилась вручную, её результаты для всех корпусов представлены на графиках 1-3.

 

График 1. Распределение текстов вакансий для датасета HeadHunter

 

График 2. Распределение текстов вакансий для датасета Superjob

 

График 3. Распределение текстов вакансий для смешанного датасета из вакансий Superjob и HeadHunter

 

4.2. Подготовка текстов

Для экспериментов с нейронными сетями предобработка текстов заключалась в удалении всех небуквенных символов (за исключением пробела) и посимвольном разбиении полученных текстов на триграммы. В последствии, каждой уникальной триграмме присваивался порядковый номер, а вектор текста представлял собой последовательность этих номеров.

Предобработка текстов для классификации проходила в несколько этапов:

  1. Текст разбивался на токены (слова русского или английского языка), что также очистило тексты от цифр и различных символов и знаков препинания.
  2. Удалялись стоп-слова, так как они не несут полезной информации, а остальные слова теряют свою значимость на их фоне.
  3. Проводилась лемматизация оставшихся токенов.

По окончании предобработки, для эксперимента с текстами вакансий получился корпус из 185269 токенов, в котором количество уникальных токенов составило 10344. Среднее количество токенов в вакансии - 322.

4.3. Предобработка текстов

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

В итоге, были получены следующие векторные представления:

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

Average Word2Vec - каждому токену в тексте сопоставляется его вектор в модели Word2Vec, затем для каждого измерения высчитывается среднее значение по всем токенам этого текста. Таким образом, размерность остаётся прежней.

Модель Word2Vec обучалась со следующими параметрами:

  • vector_size = {300; 500}
  • sg = {1;0}
  • min_count = 2

W2V & TF-IDF - вектор каждого токена в модели Word2Vec умножается на метрику TF-IDF этого токена, а затем подсчитывается так же как и  Average W2V.

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

N-shingles - представляет собой N-grams разложение, но не на словах, а на символах.

4.4. Параметры модели нейронной сети

Для каждого первого слоя нейронной сети в во всех экспериментах параметр embeding_size был равен количеству сэмплов, подающихся на вход нейросети, а количество нейронов на выходе (на внешнем слое) было равно количеству ожидаемых классов для конкретного эксперимента. В качестве функции активации на внешнем слое была выбрана функция softmax. Функция потерь - категориальная кросс-энтропия, оптимизатор - adam, метрика - accuracy. Обучение нейронных сетей проходило в 15 эпох (итераций).

В экспериментах использовалась следующая модель:

  • CNN:
    • Convolution filters 256
    • Kernel size 9
    • Activation function RELU
    • Global max pooling

4.5. Метрики оценки качества

Для оценки качества полученной модели классификации использовалась F1-мера — метрика, представляющая собой гармоническое среднее между Точностью(Precision), Полнотой(Recall).

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

Отсюда, F1-мера вычисляется по следующей формуле:

 

                                (1)

 

Для того чтобы получить общее значение F1-меры по всей классификации, а не по каждому классу в отдельности, существуют Macro-average и Micro-average методы. по которым рассчитываются Precision и Recall для формулы [1]. В Macro-average методе под точностью и полнотой подразумеваются их среднеарифметические значения по всем классам. Для Micro-average метода точность и полноту можно подсчитать по формулам [2,3].

                    (2)

                       (3)

где: TP – верно-положительные заключения классификатора;

        FP – ложно-положительные заключения классификатора;

        FN – ложно-отрицательные заключения классификатора.

Также, для оценки качества классификации и моделей нейронных сетей использовалась метрика Accuracy, высчитывающаяся по следующей формуле:

 

                                               (4)

где: P – количество документов, по которым было принято верное решение;

        N – размер обучающей выборки.

5. Результаты эксперимента

В ходе эксперимента с вакансиями была проведена Multilable-классификация, позволяющая присваивать более чем один класс для одного вектора признаков, на моделях LogisticRegression, GradientBoosting, KNeighboursClassifier, SVM, RandomForest, ExtraTrees, Voting Classifier (среди наилучших классификаторов) и нейронных сетях (LSTM, CNN, Sequential). Оптимальные параметры классификаторов были получены перебором с помощью GridSearchSV, для классификаторов, показавших наилучшие результаты, они получились следующими:

  • Gradient Boosting:
    • Deviance loss
    • Max depth size 3
  • KNeighbours Classifier:
    • Auto algorithm
    • Minkowski metric
    • Distance weights
  • Logistic Regression:
    • Sag solver
    • C size 1.0
  • Logistic Regression (average W2V):
    • Liblinear solver
    • C size 0.5
  • SVM:
    • Linear kernel
    • C size 1
  • SVM (W2V & TF-IDF):
    • Rbf kernel
    • C size 10

Полученные результаты представлены в таблице 1. Эксперименты ставились на объединенном датасете с вакансиями как HeadHunter так и Superjob, а для того, чтобы показатели качества были наиболее точными, проводилась кросс-кластерная классификация (с параметрами cv=5). Некоторые эксперименты не имеют результатов и отмечены знаком “-”, т.к. их не удалось провести ввиду большой размерности полученных после предобработки векторов. Для Custom TF-IDF подсчёт весов TF-IDF проводился для каждого слова в корпусе, для 2-grams TF-IDF слова каждой вакансии корпуса разбивались методом N-grams, для 2- и 3-shingles TF-IDF тексты каждой вакансии корпуса разбивались методо N-shingles.

Поскольку для Word2Vec размерность векторов указывается вручную, для экспериментов были взяты такие размерности как 300 и 500. Также, эксперименты проходили на обоих алгоритмах - CBOW и Skip-grams.

Таблица 1.

Результаты сопоставления вакансий профессиям.

Метод

предобработки

текста

Vectors

size

SVM (SVC)

Logistic Regression

Knn

Gradient Boosting

Voting

(SVM, LG, KNN)

Voting

(SVM, LG)

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

TF-IDF

unigram

9980

0,890

0,891

0,917

0,919

0,349

0,396

-

-

0,891

0,892

0,895

0,897

2-grams

84402

-

-

0,884

0,885

0,073

0,134

-

-

-

-

-

-

2-shingles

1665

0,857

0,865

0,870

0,878

0,696

0,713

-

-

0,861

0,868

0,862

0,869

3-shingles

12435

0,881

0,885

0,900

0,904

0,553

0,579

-

-

0,886

0,890

0,885

0,889

W2V

CBOW

300

0,899

0,903

0,922

0,924

0,840

0,846

0,848

0,855

0,910

0,914

0,906

0,908

CBOW

500

0,900

0,903

0,920

0,923

0,838

0,843

0,861

0,862

0,909

0,912

0,906

0,908

skip-gram

300

0,906

0,909

0,906

0,910

0,830

0,840

0,823

0,829

0,904

0,908

0,908

0,911

skip-gram

500

0,904

0,907

0,908

0,912

0,833

0,843

0,837

0,839

0,905

0,908

0,910

0,913

W2V & TF-IDF

CBOW

300

0,889

0,894

0,901

0,905

0,860

0,864

0,847

0,850

0,900

0,903

0,897

0,899

CBOW

500

0,891

0,896

0,902

0,907

0,862

0,866

0,857

0,861

0,899

0,903

0,897

0,899

skip-gram

300

0,901

0,905

0,896

0,900

0,835

0,843

0,818

0,822

0,896

0,900

0,892

0,896

skip-gram

500

0,898

0,902

0,898

0,902

0,838

0,845

0,830

0,831

0,895

0,899

0,896

0,900

 

По результатам таблицы 1 видно, что для TF-IDF лучше всего подходит обычное разбиение текстов на слова, для Word2Vec наиболее хорошие результаты получаются с алгоритмом CBOW на размерности 300, но на взвешенном по TF-IDF Word2Vec небольшой прирост результатов даёт увеличение размерности вектора до 500.

 По итогам экспериментов, для данной задачи лучшим методом предобработки текстов стал Word2Vec, так как он показал лучшие результаты на 5 из 6 классификаторов. Поскольку значения F1-меры > 0.92, и Accuracy>0.92 являются хорошими результатами, полученная модель Логистической регрессии на W2V может применяться на практике для установления принадлежности вакансии к определенным профессиям в сфере ИТ, по тексту этой вакансии.

Для того, чтобы понять где именно ошибается классификатор, была построена матрица ошибок для наилучшей модели (график 4). В идеале, мы должны видеть чёткую диагональную линию, всё что выходит за ее пределы - ошибки классификатора. Согласно графику 4, классификатор испытывает небольшие трудности с разделением таких вакансий как “Системный администратор” и “Программист”, чуть меньшую сложность для него представляет разделение между “Системным аналитиком” и “Специалистом по защите информации в АС” и между “Техническим писателем” и “Специалистом по тестированию”. Также, из графика видно, что точнее всего классификатор предсказывает “Специалиста по большим данным”.

Помимо представленного эксперимента на объединенном датасете, проводились эксперименты на датасетах HeadHunter (62,32% объединенного датасета) и Superjob (34,68% объединенного датасета) в отдельности. Для каждого из них проводилась кросс-валидация с целью получить метрики по датасету в целом, затем обучалась модель на всём датасете и тестировалась на другом датасете.

 

График 4. Матрица ошибок для модели Логистической регрессии на Word2Vec

 

В таблице 2 представлены результаты кросс-валидации на датасете HeadHunter с последующим тестированием модели на датасете Superjob, обученной на всём датасете HeadHunter. Для экспериментов были взяты модели с такими параметрами, которые показали наилучшие результаты в предыдущем эксперименте. А именно - Custom TF-IDF, Word2Vec (CBOW с размерностью 300) и Word2Vec & TF-IDF (CBOW с размерностью 500).

Таблица 2.

Результаты кросс-валидации и обучения на датасете HeadHunter

Метод

Предобра- ботки

текстов

SVM (SVC)

Logistic Regression

KNN

Gradient Boosting

Voting (SVM, LG, KNN)

Voting (SVM, LG, KNN)

cross-val

test

cross-val

test

cross-val

test

cross-val

test

cross-val

test

cross-val

test

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

tfidf

0,88

0,88

0,85

0,88

0,91

0,91

0,89

0,92

0,33

0,34

0,29

0,33

-

-

0,80

0,79

0,88

0,88

0,84

0,88

0,89

0,89

0,85

0,88

w2v

0,88

0,88

0,93

0,94

0,89

0,89

0,93

0,95

0,80

0,80

0,86

0,89

0,81

0,81

0,88

0,89

0,88

0,89

0,92

0,95

0,88

0,89

0,91

0,93

w2v &

 tfidf

0,88

0,88

0,86

0,89

0,88

0,88

0,87

0,90

0,82

0,82

0,85

0,89

0,84

0,83

0,84

0,88

0,88

0,88

0,88

0,90

0,88

0,88

0,85

0,88

 

Таблица 3.

Результаты кросс-валидации и обучения на датасете Superjob

Метод

Предобра-ботки

текстов

SVM (SVC)

Logistic Regression

KNN

Gradient Boosting

Voting (SVM, LG, KNN)

Voting (SVM, LG, KNN)

cross-val

test

cross-val

test

cross-val

test

cross-val

test

cross-val

test

cross-val

test

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

f1

acc

tfidf

0,64

0,83

0,61

0,64

0,75

0,88

0,72

0,73

0,28

0,45

0,23

0,25

0,67

0,81

0,67

0,68

0,68

0,85

0,63

0,65

0,79

0,80

0,65

0,66

w2v

0,87

0,92

0,79

0,79

0,83

0,91

0,84

0,84

0,79

0,88

0,68

0,69

0,87

0,92

0,52

0,53

0,87

0,92

0,82

0,82

0,85

0,92

0,82

0,82

w2v & tfidf

0,86

0,91

0,77

0,77

0,80

0,89

0,84

0,84

0,78

0,87

0,71

0,71

0,65

0,80

0,62

0,62

0,83

0,90

0,79

0,79

0,82

0,90

0,81

0,81

 

Как видно из таблицы 2, модель, обученная на HeadHunter, дает хорошие предсказания для вакансий Superjob (значения F1-меры и Accuracy переходят за границу 0.9 в большинстве случаев), а также показывает значительное превосходство Word2Vec на всех представленных классификаторах. Обучение же на Superjob показывает довольно сносные результаты, т.к. значения метрик в большинстве случаев доходят до границы в 0.8. Такие результаты дают возможность использования полученных моделей, обученных на корпусе данного исследования, для предсказания профессий, публикуемых на других ресурсах.

Эксперименты с нейронными сетями не показали таких высоких результатов как эксперименты с классификацией, тем не менее, полученная модель свёрточных нейронных сетей(CNN) показала неплохие результаты, а значит, её можно использовать в дальнейших экспериментах для повышения качества. Полученные результаты нейронных сетей (с кросс-валидацией в 3 разбиения) представлены в таблице 4. Для экспериментов тексты вакансий делились методом N-shingles, для 4-shingles и 5-shingles тексты также очищались от всех символов, отличных от букв русского и английского алфавитов и знака пробел.

Таблица 4.

Результаты экспериментов с нейронными сетями.

Метод предобработки текстов

CNN

f1

acc

2-shingles

0,7562

0,7742

3-shingles

0,8019

0,8106

4-shingles cleansed

0,8224

0,8330

5-shingles cleansed

0,8578

0,8669

6-shingles cleansed

0,8512

0,8567

 

Как видно из таблицы 4, наилучшие результаты достигаются на 5-shingles разложении, а дальше начинают падать.

5. Заключение

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

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

Код ко всем приведённым исследованиям доступен по ссылкам:

https://drive.google.com/file/d/1nMfuKb-RJg-sqqot-Pc8xlLHDZPnRWnS/view

https://drive.google.com/file/d/1OM7WFD25PQ5mFhIrdHLEqOSDNwo3DgZD/view

 

Список литературы:

  1. Поиск работы в России. URL: https://headhunter.ru (дата обращения: 28.05.2018)
  2. M.F.Porter An algorithm for suffix stripping — 1980 //  [электронный ресурс] — Режим доступа. — URL: https://tartarus.org/martin/PorterStemmer/def.txt (дата обращения: 28.05.2018)
  3. I.Segalovich A fast morphological algorithm with unknown word guessing induced by a dictionary for a web search engine // Yandex — 2003 [электронный ресурс] — Режим доступа. — URL: http://cache-mskm904.cdn.yandex.net/download.yandex.ru/company/iseg-las-vegas.pdf (дата обращения: 28.05.2018)
  4. А.Коваленко «Стеммер» Морфологический анализ для небольших поисковых систем // Системный администратор — Октябрь  2002 №1 (1) [электронный ресурс] — Режим доступа. — URL:   http://samag.ru/archive/article/47 (дата обращения: 28.05.2018)
  5. Открытый курс машинного обучения [электронный ресурс] — Режим доступа. — URL: https://habrahabr.ru/company/ods/blog/326418/#one-hot-encoding (дата обращения: 28.05.2018)
  6. An Introduction to Information Retrieval // Cambridge University Press — 2009 [электронный ресурс] — Режим доступа. — URL: https://nlp.stanford.edu/IR-book/html/htmledition/tf-idf-weighting-1.html (дата обращения: 28.05.2018)
  7. Sanjeev Arora, Yingyu Liang, Tengyu Ma. A simple but tough-to-beat baseline for sentence //ICLR 2017 [электронный ресурс] — Режим доступа. — URL: https://openreview.net/pdf?id=SyK00v5xx (дата обращения: 28.05.2018)
  8. T.Mikolov Distributed Representations of Words and Phrases and their Compositionality //In Proceedings of Workshop at ICLR — 2013 [электронный ресурс] — Режим доступа. — URL: https://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf (дата обращения: 28.05.2018)
  9. Comparing Sentence Similarity Methods [электронный ресурс] — Режим доступа. — URL:    http://nlp.town/blog/sentence-similarity/ (дата обращения: 28.05.2018)
  10. Ассоциация предприятий компьютерных и информационных технологий. URL: http://apkit.ru/committees/education/meetings/standarts.php (дата обращения: 28.05.2018)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.