分析包含Emojis文本数据
这个例子展示了如何分析包含emojis文本数据。
Emojis图形符号出现内联文本。当编写文本智能手机和平板电脑等移动设备,人们使用emojis保持文本短和传达情感和感受。
你也可以使用emojis分析文本数据。例如,使用它们来确定相关的文本字符串或可视化文本的情绪或情感。
在处理文本数据,emojis可以不可预知的行为。取决于您的系统字体,您的系统可能无法正确显示一些emojis。因此,如果一个emoji没有显示正确,那么数据不一定是失踪。您的系统可能无法显示emoji在当前字体。
作曲Emojis
在大多数情况下,你可以阅读emojis从一个文件(例如,通过使用extractFileText
,extractHTMLText
,或readtable
)或直接复制粘贴到MATLAB®。否则,你必须在使用Unicode UTF16 emoji代码单元组成。
一些emojis由多个Unicode UTF16代码单元。与太阳镜例如,“笑脸”emoji(代码点U + 1 f60e)是一个符号,但由两个UTF16代码单元“D83D”
和“DE0E”
。创建一个字符串包含这emoji使用组成
函数,并指定两个前缀的代码单元“x \”
。
emoji =组成(“\ xD83D \ xDE0E”)
emoji = " "
首先得到Unicode UTF16 emoji的代码单元。使用字符
emoji的数值表示,然后使用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”结婚纪念日快乐!❤下一站:巴黎!✈#假期“2”哈哈,在沙滩上烧烤,让自以为是的模式!❤#假期“3”准备周六晚上#百胜#周末“4”跟我说——我需要一个假期! ! !在家☹“5”的第一次年龄…这就是生活!#周末“6”我最后#周末考试前。“7”不能相信我#假期结束了所以不公平的“8”等不及网球这#周末”
提取文本的数据字段TextData
和视图最初几个状态更新。
textData = tbl.TextData;textData (1:5)
ans =5×1的字符串“结婚周年快乐!❤下一站:巴黎!✈#假期”“哈哈,在沙滩上烧烤,让自以为是的模式!❤#假期”“准备周六晚上#百胜#周末”“跟我说,我需要一个假期! ! !☹”“令人心寒的国内第一次年龄…这就是生活!#周末”
想象一个词的文本数据云。
图wordcloud (textData);
通过Emoji过滤文本数据
识别包含特定emoji使用的状态更新包含
函数。找到的文件的索引包含“太阳镜笑脸”emoji (U + 1 f60e)代码。这个emoji包含两个Unicode UTF16代码单元“D83D”
和“DE0E”
。
emoji =组成(“\ xD83D \ xDE0E”);idx =包含(textData emoji);textDataSunglasses = textData (idx);textDataSunglasses (1:5)
ans =5×1的字符串“哈哈,在沙滩上烧烤,自以为是的模式!❤#假期”“准备周六晚上#百胜#周末在家”“令人心寒的第一次年龄…这就是生活!#周末”“out - of - office机组人员检查,我们正式#假期! !”“谁需要一个#这是假期当天气好☀”
可视化在云词提取的文本数据。
图wordcloud (textDataSunglasses);
提取和可视化Emojis
想象中的所有emojis文本数据使用一个词云。
提取emojis。第一个标记文本使用tokenizedDocument
,然后查看最初几个文档。
文件= tokenizedDocument (textData);文档(1:5)
ans = 5×1 tokenizedDocument: 11令牌:结婚纪念日快乐!❤下一站:巴黎!✈#假期16令牌:哈哈,在沙滩上烧烤,让自以为是的模式!❤#假期9令牌:准备周六晚上13标记:#百胜#周末跟我说,我需要一个假期!!!☹19令牌:冷却国内首次在年龄…这就是生活!#周末
的tokenizedDocument
函数自动检测emoji和分配令牌类型“emoji”
。查看前几令牌文件使用的细节tokenDetails
函数。
tdetails = tokenDetails(文件);头(tdetails)
ans =8×5表令牌DocumentNumber LineNumber类型语言__________ _________________ * * * ___________ ________“幸福”1字母在“周年纪念”1 1字母在“!”1 1 punctuation en "❤" 1 1 emoji en "Next" 1 1 letters en "stop" 1 1 letters en ":" 1 1 punctuation en "Paris" 1 1 letters en
可视化emojis一句话云通过提取出令牌,令牌类型“emoji”
并进入输入它们wordcloud
函数。
idx = tdetails。类型= =“emoji”;令牌= tdetails.Token (idx);图wordcloud(令牌);标题(“Emojis”)
另请参阅
wordcloud
|tokenizedDocument
|tokenDetails