网络表情NLP(二)︱特殊表情包+emoji识别

您所在的位置:网站首页 特殊文字表情包 网络表情NLP(二)︱特殊表情包+emoji识别

网络表情NLP(二)︱特殊表情包+emoji识别

2024-05-03 15:07| 来源: 网络整理| 查看: 265

这是一篇一本正经无聊的小研究项目。。 互联网现在面临很多新网络文体,比如弹幕文体、小红书的种草文体、网名等,这些超短文本中本身字符特征就比较少,但是表情包占比却很多,这是重要信息呀。 之前参加比赛,一般都是当作停用词直接删掉,在这些超短文本中可就不行了。

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

相关代码+数据可见我的github:py-yanwenzi 相关文章: 网络表情NLP(一)︱颜文字表情实体识别、属性检测、新颜发现 网络表情NLP(二)︱特殊表情包+emoji识别

文章目录1 emoji表情识别2 通过正则来判定2.1 判断是否是表情2.2 特殊符号编码映射关系2.3 表情编码

几种特殊符号:颜文字,emoji,特殊标号. 其中,emoji,特殊符号都是可以分词分开的, 但是颜文字字数比较多,分词的时候会占着比较多的内容且不太好分

从符号大全这个网址来看,里面有比较多的单个特殊符号。

在这里插入图片描述在这里插入图片描述

在py-yanwenzi的data中有一份xlsx,pecial_symbols.xlsx就是一些收集与整理。

1 emoji表情识别

github:https://github.com/carpedm20/emoji

安装:

代码语言:javascript复制$ !pip install emoji

相关教程:

代码语言:javascript复制import emoji emoji_str = "python is 👍" # 特殊字符转换为正常字符(相当于解码) strs = emoji.demojize(emoji_str) print(strs) # 正常字符转换为特殊字符(相当于编码) emoji_str = emoji.emojize(strs) print(emoji_str) # emoji的个数 print(emoji.emoji_count(emoji_str)) # emoji有哪些?list出来 print(emoji.emoji_lis(emoji_str))

输出得内容:

代码语言:javascript复制python is :thumbs_up: python is 👍 1 [{'location': 10, 'emoji': '👍'}]2 通过正则来判定

主要参考了EmojiHandle,感谢这位作者。

2.1 判断是否是表情代码语言:javascript复制from collections import defaultdict import re frequencies = defaultdict(int) #判断是否是表情 def isEmoji(content): if not content: return False if u"\uE000" > b'\\u597d'

识别表情

代码语言:javascript复制import re def identifyEmoji(desstr): ''' 识别表情 ''' co = re.compile(r'\\u\w{4}|\\U\w{8}') print(co.findall(desstr)) if len(co.findall(desstr)): return True else: return False print(u'\U00010000') a = '😁'.encode('unicode-escape').decode('utf-8') print(a) print(identifyEmoji(a)) >>> 𐀀 >>> \U0001f601 >>> ['\\U0001f601'] >>> True


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3