nlp-lab/Project/naive_approach/Emoji_Distance.ipynb

1447 lines
46 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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
}