텍스트는 가장 대표적인 정보의 저장 단위이다. 텍스트 빅데이터 기반의 서비스로는 텍스트 요약, 텍스트의 분류, 감성 분석, 의미연결망 분석, 기계번역, 질의응답, 챗봇, 음성인식 등이 있다. 텍스트 빅데이터의 핵심은 이에 내포하고 있는 의미를 얼마나 뚜렷하게 분석해 낼 수 있는지이다.
텍스트는 기본적으로 명목 데이터이다. 하지만 의미나 관계에 따라서 요일, 반어의 빈도, 동의어, 반대어 등은 비명목 데이터로 볼 수도 있다. 텍스트 데이터를 사용하기 위해서는 텍스트 내에서 주요한 단어를 찾아내는 과정을 거쳐야 하는데 이를 텍스트 프로세싱이라고 한다. 텍스트 분석의 일환인 텍스트 프로세싱은 간단히 말하면 텍스트에서 의미 있는 정보를 찾아내는 것이다. 사실 언뜻 보면 자연어 처리와 비슷해 보인다. 자연어 처리는 텍스트뿐만 아니라 음성 기반의 대화, 이미지, 사인 등 많은 것을 대상으로 하지만, 텍스트 분석은 텍스트에서 특징을 찾아내는 것이 핵심이다. 자연어 처리는 대화, 이미지, 사인 등 정보로부터 의미를 찾아내고 문법적인 구조를 분석하여 정보를 이해하는 데 목적을 두고 있다. 참고로 현재 빅데이터 분석에서 텍스트 처리는 대부분 자연어 처리에 초점을 두고 있다.
자연어 처리기술에서 말하는 자연어란 사람이 일상생활에서 사용하는 언어를 의미한다. 소셜 미디어에 우리가 업로드하는 텍스트들은 자연어인 경우가 대부분이므로, 이를 처리하는 기술이 핵심이다. 자연어 처리는 텍스트 요약, 텍스트 분류, 감성 분석, 의미 연결망 분석, 기계 번역, 질의응답, 챗봇, 음성인식 등 분야에서 활용되고 있다. 텍스트 요약이란 문서를 이해하는 시간을 줄여주는 서비스로 중요한 내용을 간추려 요약문을 만들어 주는 것으로, 추출적 요약과 추상적 요약으로 분류된다. 텍스트 분류는 전통적으로 스팸 메일 등 분류에 사용된다. 기존에는 스팸 메일을 구성하는 특징, 예를 들면 광고 문구 등을 추출하여 이를 바탕으로 학습된 모형을 설계하였다면 최근 신경망 모형 기반의 자연어 처리 분야에서는 이 과정을 자동으로 찾아내는 단계까지 진화하였다. 감성 분석이란 텍스트에 포함된 의견이나 감성 등을 분석하는 처리 기법으로 영화평이나 고객 의견 분석 등에 사용된다. 의미연결망 분석이란 문서 내 단어의 네트워크를 구성하여 단어 간의 관계성을 파악하는 것으로, 메시지 등 분석 시 특정 키워드가 내포하는 의미를 확장하여 살펴보는 데 유용하게 사용되고 있다. 기계번역은 최근 가장 많이 성장한 분야이다. 각종 포털 사이트가 제공하는 번역 서비스들은 자체적으로 기계번역 알고리즘을 개발하여 학습시킨 결과물이다. 최초 기계번역의 수준은 사실 많이 부족했다. 대표적인 예로 티비엔의 여행 예능이었던 "꽃보다 청춘 아이슬란드 편"에서 "핫도그 세 개 주세요"를 "hot dog world"로 번역했던 사례가 있다. 하지만 최근에는 여행지 어디를 가더라도 각종 포털 사이트에서 제공하는 번역 앱을 사용하면 의사소통에 문제가 없을 정도이다. 또한 질의응답 분야도 있다. 주어진 질의에 대한 답을 찾아 제시하는 연구 분야이다. 기계는 사용자의 질문과 관련 있는 문서를 찾은 후, 문서 내에서 질문의 내용을 뒷받침할 수 있는 문장을 찾아 답변을 만들어 내어 그 질문에 대답한다. 챗봇은 이미 우리의 삶에 녹아들어 있는 분야이다. 사용자의 질문에서 숨은 의도를 파악하여 사람의 언어로 답변해 주는 서비스이다. 음성인식도 요즈음 자주 사용되고 있는데, 음성인식 기술은 딥러닝과 텍스트 빅데이터의 등장으로 빠르게 성장하고 있는 분야이다. 필자가 가장 많이 쓰는 서비스는 네이버 클로바 노트인데, 음성 기술을 활용해서 음성을 텍스트로 변환해 주고, 그 내용까지 요약해 주는 서비스이다. 최근에는 휴대전화 통화 내용을 자동으로 녹음, 요약해 주는 애플리케이션까지 등장하고 있다.
텍스트 분석의 목표는 텍스트의 의미를 이해하는 것이다. 하지만 사람마다 다양한 방식으로 말하며, 콘텍스트에 따라 텍스트가 다양하게 변형이 가능하기 때문에 전처리 과정이 필수적이다. 전처리 기법으로는 토큰화, 정규화, 어간 추출과 형태소 분석, 원-핫 인코딩이 있는데 한 가지씩 살펴본다. 먼저 토큰화이다. 토큰화는 문장을 가장 작은 단위로 나누는 작업을 의미한다. 가장 쉬운 방식은 띄어쓰기이지만, 중국어와 같이 띄어쓰기가 없는 단어의 경우 이 방법을 사용할 수는 없다. 그다음엔 정규화 작업이다. 영어에서는 모든 텍스트를 소문자로 바꾸거나, 불필요한 단어 삭제, 길이가 짧은 단어 삭제 등이 이루어진다. 예를 들면 관사 등은 이 과정에서 삭제된다. 그 후에는 어간 추출과 형태소 분석이다. 영어의 경우 어간 추출과 표제어 추출이 이용되는 반면, 한글은 형태소 분석이 주로 사용된다. 텍스트 전처리 과정에서 사용되는 마지막 방법인 원-핫 인코딩은 단어 사전 크기의 벡터를 만들고 특정 단어 위치에 1의 값을, 그 밖의 위치에 0을 부여하는 단어의 표현 방식이다. 단어사전을 만들면 모든 문장은 숫자의 행렬로 표현할 수 있다.
단어의 표현 방법으로는 단어 가방 모형, 문서-단어 행렬, TF-IDF 등이 있다. 단어 가방 모형은 매우 오래된 텍스트 모형으로 각 단어의 출현 빈도만을 계산하는 방법이다. 문서-단어 행렬은 단어 가방 모형을 이용하여 문서에 출현하는 단어의 빈도를 행렬로 표현한 것이며, TF-IDF는 각 문서를 대표하는 중요한 단어를 찾는 방법이다.
마지막으로 언어모형이다. 언어모형은 단어 시퀀스에 대한 확률분포를 구해 언어를 처리하는 모형으로, 특정 단어나 문장이 있을 때 다음에 나타날 단어나 문장에 대한 확률적 분포를 인공신경망 모형을 통해 구한다. 대표적인 예로 오타의 수정이나 다음 단어의 예측이 있다.
'컴퓨터과학' 카테고리의 다른 글
인공지능과 기계학습 (0) | 2024.01.15 |
---|---|
빅데이터 시각화 (0) | 2024.01.15 |
빅데이터의 수집과 활용 (1) | 2024.01.15 |
빅데이터의 개요 (0) | 2024.01.15 |
파일 처리 시스템과 데이터베이스 시스템 (1) | 2024.01.14 |