library(tidyverse)
library(easystats)
data("germeval_train", package = "pradadata")
emojis1
emoji
textmining
string
Aufgabe
Extrahieren Sie die Anzahl der Emojis aus einem Text.
Nutzen Sie die GermEval-2018-Daten.
Die Daten sind unter CC-BY-4.0 lizensiert. Author: Wiegand, Michael (Spoken Language Systems, Saarland University (2010-2018), Leibniz Institute for the German Language (since 2019)),
Die Daten sind auch รผber das R-Paket PradaData zu beziehen.
Nutzen Sie diesen Text-Datensatz, bevor Sie den grรถรeren germeval
-Datensatz verwenden:
Daten
Teststring:
<- c("Abbau, Abbruch ist jetzt",
text "Test ๐งโ๐ ๐ heute!!",
"Abbruch #morgen #perfekt",
"Abmachung... LORE IPSUM",
"boese ja", "bรถse nein",
"hallo ?! www.google.de",
"gut schlecht I am you are he she it is")
<- c(2, 0, 2, 1, 1, 1, 0, 2)
n_emo
<-
test_text data.frame(id = 1:length(text),
text = text,
n_emo = n_emo)
test_text
id text n_emo
1 1 Abbau, Abbruch ist jetzt 2
2 2 Test ๐งโ๐ ๐ heute!! 0
3 3 Abbruch #morgen #perfekt 2
[ reached 'max' / getOption("max.print") -- omitted 5 rows ]
Hinweise:
- Orientieren Sie sich im รbrigen an den allgemeinen Hinweisen des Datenwerks.
Lรถsung
Setup
library(tidyverse)
library(tictoc)
library(emoji) # emoji_xxx
library(tidyEmoji)
Test 1
|>
test_text mutate(n_emojis = emoji_count(text))
id text n_emo n_emojis
1 1 Abbau, Abbruch ist jetzt 2 0
2 2 Test ๐งโ๐ ๐ heute!! 0 3
[ reached 'max' / getOption("max.print") -- omitted 6 rows ]
Das Paket emoji
beinhaltet eine Menge Emojis:
|> length() emoji_name
[1] 4538
Test2
$text |>
test_textemoji_subset()
[1] "Test ๐งโ๐ ๐ heute!!"
TidyEmoji - Emojis kategorisieren
data.frame(tweets = c("I love tidyverse \U0001f600\U0001f603\U0001f603",
"R is my language! \U0001f601\U0001f606\U0001f605",
"This Tweet does not have Emoji!",
"Wearing a mask\U0001f637\U0001f637\U0001f637.",
"Emoji does not appear in all Tweets",
"A flag \U0001f600\U0001f3c1")) %>%
emoji_categorize(tweets)
# A tibble: 4 ร 2
tweets .emoji_category
<chr> <chr>
1 I love tidyverse ๐๐๐ Smileys & Emotion
2 R is my language! ๐๐๐
Smileys & Emotion
3 Wearing a mask๐ท๐ท๐ท. Smileys & Emotion
4 A flag ๐๐ Smileys & Emotion|Flags
|>
test_text emoji_categorize(text)
# A tibble: 1 ร 4
id text n_emo .emoji_category
<int> <chr> <dbl> <chr>
1 2 Test ๐งโ๐ ๐ heute!! 0 Smileys & Emotion|People & Body|Objects
data(wild_emojis, package = "pradadata")
|>
wild_emojis emoji_categorize(emoji)
# A tibble: 28 ร 2
emoji .emoji_category
<chr> <chr>
1 ๐ฃ Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
2 ๐ Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
3 โ ๏ธ Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
4 ๐ Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
5 ๐น Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
6 ๐ฉ Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
7 ๐ก Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
8 ๐คข Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
9 ๐คฎ Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
10 ๐ Smileys & Emotion|NULL|NULL|NULL|NULL|NULL
# โน 18 more rows
Alternativ kann man auch via Regex und Unicode Regex ansprechenโฆ emoji_pattern <- "\\p{So}"
.
Das ist vermutlich cleverer ๐ค.
Categories:
- emoji
- textmining
- string