当前位置

Emoji标签云中运用人工智能进行升级

James Qi 在 2021年9月7日 - 23:59 提交

早在今年2月份,我们的EmojiAll网站就推出了Emoji标签云,从数据的处理到展示的形式还是非常新颖的,我们自己觉得很有特色。这其中用到了统计分析软件,对来自twitter的推文内容进行了处理,为几乎每一个Emoji找出对应的标签,以免人工来写标签工作量太大,另外再辅以其它的数据来源和处理,综合形成当时的数据。

但我记得当时软件从推文中进行统计分析得出来的数据质量并不算好,有不少都看上去有明显问题,与人工来添加标签相比的话,质量还是差很多,因此当时对与这批软件自动处理出来的标签数据我们并没有完全采用,而是只采用了一部分,混合其它多个数据来源做成的实际展示标签数据。

时隔半年以后,我们获取到了更大量的twitter历史数据,我们数据分析的同事技术水平有了较大提升,把学习到的机器学习等技术可以运用到新一轮的处理中,处理出来的数据质量明显提升,下面是我用"面包 Emoji 🍞"为例子做的一个对比:

新处理出来的数据

"bread"
"toast"
"loaf"
"cheeks"
"bakery"
"younghoon"
"breakfast"
"cheekies"
"fluffy"
"butter"
"breads"
"baked"
"cutest"
"recipe"
"soobin"
"baking"
"slice"
"banana"
"crumbs"
"sandwich"
"soft"
"bake"
"sourdough"
"jaehyun"
"eating"
"baker"
"pizza"
"freshly"
"cheese"
"leader"
"egg"
"fresh"
"delicious"
"tete"
"garlic"
"taehyung"
"menu"
"sliced"
"english"
"ea"
"score"
"milk"
"buns"
"toaster"
"homemade"
"ingredients"
"bong"
"brown"
"tba"
"skip"
"healthy"
"hobi"
"served"
"bun"
"tiny"
"snack"
"sticker"
"child"
"coffee"
"roll"
"hungry"
"tea"
"ball"
"lunch"
"location"

以前处理出来的数据

"bread"                 
"love"
"retweets"
"toasted"
"burnt"
"toast"
"untoasted"
"food"
"likes"
"breakfast"
"day"
"eat"
"gain"
"followers"
"bakery"
"morning"
"chance"
"win"
"loaf"
"augusta"
"1"
"cute"
"notifications"
"happy"
"hungry"
"fresh"
"rt"
"https"
"time"
"dough"
"party"
"cheese"
"beary"
"da"
"eating"
"shop"
"giveaway"
"dont"
"youve"
"medallions"
"commemorative"
"carbs"
"hope"
"life"
"friends"
"perfect"
"followback"
"tomorrow"
"crumbs"
"live"
"week"
"coffee"
"doe"
"kneed"
"cultcaine"
"meirl"
"french"
"art"
"hand"
"pelosi"
"nina"
"beans"
"nancy"
"baked"
"commemor"
"heaven"
"ready"
"fish"
"butter"
"film"
"moon"
"mouth"
"chips"
"ph"
"watering"
"scored"
"tokyo"
"free"
"portable"
"handmade"
"illustration"
"mocha"
"slice"
"yesterday"
"ceramic"
"camera"
"wood"
"banana"
"dems"
"chair"
"drip"
"daily"
"crowd"
"batshuayi"
"matches"
"dortmund"
"prep"
"adding"
"garlic"
"assets"

以前处理的数据中无关的英文词看上去太多,而新处理的就关联性高了很多。当然这离不开算法上的改进,以前只是比较简单的数学统计,新的处理中运用了机器学习方面的技术,采用一些相对比较成熟的自然语言处理模型,再根据实际情况制定合理的处理流程,如下图:

这次处理的数据量也比以前大很多倍,从而能保证得出结论的准确性更高,而更大的数据量和更复杂的AI算法也意味着比以前大得多的计算量,刚开始用开发的笔记本电脑算起来太慢,我们又拿出单独的台式机日夜运算,以及把数据分布在多台机器上独立处理然后再合并,还尝试购买阿里云上的专门AI资源帮助加快处理。还要在软件上采取各种方式来优化提升速度,这样一种语言的处理也需要好多天时间来计算。

除了英文以外,我们对日文等其它语言也进行了标签的计算,我们懂日文的同事检查过,说这些机器打上的日文标签还是具有很高相关度的,再针对日文中的平假名、片假名进行一定的权重调整后效果还是很不错的👍

下面还是拿面包Emoji🍞为例,从日语的推文中处理出来的日文标签及权重值如下:

["パン", 0.3156]
["トースト", 0.0502]
["モカ", 0.0442]
["セール", 0.0225]
["美玲", 0.0222]
["佐々木", 0.0218]
["チーズ", 0.0211]
["パンツ", 0.0185]
["朝食", 0.0147]
["日向", 0.0128]
["メロン", 0.0112]
["ぱん", 0.011]
["キャンペーン", 0.0109]
["モーニング", 0.0102]
["ツイート", 0.0097]
["バター", 0.0095]
["発売", 0.009]
["フォロー", 0.0086]
["サンド", 0.0085]
["クリーム", 0.008]
["朝ごはん", 0.0074]
["プレゼント", 0.0072]
["食べ", 0.007]
["カレー", 0.0068]
["いー", 0.0065]
["祭り", 0.0048]
["とけ", 0.0047]
["なっ", 0.0045]
["本日", 0.0045]
["美味しい", 0.0044]
["お腹", 0.0037]
["ちゃん", 0.0037]
["おいしい", 0.0036]
["最高", 0.0036]
["限定", 0.0035]
["食べる", 0.0035]
["最近", 0.0033]
["質問", 0.0033]
["ない", 0.0033]
["おはよう", 0.0033]
["たい", 0.0031]
["明日", 0.003]
["写真", 0.0029]
["好き", 0.0029]
["たっぷり", 0.0028]
["美味し", 0.0027]
["買っ", 0.0027]
["昨日", 0.0025]
["する", 0.0025]
["ください", 0.0021]
["ご飯", 0.0021]
["作っ", 0.002]
["まで", 0.002]
["作り", 0.002]
["ぜひ", 0.0019]
["入り", 0.0019]
["けど", 0.0018]
["大好き", 0.0017]
["たら", 0.0017]
["こと", 0.0017]
["そう", 0.0017]
["これ", 0.0017]
["より", 0.0016]
["ある", 0.0016]
["ありがとう", 0.0016]
["なる", 0.0014]
["時間", 0.0014]
["いい", 0.0014]
["くん", 0.0013]
["くれ", 0.0012]
["よう", 0.0012]
["思っ", 0.0011]
["だっ", 0.0011]
["でし", 0.0011]
["あり", 0.0011]
["いる", 0.0011]
["なく", 0.0011]
["いつ", 0.001]
["なり", 0.001]
["行っ", 0.001]
["もう", 0.001]
["いう", 0.001]
["楽しみ", 0.001]
["願い", 0.001]
["なん", 0.0009]
["よろしく", 0.0009]
["だけ", 0.0009]
["良い", 0.0009]
["みんな", 0.0009]
["めでとう", 0.0008]
["やっ", 0.0007]
["すぎ", 0.0007]
["ませ", 0.0007]

我看不懂日文,但用Google翻译粗略看过,还是不错的,日文专业的同事也认可了这些标签的质量,超出了预期。

既然英文和日文的处理都没有问题,我们以后还会计算更多其它语言的标签出来,并且把这些数据在多个方面进行使用。✌️


2021年9月补充:Emoji关系图中运用人工智能进行升级

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。