이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
이모지가 포함된 텍스트 데이터 분석하기
R2026a이 예제에서는 이모지가 포함된 텍스트 데이터를 분석하는 방법을 보여줍니다.
이모지는 텍스트에 인라인으로 표시되는 그림 기호입니다. 사람들은 스마트폰과 태블릿 같은 모바일 기기에서 텍스트를 작성할 때 이모지를 사용하여 텍스트를 간결하게 유지하고 감정과 느낌을 전달합니다.
이모지를 사용하여 텍스트 데이터를 분석할 수도 있습니다. 예를 들어 이모지를 사용하여 관련 텍스트 문자열을 식별하거나 텍스트의 감성이나 감정을 시각화할 수 있습니다.
텍스트 데이터를 사용할 때 이모지가 예측 불가능하게 동작할 수 있습니다. 시스템 글꼴에 따라 시스템에서 일부 이모지를 올바르게 표시하지 못할 수 있습니다. 즉, 이모지가 올바로 표시되지 않는다고 해도 반드시 데이터가 누락된 것은 아닙니다. 시스템에서 이모지를 현재 글꼴로 표시하지 못하는 경우일 수 있습니다.
이모지 작성하기
대부분의 경우 extractFileText, extractHTMLText, readtable 등을 사용하여 파일에서 이모지를 읽어올 수 있습니다. 또는 이모지를 복사하여 붙여 넣는 방식으로 바로 MATLAB®으로 읽어올 수 있습니다. 그 외의 경우에는 유니코드 UTF16 코드 단위를 사용하여 이모지를 작성해야 합니다.
일부 이모지는 여러 개의 유니코드 UTF16 코드 단위로 구성됩니다. 예를 들어 "선글라스를 끼고 웃고 있는 얼굴" 이모지(코드 포인트가 U+1F60E인 😎)는 단일 그림문자이지만, 두 개의 UTF16 코드 단위 "D83D"와 "DE0E"로 구성됩니다. compose 함수를 사용하여 이 이모지가 포함된 string형을 만들고, 접두사 "\x"를 갖는 두 개의 코드 단위를 지정합니다.
emoji = compose("\xD83D\xDE0E")emoji = "😎"
먼저, 이모지의 유니코드 UTF16 코드 단위를 가져옵니다. char을 사용하여 이모지의 숫자형 표현을 가져온 후 dec2hex를 사용하여 그에 해당하는 16진수 값을 가져옵니다.
codeUnits = dec2hex(char(emoji))
codeUnits = 2×4 char array
'D83D'
'DE0E'
빈 구분자 ""와 함께 strjoin 함수를 사용하여 구성 문자열을 재구성합니다.
formatSpec = strjoin("\x" + codeUnits,"")
formatSpec = "\xD83D\xDE0E"
emoji = compose(formatSpec)
emoji = "😎"
텍스트 데이터 가져오기
readtable을 사용하여 파일 weekendUpdates.xlsx에서 텍스트 데이터를 추출합니다. 파일 weekendUpdates.xlsx에는 해시태그 "#weekend"와 "#vacation"이 포함된 상태 업데이트가 들어 있습니다.
filename = "weekendUpdates.xlsx"; tbl = readtable(filename,'TextType','string'); head(tbl)
ans=8×2 table
1 "Happy anniversary! ❤ Next stop: Paris! ✈ #vacation"
2 "Haha, BBQ on the beach, engage smug mode! 😍 😎 ❤ 🎉 #vacation"
3 "getting ready for Saturday night 🍕 #yum #weekend 😎"
4 "Say it with me - I NEED A #VACATION!!! ☹"
5 "😎 Chilling 😎 at home for the first time in ages…This is the life! 👍 #weekend"
6 "My last #weekend before the exam 😢 👎."
7 "can’t believe my #vacation is over 😢 so unfair"
8 "Can’t wait for tennis this #weekend 🎾🍓🥂 😀"
필드 TextData에서 텍스트 데이터를 추출한 다음 처음 몇 개의 상태 업데이트를 표시합니다.
textData = tbl.TextData; textData(1:5)
ans = 5×1 string array
"Happy anniversary! ❤ Next stop: Paris! ✈ #vacation"
"Haha, BBQ on the beach, engage smug mode! 😍 😎 ❤ 🎉 #vacation"
"getting ready for Saturday night 🍕 #yum #weekend 😎"
"Say it with me - I NEED A #VACATION!!! ☹"
"😎 Chilling 😎 at home for the first time in ages…This is the life! 👍 #weekend"
텍스트 데이터를 워드 클라우드로 시각화합니다.
figure wordcloud(textData);

이모지로 텍스트 데이터 필터링하기
contains 함수를 사용하여, 특정 이모지가 포함된 상태 업데이트를 식별합니다. "선글라스를 끼고 웃고 있는 얼굴" 이모지(코드 U+1F60E를 사용한 😎)가 포함된 문서의 인덱스를 찾습니다. 이 이모지는 두 개의 유니코드 UTF16 코드 단위 "D83D"와 DE0E"로 구성됩니다.
emoji = compose("\xD83D\xDE0E");
idx = contains(textData,emoji);
textDataSunglasses = textData(idx);
textDataSunglasses(1:5)ans = 5×1 string array
"Haha, BBQ on the beach, engage smug mode! 😍 😎 ❤ 🎉 #vacation"
"getting ready for Saturday night 🍕 #yum #weekend 😎"
"😎 Chilling 😎 at home for the first time in ages…This is the life! 👍 #weekend"
"🎉 Check the out-of-office crew, we are officially ON #VACATION!! 😎"
"Who needs a #vacation when the weather is this good ☀ 😎"
추출한 텍스트 데이터를 워드 클라우드로 시각화합니다.
figure wordcloud(textDataSunglasses);

이모지를 추출하고 시각화하기
워드 클라우드를 사용하여 텍스트 데이터의 모든 이모지를 시각화할 수 있습니다.
이모지를 추출합니다. 먼저 tokenizedDocument를 사용하여 텍스트를 토큰화한 다음 처음 몇 개 문서를 표시합니다.
documents = tokenizedDocument(textData); documents(1:5)
ans =
5×1 tokenizedDocument:
11 tokens: Happy anniversary ! ❤ Next stop : Paris ! ✈ #vacation
16 tokens: Haha , BBQ on the beach , engage smug mode ! 😍 😎 ❤ 🎉 #vacation
9 tokens: getting ready for Saturday night 🍕 #yum #weekend 😎
13 tokens: Say it with me - I NEED A #VACATION ! ! ! ☹
19 tokens: 😎 Chilling 😎 at home for the first time in ages … This is the life ! 👍 #weekend
tokenizedDocument 함수가 이모지를 자동으로 검출하고 토큰 유형 "emoji"를 할당합니다. tokenDetails 함수를 사용하여 문서에 있는 처음 몇 개의 토큰 세부 정보를 표시합니다.
tdetails = tokenDetails(documents); head(tdetails)
ans=8×5 table
"Happy" 1 1 letters en
"anniversary" 1 1 letters en
"!" 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
토큰 유형이 "emoji"인 토큰을 추출한 후 wordcloud 함수에 입력값으로 넣어 이모지를 워드 클라우드로 시각화합니다.
idx = tdetails.Type == "emoji"; tokens = tdetails.Token(idx); figure wordcloud(tokens); title("Emojis")

참고 항목
wordcloud | tokenizedDocument | tokenDetails