今年2月份我们就在EmojiAll网站上推出了Emoji关系图,为每一个Emoji展示与其有关的其它Emoji。如果是人工来为每一个Emoji添加与其有关的其它Emoji将是一个很费力的事情,因此我们当时也使用了一些算法来解决,从多个数据源、不同的角度来分析出相关Emoji及远近关系,在展示的时候也适当添加了第二级、第三级的关系,如下图:
与Emoji标签云的算法类似,我们当时也是通过对大量推特数据进行分析统计后,获取到Emoji之间的关系数据,不过纯粹看这些数据的话,也感觉不是很准确,与人工来标注肯定是比较大质量差距的,因此我们用了多种数据来源综合展示。
随着我们对人工智能算法的了解越来越多,近期我们用AI对标签云的算法进行了升级,随后也用AI算法对关系图的算法进行了升级,运用机器学习对Emoji的关系进行了重新计算,下面是我用"面包 Emoji 🍞"为例子重新计算关系图后的数据对比:
新处理出来的数据 | 以前处理出来的数据 |
🥖 |
🧀 |
可以看到,老的数据虽然匹配的数量更多一些,但新数据排在靠前的几个Emoji明显相关度更高,也就是说新数据的质量还更高一些。
我们这次改进的算法是把Emoji之间关系问题转换为Emoji之间相似度的计算,为Emoji贴上标签(参考《Emoji标签云中运用人工智能进行升级》),再根据这些标签来计算Emoji之间的距离,越近表示相似度越高,也就是关系更紧密,算法流程如下图所示:
这与以前的简单统计两个Emoji出现在同一条推文中的概率来得出的结论更合理、更准确。另外,这次计算的数据量也比以前大很多倍,从而保证数据更有代表性、结论更客观。👍
另外还有一些加权统计、无效过滤、结果分析、反馈调整等,我们在这方面还是很下了功夫了,收获应该也很大,以前没有相关性数据的一些Emoji和Unicode字符,这次也计算出来了结果。✌️
目前只在英文上使用了这种算法,按道理说,其它语言中Emoji含义会稍有不同,每种语言的关系图应该都不一样,但我们目前手头上事情太多,还没有来得及做其它语言数据的处理,不过算法上应该都掌握了,等以后有时间再安排。👌
评论