Years ago, at Berlin there were demonstrations on the streets, with pensioners asking loudly to shoot these jerks 👾, while some elderly people 🧓 at Milan had heated discussions about politics on piazza Duomo, and groups of youngsters were strolling around everywhere, shouting or laughing 🥳. Today, on the streets and on the busses, we are watching our telephones, in silence.
The lack of noise does not mean people today were less excited. New and old wars, brand new clothes, children, latest iPhones, euthanasia, foreigners in town: Everybody is excited, I read on Facebook and in the chats.
Things change, and so does our way of expressing ourselves. Even what seemed rock hard, and menacing, when we were kids at school, like punctuation, is changing.
Once we would have written: "I am very, more, most, terribly ... angry". today we write things like "It's a shame!!!!"
What is happening here to our good old exclamation mark? Repetition of signs is something we know from Social Media and chats. People repeat emojis.
Fishing 100 red heart tweets in German with R quanteda, we find 145 heart symbols with 48 pairs of hearts, 41 triplets (for details, see below "technical notes"). 100 Italian vomit tweets give 238 🤮 symbols, with 125 repetitions and 70 triplets. This tendency can, weaker or stronger, be found any day with any emoji of a certain kind (not with personifications, for example . Elsewhere we will try to distinguish types of emojis).
We could follow that people who close, like a friend of mine last Saturday, the first sentence of a mail with two exclamation marks and the last one with four of them, are using our punctuation mark as an emoji.
Nice hypothesis, but how to be controlled? A keyword tweet search with punctation signs does not work, not in R, not in Python. For a "!" you get your 100 documents, but they contain only few exclamation marks (lang="de", 2.11.2022: 14). Do not ask me why. An exclamation mark is not counted as an emoji, for now.
How will we find the signs of exitement, then? Searching with emojis as keywords.
To make a beginning, I choose something nice and friendly.
We make a tweet_search (with R), or an api.search_tweets (Python) with keyword = "😊" and n=100.
Number of documents 100
Italian (29/10/2022): Number of characters 6297. Exclamation marks 6. Two exclamation marks 0
German: Number of characters 8942. Number of exclamation marks 22
Two exclamation marks 1
The difference between Italian (6) and German (22) usage of "!" looks interesting, although a probability of .25, compared to .2 we find in a novel from about 1900 ,. is not really exciting.
But maybe collecting only nice tweets we are on the wrong way.
Trying out "😔", results change only slightly.
Italian
Number of characters: 9551
Number of exclamation marks 5
Number of two exclamation marks 0
German
Number of characters: 8890
Number of exclamation marks 9
Number of two exclamation marks 0
Still, we did not enter the world of strong feelings.
Number of characters: 8892
Number of exclamation marks 20
Number of two exclamation marks 4
Number of characters: 8036
Number of exclamation marks 10
Number of three exclamation marks 1
Number of characters: 11170
Number of exclamation marks 20
Number of two exclamation marks 2
Number of characters: 9889
Number of exclamation marks 26
Number of two exclamation marks 4
Number of characters: 13868
Number of exclamation marks 8
Number of two exclamation marks 0
Number of exclamation marks 14
Number of two exclamation marks 0
Number of characters: 12479
Number of exclamation marks 5
Number of two exclamation marks 1
Italian
Number of characters: 7190 Number of exclamation marks 15 Number of two exclamation marks 2
In Italian, the number of exclamation marks is higher here. Six of them were found in smiley tweets, 15 here. How can this growth be
explained? The butterfly emoji does not look really exciting, it is not 🤮. With R, we can look up correlated hashtags.
> head(toptag)
[1] "#art" "#artlovers" "#catlovers"
[4] "#a" "#amemici20" "#jeru"
These hashtags are partly linked to a conspiracy theory born during a Big Brother VIP show in Italian television. it is all about a couple ...
Trying these hashtags, for example #jeru, finally we can hear excited
tweeters:
Number of characters: 10298
Number of exclamation marks 37
0.35929306661487664 %
Number of two exclamation marks 5
37 simple, five double exlamation marks is quite a result. Useless to say these tweets are full of emojis, too.
In Germany, Reality Shows do not provoke similar emotional discourses on twitter. With #temptationisland, only 18 tweets are found, with
three exclamation marks. #badgirlsclub has zero tweets (always on October, 29). When and where German twitters get loud? Try "#impfgegner" 8opponents of vaccination):
Number of characters: 14160 Number of exclamation marks 28 Number of three exclamation marks 1"#putintrolle":
Number of characters: 12883 Number of exclamation marks 27 0.2095785143211985 % Number of three exclamation marks 1While in Italian we get an increase in (double) exclamation marks when communicating about gossip, in Germany only few, very specific keywords create a similar, though minor, effect.
In short, yes, repetitions of exclamation marks, signs of excitement, can be found on Twitter, but only in certain areas that, from one culture to the other,
are different. Probably the differences in usage are correlated in some mysterious way to the chosen emojis.
When starting our research of excitement with emojis, we do not need to know anything about the world, like those unforeseeable hashtags.
Technically
A simple Python search
api = tweepy.API(auth)
container = []
with open('zeichenbasis.csv', 'w') as tweet_csv_file:
pass
keywords = "😊"
tweetCount = 1000
results = api.search_tweets(keywords, count=tweetCount, lang="it")
for tweet in results:
container.append(tweet.text)
f = open('zeichenbasis_smile.csv', 'w')
writer = csv.writer(f)
writer.writerow(container)
f.close()
zeichendf = pd.read_csv('zeichenbasis_smile.csv')
zeichenkette = zeichendf.to_string()
print(zeichenkette)
x = zeichenkette.count(".")
print("Number of single points (full stops? .)", x)
y = zeichenkette.count("...")
print("Number of three points (ellipsis ...)", y)
if y>0:
relation = x/y
print("Relation: ", relation)
x = zeichenkette.count("!")
print("Number of exclamation marks", x)
y = zeichenkette.count("!!!")
print("Number of three exclamation marks", y)
if y>0:
relation = x/y
print("Relation: ", relation)
R search with rtweet and quanteda
toks_ngram <- tokens_ngrams(tokens(corpse), n = 2:4)
> ngr_matrix <- dfm(toks_ngram)
> textstat_frequency(ngr_matrix, n=20)
feature frequency
1 . . 45
2 😊😊 28
Searching for heart tweets (❤️) in German, we obtain 145 hearts and
> textstat_frequency(ngr_matrix, n=20)
feature frequency rank
1 ❤️
❤️
2 ❤️
❤️
❤️
3 ❤️ ❤️ ❤️ ❤️ 37 3
Collecting tweets with the vomit emoji in Italian gives:
Total frequency 238
> textstat_frequency(ngr_matrix, n=20)
feature frequency rank docfreq
1 🤮_🤮 124 1 45
2 🤮_🤮_🤮 79 2 39
3 🤮_🤮_🤮_🤮 40 3 19