1447 lines
46 KiB
Plaintext
1447 lines
46 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Emoji Distance\n",
|
||
"a notebook dealing witch emoji distance measures. Uses an external csv with labeled data to compare arbitriary emojis related to sentiment\n",
|
||
"Autor = Carsten Draschner\n",
|
||
"Version = 0.1\n",
|
||
"## Used Ressources\n",
|
||
"https://www.clarin.si/repository/xmlui/handle/11356/1048\n",
|
||
"https://github.com/words/emoji-emotion"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"import math\n",
|
||
"import numpy as np"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"N=3"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"#read in csv as panda file\n",
|
||
"df = pd.read_csv(\"/Users/Carsten/GitRepos/NLP-LAB/Project/Tools/Emoji_Sentiment_Data_v1.0.csv\", delimiter=\";\")\n",
|
||
"#df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def dataframe_to_dictionary():\n",
|
||
" data = {}\n",
|
||
" data_only_emoticons = {}\n",
|
||
" list_sentiment_vectors = []\n",
|
||
" list_emojis = []\n",
|
||
" list_sentiment_emoticon_vectors = []\n",
|
||
" list_emoticon_emojis = []\n",
|
||
" for index, row in df.iterrows():\n",
|
||
" emo = row[\"Emoji\"]\n",
|
||
" occ = row[\"Occurrences\"]\n",
|
||
" pos = row[\"Positive\"]\n",
|
||
" neg = row[\"Negative\"]\n",
|
||
" neu = row[\"Neutral\"]\n",
|
||
" data.update({emo:[pos/occ,neg/occ,neu/occ]})\n",
|
||
" \n",
|
||
" list_sentiment_vectors.append(np.array([pos/occ,neg/occ,neu/occ]))\n",
|
||
" list_emojis.append(emo)\n",
|
||
" \n",
|
||
" if(row[\"Unicode block\"]==\"Emoticons\"):\n",
|
||
" data_only_emoticons.update({emo:[pos/occ,neg/occ,neu/occ]})\n",
|
||
" \n",
|
||
" list_sentiment_emoticon_vectors.append(np.array([pos/occ,neg/occ,neu/occ]))\n",
|
||
" list_emoticon_emojis.append(emo)\n",
|
||
"\n",
|
||
"\n",
|
||
" return data,data_only_emoticons,np.array(list_sentiment_vectors), np.array(list_emojis), np.array(list_sentiment_emoticon_vectors),np.array(list_emoticon_emojis)\n",
|
||
"#d , doe = dataframe_to_dictionary()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"data , data_only_emoticons, list_sentiment_vectors , list_emojis , list_sentiment_emoticon_vectors , list_emoticon_emojis = dataframe_to_dictionary()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"#calculates vector distance between 2 3-dim sentiment representations of emojis\n",
|
||
"def sentiment_vector_dist(v1,v2):\n",
|
||
" #calculates vector distance between 2 3-dim sentiment representations of emojis consisting of positive neutral and negative probabilistic occuring\n",
|
||
" tmp_dist = np.linalg.norm(np.array(v1)-np.array(v2)) \n",
|
||
" return tmp_dist"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"#calculates vector representation in a 3dim 0 to 1space of dimension: positive,negative,neutral\n",
|
||
"def emoji_to_sentiment_vector(e, only_emoticons=True):\n",
|
||
" \"\"\"tmp = df[df[\"Emoji\"]==e] \n",
|
||
" #calculate by espacial labeled occurences devided by sum of overall occurences\n",
|
||
" pos = tmp[\"Positive\"].values[0]/tmp[\"Occurrences\"].values[0]\n",
|
||
" neg = tmp[\"Negative\"].values[0]/tmp[\"Occurrences\"].values[0]\n",
|
||
" neu = tmp[\"Neutral\"].values[0]/tmp[\"Occurrences\"].values[0]\n",
|
||
" #return as np array\n",
|
||
" return np.array([pos,neg,neu])\"\"\"\n",
|
||
" if e in (data_only_emoticons if only_emoticons else data):\n",
|
||
" return np.array((data_only_emoticons if only_emoticons else data)[e])\n",
|
||
" return np.array([float('NaN')]*N) "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"#function to call for evaluating two emojis in its sentimental distance\n",
|
||
"def emoji_distance(e1,e2):\n",
|
||
" sent_v1 = emoji_to_sentiment_vector(e1)\n",
|
||
" sent_v2 = emoji_to_sentiment_vector(e2)\n",
|
||
" \n",
|
||
" d = sentiment_vector_dist(sent_v1,sent_v2)\n",
|
||
" return d"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def sentiment_vector_to_emoji(v1, only_emoticons=True):\n",
|
||
" #more efficient approach for min distance\n",
|
||
" distances = (list_sentiment_emoticon_vectors if only_emoticons else list_sentiment_vectors) - v1\n",
|
||
" distances = np.linalg.norm(distances, axis=1)\n",
|
||
" #find min entry\n",
|
||
" min_entry = np.argmin(distances)\n",
|
||
" \n",
|
||
" return (list_emoticon_emojis if only_emoticons else list_emojis)[min_entry]\n",
|
||
"\n",
|
||
" #version for dics\n",
|
||
"\n",
|
||
" \"\"\"#set initial values to compare with\n",
|
||
" best_emoji = \"😐\"\n",
|
||
" min_distance = 10000\n",
|
||
"\n",
|
||
" #compare only with filtred emoticons not containing other elements like cars etc.\n",
|
||
" #compare for each existing emoticons sentment vector to find the minimal distance equivalent to the best match\n",
|
||
" for e,v2 in doe.items():\n",
|
||
" #v2 = emoji_to_sentiment_vector(e)\n",
|
||
" d = sentiment_vector_dist(v1,v2)\n",
|
||
" if(d < min_distance):\n",
|
||
" min_distance = d\n",
|
||
" best_emoji = e\n",
|
||
"\n",
|
||
"\n",
|
||
" #print(\"for sentiment vector: \"+str(v1)+\" the emoji is : \"+str(best_emoji)+\" with distance of \"+str(min_distance)+\"!\")\n",
|
||
" return best_emoji\"\"\"\n",
|
||
"\n",
|
||
" #old version\n",
|
||
"\n",
|
||
" \"\"\"#set initial values to compare with\n",
|
||
" best_emoji = \"😐\"\n",
|
||
" min_distance = 10000\n",
|
||
"\n",
|
||
" #compare only with filtred emoticons not containing other elements like cars etc.\n",
|
||
" df_filtered = df[df[\"Unicode block\"]==\"Emoticons\"]\n",
|
||
" all_smilies = list(df_filtered[\"Emoji\"])\n",
|
||
" #compare for each existing emoticons sentment vector to find the minimal distance equivalent to the best match\n",
|
||
" for e in all_smilies:\n",
|
||
" v2 = emoji_to_sentiment_vector(e)\n",
|
||
" d = sentiment_vector_dist(v1,v2)\n",
|
||
" if(d < min_distance):\n",
|
||
" min_distance = d\n",
|
||
" best_emoji = e\n",
|
||
"\n",
|
||
"\n",
|
||
" #print(\"for sentiment vector: \"+str(v1)+\" the emoji is : \"+str(best_emoji)+\" with distance of \"+str(min_distance)+\"!\")\n",
|
||
" return best_emoji\"\"\"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def show_demo_min_distances(only_emoticons = True):\n",
|
||
" #df_filtered = df[df[\"Unicode block\"]==\"Emoticons\"]\n",
|
||
" all_smilies = list_emoticon_emojis if only_emoticons else list_emojis\n",
|
||
"\n",
|
||
" d_m = np.zeros(shape=(len(all_smilies),len(all_smilies)))\n",
|
||
"\n",
|
||
" for c1 in range(len(all_smilies)):\n",
|
||
" for c2 in range(len(all_smilies)):\n",
|
||
" e1 = all_smilies[c1]\n",
|
||
" e2 = all_smilies[c2]\n",
|
||
"\n",
|
||
" d = emoji_distance(e1,e2)\n",
|
||
" d_m[c1,c2] = d\n",
|
||
" \n",
|
||
" for c in range(len(d_m[0])):\n",
|
||
" emoji = all_smilies[c]\n",
|
||
" row = d_m[c]\n",
|
||
" row_sorted = np.argsort(row)\n",
|
||
" #closest 5\n",
|
||
" r = row_sorted[0:10]\n",
|
||
" #print()\n",
|
||
" closest = \"\"\n",
|
||
" for i in r:\n",
|
||
" closest+=all_smilies[i]\n",
|
||
" print(emoji+\": \"+closest)\n",
|
||
" \n",
|
||
" \"\"\"df_filtered = df[df[\"Unicode block\"]==\"Emoticons\"]\n",
|
||
" all_smilies = list(df_filtered[\"Emoji\"])\n",
|
||
"\n",
|
||
" d_m = np.zeros(shape=(len(all_smilies),len(all_smilies)))\n",
|
||
"\n",
|
||
" for c1 in range(len(all_smilies)):\n",
|
||
" for c2 in range(len(all_smilies)):\n",
|
||
" e1 = all_smilies[c1]\n",
|
||
" e2 = all_smilies[c2]\n",
|
||
"\n",
|
||
" d = emoji_distance(e1,e2)\n",
|
||
" d_m[c1,c2] = d\n",
|
||
" \n",
|
||
" for c in range(len(d_m[0])):\n",
|
||
" emoji = all_smilies[c]\n",
|
||
" row = d_m[c]\n",
|
||
" row_sorted = np.argsort(row)\n",
|
||
" #closest 5\n",
|
||
" r = row_sorted[0:10]\n",
|
||
" #print()\n",
|
||
" closest = \"\"\n",
|
||
" for i in r:\n",
|
||
" closest+=all_smilies[i]\n",
|
||
" print(emoji+\": \"+closest)\"\"\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"😂: 😂😱😬🙇😈😹😅😥🙉😵\n",
|
||
"😍: 😍😊😘😚😻😛😋😇🙌😀\n",
|
||
"😭: 😭😪😓😴😔😷😖😫😢😨\n",
|
||
"😘: 😘😚😍😙😊😗😛😻😽😋\n",
|
||
"😊: 😊😻😛😍😇😋😀🙌😘😚\n",
|
||
"😁: 😁😄😝😎🙊😜😆🙆😉🙋\n",
|
||
"😩: 😩😒😕🙍😿😾😠😦😐😑\n",
|
||
"🙏: 🙏😏😸😉🙀😮😜😝😄🙉\n",
|
||
"😏: 😏🙏😮🙀😸😈🙉😉😜😝\n",
|
||
"😉: 😉😜😸😝🙆😄😁😎😆🙊\n",
|
||
"🙌: 🙌😀😛😻😇🙋😌😊😋😃\n",
|
||
"🙈: 🙈😼😌🙊🙋😆😁😄😺😎\n",
|
||
"😄: 😄😝😁😆😜🙊😉😎😸🙉\n",
|
||
"😒: 😒😩😕😿🙍😾😠😦😐😑\n",
|
||
"😃: 😃🙆😎😀😇😋🙋🙌😁🙊\n",
|
||
"😔: 😔😷😭😖😪😓😴😫😤😨\n",
|
||
"😱: 😱😬😂🙇😹😅😥😵😈😯\n",
|
||
"😜: 😜😉😝😁😄🙆😎😸😆🙊\n",
|
||
"😳: 😳😲😧😵😯🙇😹😶😢😥\n",
|
||
"😡: 😡😣😞🙎😫😖😰😠😔😷\n",
|
||
"😎: 😎🙆😁🙊😜😃😄😝🙋😉\n",
|
||
"😢: 😢😟😪😓😴😭😵😥😧😰\n",
|
||
"😋: 😋😇😻😀😊😃😛🙌😍🙆\n",
|
||
"🙊: 🙊🙋😁😆😎🙈😌😄😼😝\n",
|
||
"😴: 😴😭😪😓😔😧😨😢😷😲\n",
|
||
"😌: 😌🙋🙈🙊🙌😼😀😎😆😁\n",
|
||
"😞: 😞😫😖🙎😰😓😔😡😪😭\n",
|
||
"😆: 😆😄😁🙊😝😼🙈😜😎🙉\n",
|
||
"😝: 😝😄😜😁😆😉😸😎🙊🙆\n",
|
||
"😪: 😪😓😭😴😔😢😷😖😫😞\n",
|
||
"😫: 😫😖😞😔😷😭😓😪😣😡\n",
|
||
"😅: 😅😹😥😬🙇😱😂😟😵😢\n",
|
||
"😀: 😀😇🙌😻😛😋😃🙋😊😌\n",
|
||
"😚: 😚😘😍😙😗😊😛😻😽😋\n",
|
||
"😻: 😻😊😛😇😀😋🙌😍😘😃\n",
|
||
"😥: 😥😹😟😅😵🙇😬😱😢😂\n",
|
||
"😕: 😕😒😩😿🙍😾😠😦😐😑\n",
|
||
"😤: 😤🙅😷😨😔😶😑😖😭😴\n",
|
||
"😈: 😈😮🙉🙀😂😱😬😯🙇😄\n",
|
||
"😰: 😰🙎😞😫😓😢😪😭😖😟\n",
|
||
"😑: 😑😦😐🙅😤😿😶😒😨😕\n",
|
||
"😹: 😹🙇😥😬😅😵😱😂😟😢\n",
|
||
"😠: 😠🙍😾😩😒😕😿😣😖😫\n",
|
||
"😓: 😓😪😭😴😔😢😷😖😫😞\n",
|
||
"😣: 😣😡😫😞😠😖🙍😾🙎😷\n",
|
||
"😐: 😐😦😑😿😕😒😩🙅😤🙍\n",
|
||
"😨: 😨😶🙅😤😧😲😴😔😷😭\n",
|
||
"😖: 😖😫😔😷😞😭😓😪😣😴\n",
|
||
"😷: 😷😔😖😤😭😫😪😓😨😴\n",
|
||
"🙋: 🙋😌🙊🙈😎🙌😀😁😆😼\n",
|
||
"😛: 😛😻😊🙌😀😇😍😋😘😽\n",
|
||
"😬: 😬😱😂🙇😹😅😥😵😈😟\n",
|
||
"😙: 😙😚😘😗😍😊😛😻😽😋\n",
|
||
"🙆: 🙆😎😜😃😉😁😝😄🙊😸\n",
|
||
"🙅: 🙅😤😶😨😑😷😔😲😧😴\n",
|
||
"🙉: 🙉🙀😈😄😝😆😸😮😁😜\n",
|
||
"😇: 😇😀😋😻🙌😊😛😃🙋😍\n",
|
||
"😿: 😿😒😕😩🙍😦😠😐😾😑\n",
|
||
"😲: 😲😧😶😨😴😳😭😪😓🙅\n",
|
||
"😶: 😶😨🙅😲😧😤😴😔😷😭\n",
|
||
"😵: 😵🙇😹😥😟😱😬😅😢😳\n",
|
||
"😸: 😸😉😜😝😄🙀😁🙉🙆😎\n",
|
||
"😧: 😧😲😨😴😶😭😪😳😓😢\n",
|
||
"😮: 😮😈🙀🙉😏😸😯😂🙏😱\n",
|
||
"😽: 😽😛😘😍😚🙌😊😻😗😺\n",
|
||
"🙀: 🙀🙉😮😈😸😝😄😜😉😆\n",
|
||
"🙇: 🙇😹😱😬😵😥😂😅😟😯\n",
|
||
"😟: 😟😥😢😵😹😅🙇😬😱😓\n",
|
||
"😯: 😯😳🙇😱😈😵😮😂😬😹\n",
|
||
"😦: 😦😐😑😿😕😒😩🙅😤🙍\n",
|
||
"🙍: 🙍😾😩😠😒😕😿😣😖😡\n",
|
||
"😺: 😺🙈😌😼🙋😽🙊🙌😆😛\n",
|
||
"😾: 😾🙍😩😠😒😕😿😣😡😖\n",
|
||
"😼: 😼🙈😆🙊😌😁🙋😄😝🙉\n",
|
||
"🙎: 🙎😰😞😡😫😖😣😓😪😭\n",
|
||
"😗: 😗😙😚😘😽😍😊😛😻🙌\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"show_demo_min_distances()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"#test bipolar matching entiment vector vs. emoji\n",
|
||
"#def show_demo_matching_bipolar\n",
|
||
"# df_filtered = df[df[\"Unicode block\"]==\"Emoticons\"]\n",
|
||
"# all_smilies = list(df_filtered[\"Emoji\"])\n",
|
||
"# for e in all_smilies:\n",
|
||
"# v2 = emoji_to_sentiment_vector(e)\n",
|
||
"# sentiment_vector_to_emoji(v2)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[('😂', '😂'),\n",
|
||
" ('❤', '😙'),\n",
|
||
" ('♥', '😋'),\n",
|
||
" ('😍', '😍'),\n",
|
||
" ('😭', '😭'),\n",
|
||
" ('😘', '😘'),\n",
|
||
" ('😊', '😊'),\n",
|
||
" ('👌', '🙌'),\n",
|
||
" ('💕', '😋'),\n",
|
||
" ('👏', '🙋'),\n",
|
||
" ('😁', '😁'),\n",
|
||
" ('☺', '😍'),\n",
|
||
" ('♡', '😍'),\n",
|
||
" ('👍', '🙋'),\n",
|
||
" ('😩', '😩'),\n",
|
||
" ('🙏', '🙏'),\n",
|
||
" ('✌', '😜'),\n",
|
||
" ('😏', '😏'),\n",
|
||
" ('😉', '😉'),\n",
|
||
" ('🙌', '🙌'),\n",
|
||
" ('🙈', '🙈'),\n",
|
||
" ('💪', '😃'),\n",
|
||
" ('😄', '😄'),\n",
|
||
" ('😒', '😒'),\n",
|
||
" ('💃', '😚'),\n",
|
||
" ('💖', '😚'),\n",
|
||
" ('😃', '😃'),\n",
|
||
" ('😔', '😔'),\n",
|
||
" ('😱', '😱'),\n",
|
||
" ('🎉', '😚'),\n",
|
||
" ('😜', '😜'),\n",
|
||
" ('☯', '😏'),\n",
|
||
" ('🌸', '😋'),\n",
|
||
" ('💜', '😊'),\n",
|
||
" ('💙', '😚'),\n",
|
||
" ('✨', '😏'),\n",
|
||
" ('😳', '😳'),\n",
|
||
" ('💗', '😊'),\n",
|
||
" ('★', '😏'),\n",
|
||
" ('█', '😏'),\n",
|
||
" ('☀', '🙏'),\n",
|
||
" ('😡', '😡'),\n",
|
||
" ('😎', '😎'),\n",
|
||
" ('😢', '😢'),\n",
|
||
" ('💋', '😍'),\n",
|
||
" ('😋', '😋'),\n",
|
||
" ('🙊', '🙊'),\n",
|
||
" ('😴', '😴'),\n",
|
||
" ('🎶', '😀'),\n",
|
||
" ('💞', '😚'),\n",
|
||
" ('😌', '😌'),\n",
|
||
" ('🔥', '😏'),\n",
|
||
" ('💯', '😯'),\n",
|
||
" ('🔫', '😷'),\n",
|
||
" ('💛', '😚'),\n",
|
||
" ('💁', '🙉'),\n",
|
||
" ('💚', '😘'),\n",
|
||
" ('♫', '😏'),\n",
|
||
" ('😞', '😞'),\n",
|
||
" ('😆', '😆'),\n",
|
||
" ('😝', '😝'),\n",
|
||
" ('😪', '😪'),\n",
|
||
" ('<27>', '😏'),\n",
|
||
" ('😫', '😫'),\n",
|
||
" ('😅', '😅'),\n",
|
||
" ('👊', '😅'),\n",
|
||
" ('💀', '🙅'),\n",
|
||
" ('😀', '😀'),\n",
|
||
" ('😚', '😚'),\n",
|
||
" ('😻', '😻'),\n",
|
||
" ('©', '😏'),\n",
|
||
" ('👀', '😯'),\n",
|
||
" ('💘', '😍'),\n",
|
||
" ('🐓', '😏'),\n",
|
||
" ('☕', '😏'),\n",
|
||
" ('👋', '😆'),\n",
|
||
" ('✋', '😥'),\n",
|
||
" ('🎊', '😗'),\n",
|
||
" ('🍕', '🙏'),\n",
|
||
" ('❄', '😎'),\n",
|
||
" ('😥', '😥'),\n",
|
||
" ('😕', '😕'),\n",
|
||
" ('💥', '😏'),\n",
|
||
" ('💔', '😶'),\n",
|
||
" ('😤', '😤'),\n",
|
||
" ('😈', '😈'),\n",
|
||
" ('►', '😏'),\n",
|
||
" ('✈', '😏'),\n",
|
||
" ('🔝', '😉'),\n",
|
||
" ('😰', '😰'),\n",
|
||
" ('⚽', '😋'),\n",
|
||
" ('😑', '😑'),\n",
|
||
" ('👑', '😍'),\n",
|
||
" ('😹', '😹'),\n",
|
||
" ('👉', '😏'),\n",
|
||
" ('🍃', '🙏'),\n",
|
||
" ('🎁', '😙'),\n",
|
||
" ('😠', '😠'),\n",
|
||
" ('🐧', '🙏'),\n",
|
||
" ('☆', '😏'),\n",
|
||
" ('🍀', '😏'),\n",
|
||
" ('🎈', '😍'),\n",
|
||
" ('🎅', '😏'),\n",
|
||
" ('😓', '😓'),\n",
|
||
" ('😣', '😣'),\n",
|
||
" ('😐', '😐'),\n",
|
||
" ('✊', '😁'),\n",
|
||
" ('😨', '😨'),\n",
|
||
" ('😖', '😖'),\n",
|
||
" ('💤', '🙀'),\n",
|
||
" ('💓', '😍'),\n",
|
||
" ('👎', '😖'),\n",
|
||
" ('💦', '😌'),\n",
|
||
" ('✔', '😏'),\n",
|
||
" ('😷', '😷'),\n",
|
||
" ('⚡', '😏'),\n",
|
||
" ('🙋', '🙋'),\n",
|
||
" ('🎄', '🙆'),\n",
|
||
" ('💩', '😶'),\n",
|
||
" ('🎵', '😎'),\n",
|
||
" ('➡', '😏'),\n",
|
||
" ('😛', '😛'),\n",
|
||
" ('😬', '😬'),\n",
|
||
" ('👯', '😜'),\n",
|
||
" ('💎', '😃'),\n",
|
||
" ('🌿', '😏'),\n",
|
||
" ('🎂', '😛'),\n",
|
||
" ('🌟', '😏'),\n",
|
||
" ('🔮', '😏'),\n",
|
||
" ('❗', '😏'),\n",
|
||
" ('👫', '😈'),\n",
|
||
" ('🏆', '😚'),\n",
|
||
" ('✖', '😏'),\n",
|
||
" ('☝', '😮'),\n",
|
||
" ('😙', '😙'),\n",
|
||
" ('⛄', '🙆'),\n",
|
||
" ('👅', '😁'),\n",
|
||
" ('♪', '😃'),\n",
|
||
" ('🍂', '😉'),\n",
|
||
" ('💏', '😼'),\n",
|
||
" ('🔪', '😯'),\n",
|
||
" ('🌴', '🙆'),\n",
|
||
" ('👈', '🙏'),\n",
|
||
" ('🌹', '😃'),\n",
|
||
" ('🙆', '🙆'),\n",
|
||
" ('➜', '😏'),\n",
|
||
" ('👻', '😏'),\n",
|
||
" ('💰', '😏'),\n",
|
||
" ('🍻', '🙋'),\n",
|
||
" ('🙅', '🙅'),\n",
|
||
" ('🌞', '😉'),\n",
|
||
" ('🍁', '🙏'),\n",
|
||
" ('⭐', '😃'),\n",
|
||
" ('▪', '😏'),\n",
|
||
" ('🎀', '😋'),\n",
|
||
" ('━', '😏'),\n",
|
||
" ('☷', '😏'),\n",
|
||
" ('🐷', '😏'),\n",
|
||
" ('🙉', '🙉'),\n",
|
||
" ('🌺', '🙏'),\n",
|
||
" ('💅', '😼'),\n",
|
||
" ('🐶', '😀'),\n",
|
||
" ('🌚', '😌'),\n",
|
||
" ('👽', '😏'),\n",
|
||
" ('🎤', '🙊'),\n",
|
||
" ('👭', '🙋'),\n",
|
||
" ('🎧', '😝'),\n",
|
||
" ('👆', '😏'),\n",
|
||
" ('🍸', '😀'),\n",
|
||
" ('🍷', '😏'),\n",
|
||
" ('®', '😏'),\n",
|
||
" ('🍉', '😻'),\n",
|
||
" ('😇', '😇'),\n",
|
||
" ('☑', '😏'),\n",
|
||
" ('🏃', '🙏'),\n",
|
||
" ('😿', '😿'),\n",
|
||
" ('│', '😏'),\n",
|
||
" ('💣', '😳'),\n",
|
||
" ('🍺', '😉'),\n",
|
||
" ('▶', '😏'),\n",
|
||
" ('😲', '😲'),\n",
|
||
" ('🎸', '🙏'),\n",
|
||
" ('🍹', '😊'),\n",
|
||
" ('💫', '🙏'),\n",
|
||
" ('📚', '🙉'),\n",
|
||
" ('😶', '😶'),\n",
|
||
" ('🌷', '🙏'),\n",
|
||
" ('💝', '😍'),\n",
|
||
" ('💨', '🙏'),\n",
|
||
" ('🏈', '🙆'),\n",
|
||
" ('💍', '😌'),\n",
|
||
" ('☔', '😈'),\n",
|
||
" ('👸', '😋'),\n",
|
||
" ('🇪', '😃'),\n",
|
||
" ('░', '😯'),\n",
|
||
" ('🍩', '😝'),\n",
|
||
" ('👾', '😏'),\n",
|
||
" ('☁', '😏'),\n",
|
||
" ('🌻', '🙆'),\n",
|
||
" ('😵', '😵'),\n",
|
||
" ('📒', '😏'),\n",
|
||
" ('↿', '😋'),\n",
|
||
" ('🐯', '🙏'),\n",
|
||
" ('👼', '🙉'),\n",
|
||
" ('🍔', '😮'),\n",
|
||
" ('😸', '😸'),\n",
|
||
" ('👶', '🙊'),\n",
|
||
" ('↾', '😋'),\n",
|
||
" ('💐', '😙'),\n",
|
||
" ('🌊', '🙆'),\n",
|
||
" ('🍦', '🙋'),\n",
|
||
" ('🍓', '😍'),\n",
|
||
" ('👇', '😏'),\n",
|
||
" ('💆', '😬'),\n",
|
||
" ('🍴', '🙆'),\n",
|
||
" ('😧', '😧'),\n",
|
||
" ('🇸', '😃'),\n",
|
||
" ('😮', '😮'),\n",
|
||
" ('▓', '😏'),\n",
|
||
" ('🚫', '😐'),\n",
|
||
" ('😽', '😽'),\n",
|
||
" ('🌈', '🙆'),\n",
|
||
" ('🙀', '🙀'),\n",
|
||
" ('⚠', '😏'),\n",
|
||
" ('🎮', '😸'),\n",
|
||
" ('╯', '😯'),\n",
|
||
" ('🍆', '🙏'),\n",
|
||
" ('🍰', '😌'),\n",
|
||
" ('✓', '😏'),\n",
|
||
" ('👐', '😢'),\n",
|
||
" ('🙇', '🙇'),\n",
|
||
" ('🍟', '🙀'),\n",
|
||
" ('🍌', '😁'),\n",
|
||
" ('💑', '😘'),\n",
|
||
" ('👬', '😳'),\n",
|
||
" ('🐣', '😌'),\n",
|
||
" ('🎃', '😻'),\n",
|
||
" ('▬', '🙏'),\n",
|
||
" ('nan', '😂'),\n",
|
||
" ('😟', '😟'),\n",
|
||
" ('🐾', '😽'),\n",
|
||
" ('🎓', '🙌'),\n",
|
||
" ('🏊', '😃'),\n",
|
||
" ('🍫', '😹'),\n",
|
||
" ('📷', '😸'),\n",
|
||
" ('👄', '😉'),\n",
|
||
" ('🌼', '😙'),\n",
|
||
" ('🚶', '😶'),\n",
|
||
" ('🐱', '😽'),\n",
|
||
" ('║', '😏'),\n",
|
||
" ('🐸', '😳'),\n",
|
||
" ('🇺', '🙌'),\n",
|
||
" ('👿', '😕'),\n",
|
||
" ('🚬', '🙌'),\n",
|
||
" ('✿', '😏'),\n",
|
||
" ('📖', '😱'),\n",
|
||
" ('🐒', '🙏'),\n",
|
||
" ('🌍', '😻'),\n",
|
||
" ('┊', '😗'),\n",
|
||
" ('🐥', '😇'),\n",
|
||
" ('🌀', '😏'),\n",
|
||
" ('🐼', '😏'),\n",
|
||
" ('🎥', '😏'),\n",
|
||
" ('💄', '😸'),\n",
|
||
" ('💸', '😯'),\n",
|
||
" ('⛔', '🙆'),\n",
|
||
" ('●', '😏'),\n",
|
||
" ('🏀', '😈'),\n",
|
||
" ('💉', '😆'),\n",
|
||
" ('💟', '😚'),\n",
|
||
" ('🚗', '😏'),\n",
|
||
" ('😯', '😯'),\n",
|
||
" ('📝', '😏'),\n",
|
||
" ('═', '😏'),\n",
|
||
" ('♦', '😉'),\n",
|
||
" ('💭', '😏'),\n",
|
||
" ('🌙', '😋'),\n",
|
||
" ('🐟', '😚'),\n",
|
||
" ('👣', '😏'),\n",
|
||
" ('☞', '😏'),\n",
|
||
" ('✂', '😐'),\n",
|
||
" ('🗿', '😉'),\n",
|
||
" ('🍝', '😯'),\n",
|
||
" ('👪', '😰'),\n",
|
||
" ('🍭', '😮'),\n",
|
||
" ('🌃', '😏'),\n",
|
||
" ('❌', '😅'),\n",
|
||
" ('🐰', '😻'),\n",
|
||
" ('💊', '🙊'),\n",
|
||
" ('🚨', '😗'),\n",
|
||
" ('😦', '😦'),\n",
|
||
" ('🍪', '🙉'),\n",
|
||
" ('🍣', '🙅'),\n",
|
||
" ('╭', '😏'),\n",
|
||
" ('✧', '😏'),\n",
|
||
" ('🎆', '😙'),\n",
|
||
" ('╮', '😏'),\n",
|
||
" ('🎎', '😗'),\n",
|
||
" ('🇩', '😋'),\n",
|
||
" ('✅', '🙏'),\n",
|
||
" ('👹', '😯'),\n",
|
||
" ('📱', '😏'),\n",
|
||
" ('🙍', '🙍'),\n",
|
||
" ('🍑', '😂'),\n",
|
||
" ('🎼', '😏'),\n",
|
||
" ('🔊', '🙏'),\n",
|
||
" ('🌌', '🙌'),\n",
|
||
" ('🍎', '😏'),\n",
|
||
" ('🐻', '🙊'),\n",
|
||
" ('─', '😏'),\n",
|
||
" ('╰', '😏'),\n",
|
||
" ('💇', '🙀'),\n",
|
||
" ('♬', '😏'),\n",
|
||
" ('♚', '😏'),\n",
|
||
" ('🔴', '😏'),\n",
|
||
" ('🍱', '😿'),\n",
|
||
" ('🍊', '😁'),\n",
|
||
" ('🍒', '😏'),\n",
|
||
" ('🐭', '😍'),\n",
|
||
" ('👟', '😉'),\n",
|
||
" ('🌎', '😏'),\n",
|
||
" ('🍍', '😺'),\n",
|
||
" ('🐮', '😋'),\n",
|
||
" ('📲', '😏'),\n",
|
||
" ('☼', '😏'),\n",
|
||
" ('🌅', '🙀'),\n",
|
||
" ('🇷', '😍'),\n",
|
||
" ('👠', '🙀'),\n",
|
||
" ('🌽', '😎'),\n",
|
||
" ('💧', '😖'),\n",
|
||
" ('❓', '😏'),\n",
|
||
" ('🍬', '😼'),\n",
|
||
" ('😺', '😺'),\n",
|
||
" ('🐴', '😏'),\n",
|
||
" ('🚀', '😉'),\n",
|
||
" ('¦', '😗'),\n",
|
||
" ('💢', '😏'),\n",
|
||
" ('🎬', '😏'),\n",
|
||
" ('🍧', '😼'),\n",
|
||
" ('🍜', '😺'),\n",
|
||
" ('🐏', '😃'),\n",
|
||
" ('🐘', '😯'),\n",
|
||
" ('👧', '😯'),\n",
|
||
" ('⠀', '😏'),\n",
|
||
" ('🏄', '😃'),\n",
|
||
" ('➤', '😏'),\n",
|
||
" ('⬆', '😏'),\n",
|
||
" ('🍋', '😏'),\n",
|
||
" ('🆗', '😽'),\n",
|
||
" ('⚪', '🙏'),\n",
|
||
" ('📺', '🙏'),\n",
|
||
" ('🍅', '😺'),\n",
|
||
" ('⛅', '😎'),\n",
|
||
" ('🐢', '😏'),\n",
|
||
" ('👙', '😃'),\n",
|
||
" ('🏡', '🙋'),\n",
|
||
" ('🌾', '😽'),\n",
|
||
" ('◉', '😏'),\n",
|
||
" ('✏', '😏'),\n",
|
||
" ('🐬', '🙏'),\n",
|
||
" ('🍤', '😏'),\n",
|
||
" ('🇹', '😃'),\n",
|
||
" ('♣', '🙏'),\n",
|
||
" ('🐝', '😏'),\n",
|
||
" ('🌝', '😏'),\n",
|
||
" ('🇮', '😃'),\n",
|
||
" ('🔋', '😕'),\n",
|
||
" ('🐍', '🙏'),\n",
|
||
" ('♔', '🙏'),\n",
|
||
" ('🍳', '😢'),\n",
|
||
" ('🔵', '😏'),\n",
|
||
" ('😾', '😾'),\n",
|
||
" ('🌕', '😛'),\n",
|
||
" ('🐨', '🙊'),\n",
|
||
" ('🔐', '😼'),\n",
|
||
" ('💿', '😋'),\n",
|
||
" ('❁', '😏'),\n",
|
||
" ('🌳', '🙆'),\n",
|
||
" ('👰', '😃'),\n",
|
||
" ('❀', '😏'),\n",
|
||
" ('⚓', '😻'),\n",
|
||
" ('🚴', '😋'),\n",
|
||
" ('▀', '😳'),\n",
|
||
" ('👗', '😏'),\n",
|
||
" ('➕', '😽'),\n",
|
||
" ('💬', '😸'),\n",
|
||
" ('▒', '😏'),\n",
|
||
" ('🔜', '😮'),\n",
|
||
" ('🍨', '😅'),\n",
|
||
" ('💲', '😏'),\n",
|
||
" ('⛽', '😏'),\n",
|
||
" ('🍙', '🙀'),\n",
|
||
" ('🍗', '😳'),\n",
|
||
" ('🍲', '😯'),\n",
|
||
" ('🍥', '😕'),\n",
|
||
" ('▸', '😏'),\n",
|
||
" ('♛', '😏'),\n",
|
||
" ('😼', '😼'),\n",
|
||
" ('🐙', '🙏'),\n",
|
||
" ('👨', '😃'),\n",
|
||
" ('🍚', '😽'),\n",
|
||
" ('🍖', '😯'),\n",
|
||
" ('♨', '😗'),\n",
|
||
" ('🎹', '😏'),\n",
|
||
" ('♕', '😏'),\n",
|
||
" ('▃', '😗'),\n",
|
||
" ('🚘', '😳'),\n",
|
||
" ('🍏', '😯'),\n",
|
||
" ('👩', '😵'),\n",
|
||
" ('👦', '😏'),\n",
|
||
" ('🇬', '😏'),\n",
|
||
" ('🇧', '😏'),\n",
|
||
" ('☠', '😯'),\n",
|
||
" ('🐠', '😌'),\n",
|
||
" ('🚹', '😙'),\n",
|
||
" ('💵', '😸'),\n",
|
||
" ('✰', '😙'),\n",
|
||
" ('╠', '😏'),\n",
|
||
" ('👛', '😆'),\n",
|
||
" ('🚙', '😏'),\n",
|
||
" ('🌱', '😃'),\n",
|
||
" ('💻', '😏'),\n",
|
||
" ('🌏', '🙏'),\n",
|
||
" ('▄', '😳'),\n",
|
||
" ('👓', '😏'),\n",
|
||
" ('◄', '😏'),\n",
|
||
" ('⚾', '😧'),\n",
|
||
" ('🌲', '🙏'),\n",
|
||
" ('👴', '😈'),\n",
|
||
" ('🏠', '🙆'),\n",
|
||
" ('🍇', '😼'),\n",
|
||
" ('🍘', '😺'),\n",
|
||
" ('🍛', '😵'),\n",
|
||
" ('🐇', '😮'),\n",
|
||
" ('🔞', '😯'),\n",
|
||
" ('👵', '😺'),\n",
|
||
" ('◀', '😏'),\n",
|
||
" ('🔙', '😏'),\n",
|
||
" ('🌵', '😬'),\n",
|
||
" ('🐽', '😯'),\n",
|
||
" ('🍮', '😔'),\n",
|
||
" ('🎇', '😗'),\n",
|
||
" ('🐎', '😸'),\n",
|
||
" ('➔', '😏'),\n",
|
||
" ('💶', '😏'),\n",
|
||
" ('🐤', '😃'),\n",
|
||
" ('╩', '😏'),\n",
|
||
" ('🛀', '🙇'),\n",
|
||
" ('🌑', '😎'),\n",
|
||
" ('🚲', '🙏'),\n",
|
||
" ('🐑', '😳'),\n",
|
||
" ('🏁', '🙏'),\n",
|
||
" ('🍞', '😯'),\n",
|
||
" ('🎾', '😽'),\n",
|
||
" ('╚', '😏'),\n",
|
||
" ('🈹', '😏'),\n",
|
||
" ('🐳', '😯'),\n",
|
||
" ('👮', '😐'),\n",
|
||
" ('☹', '😕'),\n",
|
||
" ('🐵', '🙆'),\n",
|
||
" ('✪', '😏'),\n",
|
||
" ('◕', '🙏'),\n",
|
||
" ('🗼', '😃'),\n",
|
||
" ('▐', '😏'),\n",
|
||
" ('♠', '😏'),\n",
|
||
" ('┳', '😐'),\n",
|
||
" ('👺', '🙅'),\n",
|
||
" ('🐚', '😏'),\n",
|
||
" ('👂', '😶'),\n",
|
||
" ('🗽', '😏'),\n",
|
||
" ('🍵', '😆'),\n",
|
||
" ('🆒', '😏'),\n",
|
||
" ('🍯', '😟'),\n",
|
||
" ('🐺', '😏'),\n",
|
||
" ('⇨', '🙏'),\n",
|
||
" ('➨', '😏'),\n",
|
||
" ('🌓', '😋'),\n",
|
||
" ('🔒', '😬'),\n",
|
||
" ('╬', '😳'),\n",
|
||
" ('👳', '😗'),\n",
|
||
" ('🌂', '😏'),\n",
|
||
" ('🚌', '😏'),\n",
|
||
" ('♩', '🙆'),\n",
|
||
" ('🍡', '😳'),\n",
|
||
" ('❥', '😏'),\n",
|
||
" ('🎡', '😏'),\n",
|
||
" ('💌', '😽'),\n",
|
||
" ('🐩', '😏'),\n",
|
||
" ('🌜', '🙏'),\n",
|
||
" ('⌚', '😏'),\n",
|
||
" ('🚿', '😚'),\n",
|
||
" ('🐖', '😏'),\n",
|
||
" ('🔆', '😃'),\n",
|
||
" ('🌛', '😃'),\n",
|
||
" ('💂', '😷'),\n",
|
||
" ('🐔', '😏'),\n",
|
||
" ('🙎', '🙎'),\n",
|
||
" ('🏩', '🙋'),\n",
|
||
" ('🇫', '🙏'),\n",
|
||
" ('🔨', '😶'),\n",
|
||
" ('📢', '🙏'),\n",
|
||
" ('🐦', '🙏'),\n",
|
||
" ('🐲', '😏'),\n",
|
||
" ('♻', '🙏'),\n",
|
||
" ('🌘', '😋'),\n",
|
||
" ('🍐', '😅'),\n",
|
||
" ('🌔', '😋'),\n",
|
||
" ('╥', '😰'),\n",
|
||
" ('❊', '😏'),\n",
|
||
" ('👖', '😏'),\n",
|
||
" ('🚺', '😏'),\n",
|
||
" ('😗', '😗'),\n",
|
||
" ('🎭', '😳'),\n",
|
||
" ('🐄', '😏'),\n",
|
||
" ('◟', '😏'),\n",
|
||
" ('🍢', '😳'),\n",
|
||
" ('🎨', '😏'),\n",
|
||
" ('⬇', '🙊'),\n",
|
||
" ('🚼', '😋'),\n",
|
||
" ('⛲', '😏'),\n",
|
||
" ('▁', '😏'),\n",
|
||
" ('🇴', '😏'),\n",
|
||
" ('🌗', '😍'),\n",
|
||
" ('🌖', '😍'),\n",
|
||
" ('🔅', '😗'),\n",
|
||
" ('👜', '😏'),\n",
|
||
" ('🐌', '😙'),\n",
|
||
" ('💼', '😍'),\n",
|
||
" ('🚕', '😯'),\n",
|
||
" ('🐹', '😼'),\n",
|
||
" ('🌠', '😗'),\n",
|
||
" ('🐈', '😏'),\n",
|
||
" ('⇧', '😏'),\n",
|
||
" ('☎', '😏'),\n",
|
||
" ('🌁', '😏'),\n",
|
||
" ('⚫', '😂'),\n",
|
||
" ('♧', '🙏'),\n",
|
||
" ('🏰', '😏'),\n",
|
||
" ('🚵', '😏'),\n",
|
||
" ('🎢', '😃'),\n",
|
||
" ('🎷', '😙'),\n",
|
||
" ('🎐', '😏'),\n",
|
||
" ('┈', '😾'),\n",
|
||
" ('╗', '😏'),\n",
|
||
" ('╱', '😏'),\n",
|
||
" ('🌇', '😃'),\n",
|
||
" ('⏰', '😽'),\n",
|
||
" ('⇩', '😏'),\n",
|
||
" ('🚂', '😏'),\n",
|
||
" ('◠', '🙏'),\n",
|
||
" ('🎿', '😸'),\n",
|
||
" ('✦', '😏'),\n",
|
||
" ('🆔', '😗'),\n",
|
||
" ('⛪', '😏'),\n",
|
||
" ('🌒', '😋'),\n",
|
||
" ('🐪', '😋'),\n",
|
||
" ('╔', '😏'),\n",
|
||
" ('╝', '🙏'),\n",
|
||
" ('👔', '🙈'),\n",
|
||
" ('🔱', '😯'),\n",
|
||
" ('🆓', '😏'),\n",
|
||
" ('🐋', '😮'),\n",
|
||
" ('▽', '🙆'),\n",
|
||
" ('▂', '😏'),\n",
|
||
" ('🐛', '🙀'),\n",
|
||
" ('👕', '🙆'),\n",
|
||
" ('🚋', '😏'),\n",
|
||
" ('💳', '🙆'),\n",
|
||
" ('🌆', '😏'),\n",
|
||
" ('🏧', '😗'),\n",
|
||
" ('💡', '😍'),\n",
|
||
" ('🔹', '😏'),\n",
|
||
" ('⬅', '🙏'),\n",
|
||
" ('🍠', '😰'),\n",
|
||
" ('🐫', '😏'),\n",
|
||
" ('🏪', '😏'),\n",
|
||
" ('۩', '😏'),\n",
|
||
" ('🇱', '🙏'),\n",
|
||
" ('📹', '😀'),\n",
|
||
" ('👞', '😀'),\n",
|
||
" ('🚑', '😯'),\n",
|
||
" ('🆘', '😟'),\n",
|
||
" ('👚', '😋'),\n",
|
||
" ('🚍', '😟'),\n",
|
||
" ('□', '😡'),\n",
|
||
" ('🐂', '😏'),\n",
|
||
" ('🚣', '😋'),\n",
|
||
" ('✳', '😏'),\n",
|
||
" ('🏉', '😃'),\n",
|
||
" ('🗻', '😋'),\n",
|
||
" ('🐀', '😏'),\n",
|
||
" ('╦', '😏'),\n",
|
||
" ('⛺', '😛'),\n",
|
||
" ('🐕', '😏'),\n",
|
||
" ('🏂', '😎'),\n",
|
||
" ('👡', '😎'),\n",
|
||
" ('📻', '🙏'),\n",
|
||
" ('✒', '😏'),\n",
|
||
" ('🌰', '😋'),\n",
|
||
" ('🏢', '😏'),\n",
|
||
" ('🎒', '😛'),\n",
|
||
" ('⌒', '😋'),\n",
|
||
" ('🏫', '😣'),\n",
|
||
" ('📴', '😗'),\n",
|
||
" ('🚢', '😺'),\n",
|
||
" ('🚚', '😏'),\n",
|
||
" ('🐉', '😏'),\n",
|
||
" ('❒', '😏'),\n",
|
||
" ('🐊', '😏'),\n",
|
||
" ('🔔', '😗'),\n",
|
||
" ('◢', '😙'),\n",
|
||
" ('🏥', '😏'),\n",
|
||
" ('❔', '😳'),\n",
|
||
" ('🚖', '😳'),\n",
|
||
" ('🃏', '😟'),\n",
|
||
" ('▼', '😯'),\n",
|
||
" ('▌', '😑'),\n",
|
||
" ('☛', '😏'),\n",
|
||
" ('✩', '😏'),\n",
|
||
" ('💒', '😋'),\n",
|
||
" ('🚤', '😏'),\n",
|
||
" ('🐐', '🙏'),\n",
|
||
" ('■', '😿'),\n",
|
||
" ('🔚', '😉'),\n",
|
||
" ('🎻', '😏'),\n",
|
||
" ('🔷', '😏'),\n",
|
||
" ('🚦', '😯'),\n",
|
||
" ('🔓', '😟'),\n",
|
||
" ('🎽', '🙏'),\n",
|
||
" ('📅', '😈'),\n",
|
||
" ('🎺', '😗'),\n",
|
||
" ('✯', '😏'),\n",
|
||
" ('🍈', '😾'),\n",
|
||
" ('✉', '😏'),\n",
|
||
" ('╣', '😏'),\n",
|
||
" ('◤', '😗'),\n",
|
||
" ('○', '😃'),\n",
|
||
" ('🍼', '😽'),\n",
|
||
" ('📀', '😏'),\n",
|
||
" ('🚛', '😳'),\n",
|
||
" ('📓', '😏'),\n",
|
||
" ('☉', '😏'),\n",
|
||
" ('💴', '🙅'),\n",
|
||
" ('┼', '😯'),\n",
|
||
" ('🐃', '😏'),\n",
|
||
" ('➰', '😡'),\n",
|
||
" ('🔌', '😶'),\n",
|
||
" ('🍄', '😯'),\n",
|
||
" ('📕', '😏'),\n",
|
||
" ('📣', '🙋'),\n",
|
||
" ('🚓', '😏'),\n",
|
||
" ('🐗', '😃'),\n",
|
||
" ('↪', '😏'),\n",
|
||
" ('⛳', '😙'),\n",
|
||
" ('┻', '😾'),\n",
|
||
" ('┛', '😍'),\n",
|
||
" ('┃', '🙏'),\n",
|
||
" ('👱', '😏'),\n",
|
||
" ('⏳', '😰'),\n",
|
||
" ('💺', '😏'),\n",
|
||
" ('🏇', '😶'),\n",
|
||
" ('☻', '😏'),\n",
|
||
" ('📞', '🙏'),\n",
|
||
" ('Ⓐ', '😳'),\n",
|
||
" ('🌉', '😋'),\n",
|
||
" ('🚩', '😑'),\n",
|
||
" ('✎', '😋'),\n",
|
||
" ('📃', '🙏'),\n",
|
||
" ('🏨', '😏'),\n",
|
||
" ('📌', '😕'),\n",
|
||
" ('♎', '😳'),\n",
|
||
" ('💷', '🙏'),\n",
|
||
" ('🚄', '😋'),\n",
|
||
" ('▲', '😋'),\n",
|
||
" ('⛵', '😋'),\n",
|
||
" ('🔸', '😏'),\n",
|
||
" ('⌛', '🙇'),\n",
|
||
" ('🚜', '😗'),\n",
|
||
" ('🐆', '😏'),\n",
|
||
" ('👒', '😏'),\n",
|
||
" ('❕', '😏'),\n",
|
||
" ('🔛', '😽'),\n",
|
||
" ('♢', '😏'),\n",
|
||
" ('🇲', '🙏'),\n",
|
||
" ('❅', '😙'),\n",
|
||
" ('👝', '😺'),\n",
|
||
" ('✞', '🙏'),\n",
|
||
" ('◡', '😏'),\n",
|
||
" ('🎋', '😗'),\n",
|
||
" ('👥', '🙀'),\n",
|
||
" ('📵', '😏'),\n",
|
||
" ('🐡', '😏'),\n",
|
||
" ('◆', '😙'),\n",
|
||
" ('🏯', '😏'),\n",
|
||
" ('☂', '😏'),\n",
|
||
" ('🔭', '🙏'),\n",
|
||
" ('🎪', '😏'),\n",
|
||
" ('🐜', '😋'),\n",
|
||
" ('♌', '😙'),\n",
|
||
" ('☐', '😕'),\n",
|
||
" ('👷', '🙀'),\n",
|
||
" ('↳', '😏'),\n",
|
||
" ('🔈', '😏'),\n",
|
||
" ('📄', '😗'),\n",
|
||
" ('📍', '😏'),\n",
|
||
" ('🚐', '😙'),\n",
|
||
" ('🚔', '😏'),\n",
|
||
" ('🌋', '😋'),\n",
|
||
" ('📡', '🙀'),\n",
|
||
" ('⏩', '😏'),\n",
|
||
" ('🚳', '😗'),\n",
|
||
" ('✘', '😙'),\n",
|
||
" ('۞', '😏'),\n",
|
||
" ('☾', '😏'),\n",
|
||
" ('🅰', '🙀'),\n",
|
||
" ('📥', '😏'),\n",
|
||
" ('🇼', '🙏'),\n",
|
||
" ('┓', '😋'),\n",
|
||
" ('┣', '😋'),\n",
|
||
" ('Ⓛ', '🙏'),\n",
|
||
" ('Ⓔ', '🙏'),\n",
|
||
" ('🔦', '😏'),\n",
|
||
" ('👤', '😙'),\n",
|
||
" ('🚁', '😏'),\n",
|
||
" ('🎠', '🙆'),\n",
|
||
" ('🐁', '😐'),\n",
|
||
" ('📗', '😮'),\n",
|
||
" ('┐', '😶'),\n",
|
||
" ('☮', '😢'),\n",
|
||
" ('♂', '😏'),\n",
|
||
" ('◞', '😏'),\n",
|
||
" ('📯', '😏'),\n",
|
||
" ('🔩', '😮'),\n",
|
||
" ('👢', '😙'),\n",
|
||
" ('◂', '😏'),\n",
|
||
" ('📰', '😺'),\n",
|
||
" ('📶', '😏'),\n",
|
||
" ('🚥', '😏'),\n",
|
||
" ('🌄', '😏'),\n",
|
||
" ('🗾', '😏'),\n",
|
||
" ('🔶', '😏'),\n",
|
||
" ('🏤', '😏'),\n",
|
||
" ('🎩', '😏'),\n",
|
||
" ('Ⓜ', '😺'),\n",
|
||
" ('🔧', '😾'),\n",
|
||
" ('🐅', '😏'),\n",
|
||
" ('♮', '😏'),\n",
|
||
" ('🅾', '😶'),\n",
|
||
" ('🔄', '😏'),\n",
|
||
" ('☄', '😏'),\n",
|
||
" ('☨', '😏'),\n",
|
||
" ('📦', '😏'),\n",
|
||
" ('🚊', '😬'),\n",
|
||
" ('🔲', '😍'),\n",
|
||
" ('🔁', '😯'),\n",
|
||
" ('△', '😏'),\n",
|
||
" ('📆', '😗'),\n",
|
||
" ('❛', '🙏'),\n",
|
||
" ('📉', '🙏'),\n",
|
||
" ('▵', '🙏'),\n",
|
||
" ('🔎', '😍'),\n",
|
||
" ('☜', '😏'),\n",
|
||
" ('🇯', '🙏'),\n",
|
||
" ('🇵', '🙏'),\n",
|
||
" ('📘', '😬'),\n",
|
||
" ('✡', '😏'),\n",
|
||
" ('ⓔ', '😍'),\n",
|
||
" ('🔑', '😬'),\n",
|
||
" ('🔃', '😯'),\n",
|
||
" ('👃', '🙎'),\n",
|
||
" ('⭕', '🙏'),\n",
|
||
" ('🔘', '😏'),\n",
|
||
" ('ⓒ', '🙎'),\n",
|
||
" ('🚭', '😗'),\n",
|
||
" ('🚉', '😍'),\n",
|
||
" ('🚪', '😍'),\n",
|
||
" ('➳', '🙏'),\n",
|
||
" ('🚃', '😍'),\n",
|
||
" ('┯', '😐'),\n",
|
||
" ('🏬', '😏'),\n",
|
||
" ('☽', '😏'),\n",
|
||
" ('🆙', '🙏'),\n",
|
||
" ('🆖', '😬'),\n",
|
||
" ('☪', '😏'),\n",
|
||
" ('┗', '😗'),\n",
|
||
" ('🚮', '🙎'),\n",
|
||
" ('┫', '😏'),\n",
|
||
" ('Ⓞ', '🙏'),\n",
|
||
" ('❇', '😋'),\n",
|
||
" ('✴', '😋'),\n",
|
||
" ('┌', '😳'),\n",
|
||
" ('☊', '😗'),\n",
|
||
" ('🔕', '😡'),\n",
|
||
" ('⬛', '😡'),\n",
|
||
" ('❝', '😏'),\n",
|
||
" ('❞', '😏'),\n",
|
||
" ('🚞', '😋'),\n",
|
||
" ('🍶', '😋'),\n",
|
||
" ('🌐', '😋'),\n",
|
||
" ('♀', '😏'),\n",
|
||
" ('🚅', '😋'),\n",
|
||
" ('🚒', '😑'),\n",
|
||
" ('➣', '😏'),\n",
|
||
" ('♋', '😏'),\n",
|
||
" ('♍', '😋'),\n",
|
||
" ('🕝', '😑'),\n",
|
||
" ('ⓐ', '😗'),\n",
|
||
" ('✗', '😳'),\n",
|
||
" ('📙', '😺'),\n",
|
||
" ('Ⓢ', '😏'),\n",
|
||
" ('📋', '😋'),\n",
|
||
" ('⇢', '😳'),\n",
|
||
" ('🎱', '😺'),\n",
|
||
" ('🐞', '😏'),\n",
|
||
" ('🔺', '😏'),\n",
|
||
" ('ⓡ', '😗'),\n",
|
||
" ('🎍', '😏'),\n",
|
||
" ('♤', '😋'),\n",
|
||
" ('🎲', '😏'),\n",
|
||
" ('🎯', '😋'),\n",
|
||
" ('〠', '😏'),\n",
|
||
" ('🔉', '😋'),\n",
|
||
" ('↩', '😗'),\n",
|
||
" ('🚾', '😏'),\n",
|
||
" ('🎣', '😐'),\n",
|
||
" ('🔣', '😏'),\n",
|
||
" ('❎', '😕'),\n",
|
||
" ('➥', '😏'),\n",
|
||
" ('🅱', '😏'),\n",
|
||
" ('🎌', '😗'),\n",
|
||
" ('◣', '😏'),\n",
|
||
" ('⏬', '😗'),\n",
|
||
" ('♭', '😏'),\n",
|
||
" ('💠', '😏'),\n",
|
||
" ('ⓞ', '😗'),\n",
|
||
" ('🔳', '🙏'),\n",
|
||
" ('🏭', '🙏'),\n",
|
||
" ('🔰', '😏'),\n",
|
||
" ('🎳', '😐'),\n",
|
||
" ('☚', '😗'),\n",
|
||
" ('➽', '🙏'),\n",
|
||
" ('➫', '🙏'),\n",
|
||
" ('➖', '😕'),\n",
|
||
" ('🏮', '😏'),\n",
|
||
" ('📛', '😏'),\n",
|
||
" ('꒰', '🙏'),\n",
|
||
" ('꒱', '🙏'),\n",
|
||
" ('◝', '😐'),\n",
|
||
" ('📑', '😗'),\n",
|
||
" ('🎦', '😏'),\n",
|
||
" ('ⓧ', '😗'),\n",
|
||
" ('🇨', '😏'),\n",
|
||
" ('🇳', '😏'),\n",
|
||
" ('🔟', '😗'),\n",
|
||
" ('〓', '😗'),\n",
|
||
" ('ⓜ', '🙏'),\n",
|
||
" ('➠', '😗'),\n",
|
||
" ('🚆', '🙏'),\n",
|
||
" ('🚠', '😏'),\n",
|
||
" ('℅', '😕'),\n",
|
||
" ('☃', '🙏'),\n",
|
||
" ('🚽', '😗'),\n",
|
||
" ('📐', '😏'),\n",
|
||
" ('ⓝ', '😗'),\n",
|
||
" ('✮', '😏'),\n",
|
||
" ('⇦', '😗'),\n",
|
||
" ('👲', '🙏'),\n",
|
||
" ('🚡', '😐'),\n",
|
||
" ('🎑', '😏'),\n",
|
||
" ('🔬', '😗'),\n",
|
||
" ('➗', '😐'),\n",
|
||
" ('📈', '🙏'),\n",
|
||
" ('⌘', '😏'),\n",
|
||
" ('⏪', '🙏'),\n",
|
||
" ('╹', '😏'),\n",
|
||
" ('◎', '😗'),\n",
|
||
" ('🔼', '😏'),\n",
|
||
" ('꒦', '😕'),\n",
|
||
" ('📎', '😗'),\n",
|
||
" ('⑅', '😗'),\n",
|
||
" ('⍝', '😏'),\n",
|
||
" ('📁', '😏'),\n",
|
||
" ('✭', '😗'),\n",
|
||
" ('➲', '😏'),\n",
|
||
" ('♓', '🙏'),\n",
|
||
" ('┏', '😗'),\n",
|
||
" ('☇', '😗'),\n",
|
||
" ('♺', '😏'),\n",
|
||
" ('♞', '😏'),\n",
|
||
" ('࿎', '😕'),\n",
|
||
" ('📠', '😏'),\n",
|
||
" ('👘', '😗'),\n",
|
||
" ('↙', '😗'),\n",
|
||
" ('Ⓕ', '🙏'),\n",
|
||
" ('Ⓦ', '🙏'),\n",
|
||
" ('Ⓟ', '🙏'),\n",
|
||
" ('🕑', '🙏'),\n",
|
||
" ('💽', '😏'),\n",
|
||
" ('🕛', '😗'),\n",
|
||
" ('🎫', '😏'),\n",
|
||
" ('♈', '😕'),\n",
|
||
" ('📟', '😏'),\n",
|
||
" ('℃', '😏'),\n",
|
||
" ('↬', '😗'),\n",
|
||
" ('🕒', '😏'),\n",
|
||
" ('🇰', '😏'),\n",
|
||
" ('↱', '😏'),\n",
|
||
" ('✍', '😗'),\n",
|
||
" ('⇐', '😏'),\n",
|
||
" ('🏦', '😗'),\n",
|
||
" ('🔻', '😗'),\n",
|
||
" ('ⓟ', '😗'),\n",
|
||
" ('ⓕ', '😗'),\n",
|
||
" ('ⓘ', '😗'),\n",
|
||
" ('♿', '😗'),\n",
|
||
" ('⇗', '😗'),\n",
|
||
" ('⇘', '😗'),\n",
|
||
" ('ⓨ', '😗'),\n",
|
||
" ('ⓙ', '😗'),\n",
|
||
" ('▫', '😗'),\n",
|
||
" ('🔇', '😗'),\n",
|
||
" ('⌃', '😕'),\n",
|
||
" ('🔖', '😗'),\n",
|
||
" ('📜', '😗'),\n",
|
||
" ('♏', '😏'),\n",
|
||
" ('🚝', '😗'),\n",
|
||
" ('☢', '😏'),\n",
|
||
" ('🎏', '😏'),\n",
|
||
" ('┘', '😕'),\n",
|
||
" ('✝', '😕'),\n",
|
||
" ('❖', '😏'),\n",
|
||
" ('⍣', '😕'),\n",
|
||
" ('📮', '😕'),\n",
|
||
" ('🕕', '😕'),\n",
|
||
" ('🇭', '😏'),\n",
|
||
" ('◜', '😏'),\n",
|
||
" ('🔯', '😗'),\n",
|
||
" ('➸', '😗'),\n",
|
||
" ('꒵', '😗'),\n",
|
||
" ('🕥', '😕'),\n",
|
||
" ('♙', '😏'),\n",
|
||
" ('▿', '😏'),\n",
|
||
" ('⚃', '😏'),\n",
|
||
" ('✽', '😗'),\n",
|
||
" ('📼', '😗'),\n",
|
||
" ('🕐', '😕'),\n",
|
||
" ('🀄', '😗'),\n",
|
||
" ('✾', '😏'),\n",
|
||
" ('✬', '😗'),\n",
|
||
" ('🆑', '😏'),\n",
|
||
" ('✫', '😗'),\n",
|
||
" ('🕔', '😕'),\n",
|
||
" ('❣', '😗'),\n",
|
||
" ('➱', '😏'),\n",
|
||
" ('🆕', '😏'),\n",
|
||
" ('➢', '😏'),\n",
|
||
" ('↕', '😏'),\n",
|
||
" ('📫', '😗'),\n",
|
||
" ('🉐', '😗'),\n",
|
||
" ('♊', '😏'),\n",
|
||
" ('🈂', '😕'),\n",
|
||
" ('🎰', '😕'),\n",
|
||
" ('҂', '😕'),\n",
|
||
" ('╤', '😕'),\n",
|
||
" ('➛', '😏'),\n",
|
||
" ('♝', '😏'),\n",
|
||
" ('❋', '😏'),\n",
|
||
" ('✆', '😏'),\n",
|
||
" ('📔', '😗')]"
|
||
]
|
||
},
|
||
"execution_count": 36,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"[(e,sentiment_vector_to_emoji(emoji_to_sentiment_vector(e,only_emoticons=False))) for e in list_emojis]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[ 3.33118392e-01 5.70015866e-09 5.45405624e-01 3.61891787e-02\n",
|
||
" 3.22864731e-02 1.87023274e-01 7.40931853e-01 3.08743564e-01\n",
|
||
" 3.68777881e-01 2.09713028e-01 8.63326899e-02 1.75456769e-01\n",
|
||
" 2.09456816e-01 7.45056142e-01 1.30260524e-01 5.82652509e-01\n",
|
||
" 3.53554352e-01 2.01443985e-01 4.85493431e-01 6.17183397e-01\n",
|
||
" 1.62094866e-01 4.74704900e-01 7.76465219e-02 1.66833329e-01\n",
|
||
" 5.36955643e-01 1.38652203e-01 5.67698362e-01 2.03066094e-01\n",
|
||
" 2.12404906e-01 5.36588512e-01 5.84954149e-01 3.52979027e-01\n",
|
||
" 9.03901452e-02 4.25609843e-02 4.81493548e-02 3.93456821e-01\n",
|
||
" 7.62805379e-01 6.29813840e-01 3.18599968e-01 5.01433361e-01\n",
|
||
" 7.06272570e-01 3.82249520e-01 6.95514681e-01 5.36365201e-01\n",
|
||
" 6.40151317e-01 7.60887637e-01 5.82859091e-01 5.91490468e-01\n",
|
||
" 6.00100317e-01 1.38855769e-01 4.98298989e-02 3.46598352e-01\n",
|
||
" 9.38806127e-02 1.68762005e-01 6.30326431e-01 2.65642057e-01\n",
|
||
" 8.06500677e-02 7.48501150e-01 5.36834774e-01 5.88758832e-01\n",
|
||
" 4.22651037e-01 2.42250408e-01 5.31306950e-01 3.36087236e-01\n",
|
||
" 9.53768085e-02 2.81491690e-01 3.83891422e-01 4.26413016e-01\n",
|
||
" 4.22486149e-01 7.57834870e-01 7.27857015e-01 1.86650364e-01\n",
|
||
" 7.41070465e-01 2.05220100e-01 5.35435751e-01 1.11520771e-01]\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'😍'"
|
||
]
|
||
},
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sentiment_vector_to_emoji(np.array([ 0.72967448, 0.05173769, 0.21858783]))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.6.3"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|