前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matlab分析包含Emojis的文本数据并可视化

matlab分析包含Emojis的文本数据并可视化

作者头像
用户9925864
发布2022-07-27 09:43:32
9130
发布2022-07-27 09:43:32
举报
文章被收录于专栏:算法工程师的学习日志

周末浏览资料,看到一个例子展示如何分析包含表情符号的文本数据。,分享给读者

表情符号是内联出现在文本中的图形符号。在智能手机和平板电脑等移动设备上书写文字时,人们会使用表情符号来保持文字简短,传达情绪和感受。

你也可以使用表情符号来分析文本数据。例如,使用它们来识别相关的文本字符串或可视化文本的情绪或情感。

在处理文本数据时,表情符号的行为可能不可预测。根据系统字体,系统可能无法正确显示一些表情符号。因此,如果一个表情符号没有被正确地显示出来,那么数据也不一定会丢失。系统可能无法以当前字体显示表情符号。

下面的代码推荐使用matlab的mlx实时编辑器,在命令行编辑Emoji符号输出有点异常

Emojis组成

从文件中读取表情符号通过使用extractFileText, extractHTMLText,readtable或通过直接复制和粘贴到MATLAB。否则,必须使用Unicode UTF16编码单元来组合表情符号。

有些表情包由多个Unicode UTF16编码单元组成。例如,“带墨镜的笑脸”表情(

,代码点U+1F60E)是一个单一的符号,但由两个UTF16代码单元“D83D”和“DE0E”组成。使用compose函数创建一个包含此表情符号的字符串,并以前缀“\x”指定两个代码单元。

代码语言:javascript
复制
emoji = compose("\xD83D\xDE0E")

首先得到一个表情符号的Unicode UTF16编码单元。使用char获得表情符号的数字表示,然后使用dec2hex获得相应的十六进制值。

代码语言:javascript
复制
codeUnits = dec2hex(char(emoji))
codeUnits = 2×4 char 数组
'D83D' 'DE0E'

使用带空分隔符""的strjoin函数重新构造复合字符串。

代码语言:javascript
复制
formatSpec = strjoin("\x" + codeUnits,"")
formatSpec = "\xD83D\xDE0E"
emoji = compose(formatSpec)

导入txt数据

使用readtable提取文件weekendpdates .xlsx中的文本数据。文件weekendpdates .xlsx包含状态更新,其中包含标签“#weekend”和“#vacation”。

代码语言:javascript
复制
filename = "weekendUpdates.xlsx";
tbl = readtable(filename,'TextType','string');
head(tbl)

从字段TextData提取文本数据并查看前几个状态更新。

代码语言:javascript
复制
textData = tbl.TextData;
textData(1:5)

在词云中可视化文本数据。

代码语言:javascript
复制
figure
wordcloud(textData);

Emoji查找

使用contains函数识别包含特定表情符号的状态更新。查找包含“带墨镜微笑”表情符号的文档索引(

,代码U+1F60E)。这个表情包含两个Unicode UTF16编码单元“D83D”和“DE0E”。

代码语言:javascript
复制
emoji = compose("\xD83D\xDE0E");
idx = contains(textData,emoji);
textDataSunglasses = textData(idx);
textDataSunglasses(1:5)
ans = 5×1 string

在词云中可视化提取的文本数据。

代码语言:javascript
复制
figure
wordcloud(textDataSunglasses);

可视化Emojis

使用文字云可视化文本数据中的所有表情符号。提取emojis。首先使用tokenizedDocument对文本进行标记,然后查看前几个文档。

代码语言:javascript
复制
documents = tokenizedDocument(textData);
documents(1:5)

tokenizedDocument函数自动检测表情符号,并分配表情符号类型“emoji”。使用tokenDetails函数查看文档的前几个令牌细节。

代码语言:javascript
复制
tdetails = tokenDetails(documents);
head(tdetails)

通过提取标记类型为“emoji”的标记,并将它们输入wordcloud函数,在单词云中可视化表情符号。

代码语言:javascript
复制
idx = tdetails.Type == "emoji";
tokens = tdetails.Token(idx);
figure
wordcloud(tokens);
title("Emojis")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导入txt数据
  • Emoji查找
  • 可视化Emojis
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档