Кодировка utf8 для смайликов в R показывает неверный результат - PullRequest
0 голосов
/ 25 октября 2018

У меня есть набор смайликов в твиттере:

description       r.encoding    unicode     width
shootingstar    <f0><9f><8c><a0> U+1F320      16
wrappedgift     <f0><9f><8e><81> U+1F381      16
yellowheart     <f0><9f><92><9b> U+1F49B      16
femalesign      <e2><99><80>     U+2640       12
frowningface    <e2><98><b9>     U+2639       12

И набор твитов:

[1] "Ring<f0><9f><9a><b4><e2><80><8d><e2><99><80><ef><b8><8f> Order today and have it within 3 days<e2><9d><a3><ef><b8><8f>\n"
[2] "Really I have been thinking <f0><9f><a4><94> about surfing <f0><9f><8f><84><e2><80><8d><e2><99><80><ef><b8><8f>"     

Когда я пытаюсь получить имя смайлика в этих текстах.использование:

vec <- str_count(string, matchto)# string is the text, matchto is r.encodig
matches <- which(vec != 0)

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

например

"femalesign" emoji is:<e2><99><80>

в обоих твитах, мои коды показывают смайлики "женский знак", однако, когда я проверял твит,пользователь на самом деле использует «женщина на велосипеде» и «женщина на серфинге», которых нет в моем наборе данных смайликов

woman biking:  <f0><9f><9a><b4><e2><80><8d><e2><99><80><ef><b8><8f>
woman surfing: <f0><9f><8f><84><e2><80><8d><e2><99><80><ef><b8><8f>

Итак, результат, который я ожидал, был:

NA
NA

Могу я узнатьесли есть решение?Есть ли конкретный шаблон, который может помочь?

I was wondering if there's  a pattern /regex that can help in recognising
 whether this kind of sequence for example "<f0><9f><9a><b4><e2><80><8d> 
<e2><99><80> <ef><b8><8f>", belongs to an emoji , regardless which emoji is it 

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

...