主要内容

分析包含表情符号的文本数据

这个例子展示了如何分析包含表情符号的文本数据。

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

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

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

作曲Emojis

在大多数情况下,你可以从文件中读取表情符号(例如,使用extractFileTextextractHTMLText,或readtable)或直接复制并粘贴到MATLAB®。否则,您必须使用Unicode UTF16代码单元组成表情符号。

一些表情包由多个Unicode UTF16编码单元组成。例如,“戴墨镜的笑脸”表情符号(代码点U+1F60E)是一个单一的雕文,但包含两个UTF16代码单元“D83D”而且“DE0E”.方法创建包含此表情符号的字符串组成函数,并使用前缀指定两个代码单元“x \”

emoji =组成(“\ xD83D \ xDE0E”
emoji = " "

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

则= dec2hex (char (emoji))
则=2×4字符数组“D83D”“DE0E”

方法重新构造组合字符串strjoin函数使用空分隔符”“

formatSpec = strjoin (“x \”+则,”“
formatSpec = " \ xD83D \ xDE0E "
emoji =组成(formatSpec)
emoji = " "

导入文本数据

提取文件中的文本数据weekendUpdates.xlsx使用readtable.该文件weekendUpdates.xlsx包含包含标签的状态更新“#周末”而且“#假期”

文件名=“weekendUpdates.xlsx”;台= readtable(文件名,“TextType”“字符串”);头(台)
ans =8×2表ID TextData  __ __________________________________________________________________________________ 1”结婚纪念日快乐!下一站:巴黎!哈哈,在海滩上烧烤,洋洋自得!3“为周六晚上做准备”4“和我一起说——我需要一个假期!!”多年来第一次在家放松……这就是生活!6 .“考试前的最后一个周末”7 .“真不敢相信我的假期结束得这么不公平”8 .“这个周末等不及打网球了”

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

textData = tbl.TextData;textData (1:5)
ans =5×1的字符串“结婚周年快乐!下一站:巴黎!“哈哈,在海滩上烧烤,自鸣得意!”“为周六晚上做准备#美味#周末”“和我一起说——我需要一个#假期!!”多年来第一次在家放松……这就是生活!#周末”

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

图wordcloud (textData);

根据表情符号过滤文本数据

控件标识包含特定表情符号的状态更新包含函数。找到包含“带墨镜的笑脸”表情符号(代码U+1F60E)的文档索引。这个表情符号由两个Unicode UTF16编码单元组成“D83D”和“DE0E”

emoji =组成(“\ xD83D \ xDE0E”);idx =包含(textData emoji);textDataSunglasses = textData (idx);textDataSunglasses (1:5)
ans =5×1的字符串“哈哈,在海滩上烧烤,开始自鸣得意吧!”“为周六晚上做准备#美味#周末”“这么多年来第一次在家放松……这就是生活!”“看看不在办公室的工作人员,我们正式开始度假了!!”“天气这么好,谁还需要度假?”

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

图wordcloud (textDataSunglasses);

提取和可视化表情符号

使用文字云将文本数据中的所有表情符号可视化。

提取emojis。首先使用标记化文本tokenizedDocument,然后查看前几个文档。

文件= tokenizedDocument (textData);文档(1:5)
ans = 5×1 tokenizedDocument: 11个token:周年快乐!下一站:巴黎!度假16代币:哈哈,在海滩上烧烤,进入自鸣得意模式!#假期9代币:为周六晚上做准备#yum #周末13代币:和我一起说——我需要一个#假期!!!多年来第一次在家放松……这就是生活!#周末

tokenizedDocument函数自动检测表情符号并分配令牌类型“emoji”.方法查看文档的前几个令牌详细信息tokenDetails函数。

tdetails = tokenDetails(文件);头(tdetails)
ans =8×5表令牌DocumentNumber LineNumber类型语言  _____________ ______________ __________ ___________ ________ " 快乐“1 1字母在“周年“1 1字母在“!”1 1个标点符号en "❤" 1 1个表情符号en "Next" 1 1个字母en "stop" 1 1个字母en ":" 1 1个标点符号en "Paris" 1 1个字母en

通过提取带有标记类型的标记来可视化字云中的表情符号“emoji”然后把它们输入wordcloud函数。

idx = tdetails。类型= =“emoji”;令牌= tdetails.Token (idx);图wordcloud(令牌);标题(“Emojis”

另请参阅

||

相关的话题

Baidu
map