Не удается получить правильную кодировку символов с помощью rtweet и токенайзера RMeCab

Я пытаюсь написать свой японский твит и сталкиваюсь с, казалось бы, неразрешимыми проблемами с кодировкой символов.

После майнинга твитов и установки локали с Sys.setlocale("LC_ALL", "Japanese_Japan.932") Я получаю фрейм данных, который выглядит как ожидалось:

введите описание изображения здесь

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

Итак, после компиляции MeCab и установка RMeCabЯ извлекаю первый твит и пытаюсь токенизировать его

tweet1 <- trump_ja[1,5]
x <- RMeCabC(str = tweet1)

Это дает следующий вывод:

введите описание изображения здесь

К сожалению, это не правильные символы японского языка. Я пробовал следующие чередования между SHIFT-JIS а также UTF-8 кодирование (и все комбинации этих изменений) для преодоления этой проблемы:

  • Откройте скрипт R с другой кодировкой (имеет значение, но показывает только искаженные символы, поэтому я предполагаю, что искажение происходит в RMeCab)
  • Переключить язык между Sys.setlocale("LC_ALL", "English_United States.1252") а также Sys.setlocale("LC_ALL", "Japanese_Japan.932")
  • Перекомпилируйте MeCab в другой кодировке

Сейчас я в конце очереди и хотел бы попросить о помощи.

РЕДАКТИРОВАТЬ: я теперь понял, что работает iconv (result, from = "UTF8", to = "UTF-8") преобразование на символьной (и искаженной) строке символов показывает мне правильные японские символы для токенов. Это не имеет большого смысла, но делает свое дело. Однако я бы хотел избежать этого дополнительного шага, поскольку преобразование работает только со строками символов, а не со списками или векторами.

0 ответов

Другие вопросы по тегам