#python #nlp #sentiment-analysis
Вопрос:
Мой исследовательский интерес-влияние смайликов в тексте. Я пытаюсь классифицировать саркастические твиты в тексте. Месяц назад я использовал набор данных, в который я добавил токены, используя:
токенизатор.add_tokens(«Список смайликов»).
Поэтому, когда я тестировал модель БЕРТА, она успешно добавила токены. Но 2 дня назад, когда я сделал то же самое для другого набора данных, модель БЕРТА классифицировала их как токены «UNK». Мой вопрос в том, есть ли недавние изменения в модели БЕРТА? Я попробовал это со следующим токенизатором,
BertTokenizer.from_pretrained(«берт-база-без оболочки»)
То же самое относится и к дистилберту. Он не распознает смайлики, несмотря на их явное добавление. Сначала я где-то читал, что нет необходимости добавлять их в токенизатор, потому что у БЕРТА или дистилберта уже есть эти смайлики в 30000 токенах, но я попробовал и то, и другое. Добавляя и не добавляя. В обоих случаях он не распознает смайлики.
Что я могу сделать, чтобы решить эту проблему. Ваши мысли по этому поводу будут оценены по достоинству.
Ответ №1:
Возможно, вам потребуется провести различие между моделью BERT (архитектурой) и предварительно обученной моделью BERT. Первые определенно могут поддерживать эмодзи; у последних будут зарезервированы кодовые точки только для них, если они были в данных, которые использовались для создания токенизатора слов.
Вот анализ 119 547 слов, используемых в многоязычной модели HuggingFace, в которой не упоминаются смайлики. Обратите внимание, что 119 тыс.-это очень много для вокаба; более нормальным является 8 тыс., 16 тыс. или 32 тыс. Размер vocab оказывает довольно большое влияние на размер модели: первый и последний слои модели трансформатора (например, BERT) имеют гораздо больший вес, чем между любым другим слоем.
Я только что бегло просмотрел, как бумажное время серьезно относится к смайликам: Они Значительно улучшают Повседневные разговорные модели. Они добавляют 3267 смайликов в конец словаря. Затем обучите его некоторым данным с помощью смайликов, чтобы он мог попытаться узнать, что делать с этими новыми персонажами.
Кстати, поиск в репозитории github HuggingFace обнаружил, что они используют from emoji import demojize
. Это звучит так, как будто они преобразуют смайлики в текст. В зависимости от того, что вы делаете, вам может потребоваться отключить его или, наоборот, вам может потребоваться использовать его в своем конвейере.