Как объяснить разницу в написании (особенно для сленга) для встраивания Word / генерации Word2Vec с использованием текстов песен? - PullRequest
0 голосов
/ 23 мая 2018

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

Я посмотрел на исправление заклинания, используя hunspell / pyhunspell, но проблема в том, что он не исправляет орфографические ошибки в сленге.Технически я мог бы создать мини-словарь с кучей вариантов с ошибками, но это фактически бесполезно, потому что в моем (растущем) корпусе из 6000 песен может быть дюжина вариантов одного и того же слова.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

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

Для более длинных слов:Вы можете использовать такие метрики, как расстояние Левенштейна или сходство Джаро.Первый состоит из минимального количества добавлений, удалений или замен для преобразования одного слова-кандидата в другое.Второй, дает аналогичный результат, между 0 и 1, и делает больший акцент на последних символах слова.

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

Если вы работаете с Python, здесь предоставляются некоторые реализации.

0 голосов
/ 23 мая 2018

Вы могли бы попытаться остановить свои слова.Более подробная информация о здесь .Это помогло бы сгруппировать слова с близкими вариациями правописания.

Популярной схемой stemming является Porter Stemmer, реализацию которой можно найти в большинстве пакетов NLP, например. NLTK

...