Text Mining (텍스트 마이닝)
Text Data Mining 이라고도 합니다.
텍스트 마이닝은 비정형 텍스트를 정형화하여 의미있는 패턴과 새로운 인사이트를 찾아내는 프로세스입니다.
텍스트 마이닝은 정형 및 비정형 데이터를 자연어 처리방식(Natural Language Processing)과 문서처리 방법을 적용하여 유용한 정보를 추출하여 가공하는 것을 목적으로 하는 기술을 의미하기도 합니다.
텍스트 마이닝은 데이터로부터 유용한 인사이트를 발굴하는 데이터 마이닝(Data Mining), 언어를 정보로 변화하기 위한 자연어 처리,
정보 검색 등 다양한 분야가 접목되어 발전하 학문이자 기술입니다.
텍스트 데이터 종류
텍스트 데이터는 데이터베이스에 따라 구분할 수 있습니다.
정형 데이터 (Structured Data)
여러 행과 열로 이루어진 표준 테이블 형식
분석 및 머신러닝 알고리즘에 적합하게 저장하고 처리하기 용이
ex) 이름, 주소, 전화번호 등
비정형 데이터 (Unstructured Data)
사전 정의된 데이터 형식이 없는 데이터
소셜 미디어나 제품 리뷰 같은 소스의 텍스트, 비디오나 오디오 파일 같은 리치 미디어 형식 등
반정형 데이터 (Semi-structured Data)
정형 데이터와 비정형 데이터 형식이 혼합된 데이터
어느 정도 체계화되어 있지만, 관계형 데이터베이스의 요구사항을 충족하기에는 정형성이 부족
XML, JSON, HTML 파일 등
텍스트 마이닝 기법
텍스트 마이닝 프로세스는 비정형 텍스트 데이터에서 정보를 추론하기 위한 몇 가지 활동으로 구성됩니다.
다양한 텍스트 마이닝 기법을 적용하기 위해서는 텍스트 전처리, 즉 텍스트 데이터를 정리하여 사용 가능한 형식으로 변환해야 합니다.
언어 식별, 토큰화(Tokenization), 품사 태깅, 구문 분석(chunking)과 같은 기법을 활용하여 데이터를 분석에 적합한 형식으로 만듭니다.
정보 검색 (IR, Information Retrieval)
사전 정의된 query/구문 세트를 기반으로 연관 정보나 문서를 확보하는 기법입니다.
정보 검색 시스템에서는 각종 알고리즘을 활용하여 사용자 행동을 추적하고 관련 데이터를 식별합니다.
Tokenization(토큰화)
긴 형태의 텍스트를 "토큰"이라는 문장 및 단어로 나누는 프로세스
Bag-of-Word(Bow)와 같은 모델을 적용하여 텍스트 클러스터링 및 문서 매칭 태스크를 수행합니다.
Stemming(어간 추출)
단어에서 접두사와 접미사를 분리하여 어간(단어의 의미를 담고 있는 단어의 핵심 부분)와 의미를 도출하는 프로세스
인덱싱 파일의 크기를 줄여 정보 검색의 성능을 높일 수 있습니다.
자연어 처리(NLP, Natural Language Processing)
Summarization(요약)
긴 텍스트의 시놉시스를 제공하여 문서의 주요 요점을 간결하고 일관되게 요약하는 기법
PoS(Part-of-Speech, 품사 태깅)
명사, 동사, 형용사 등 품사를 기준으로 문서의 토큰에 태그를 할당하는 기법
비정형 텍스트에 대한 의미 분석이 가능해집니다.
Text Categorization(텍스트 범주화)
텍스트 분류라고도 하는데 사전 정의된 주제 또는 범주에 따라 텍스트 문서를 분석하고 분류
동의어와 약어를 분류하는 데 특히 유용합니다.
Sentiment Analysis(감성 분석)
내/외부 데이터 소스에서 긍정적인 또는 부정적인 정서를 감지하여 시간의 흐름에 따른 고객의 태도 변화를 추적
일반적으로 브랜드, 제품, 서비스에 대한 인식 관련 정보를 제공하는 데 사용됩니다.
정보 추출(IE, Information Extraction)
다양한 문서를 검색하면서 유의미한 데이터 조각을 찾아냅니다.
자유 텍스트에서 정형화된 정보를 추출하고 이러한 엔티티, 속성, 관계 정보를 데이터베이스에 저장합니다.
Feature Selection(특징 선택)
속성 선택(Attribute Selection)이라고 불리며, 예측 분석 모델의 결과에 가장 크게 기여할 중요한 특징(차원)을 선택하는 프로세스
Feature Extraction(특징 추출)
분류 태스크의 정확도를 높이기 위해 일부 특징을 선택하는 프로세스
이는 특히 차원 축소에 중요합니다.
NER(Named-Entity Recognition, 개체명 인식)
엔티티 식별 또는 엔티티 추출이라고도 하며, 텍스트의 특정 엔티티(ex. 이름, 위치)를 찾아 분류하는 것이 목적
데이터 마이닝(Data Mining)
데이터 마이닝은 빅데이터 세트에서 패턴을 식별하고 유용한 인사이트를 추출하는 프로세스입니다.
정형 데이터와 비정형 데이터를 모두 평가하여 새로운 정보를 식별합니다.
일반적으로 마케팅 및 판매 분야에서 사용자 행동을 분석하는데 활용됩니다.
텍스트 마이닝은 비정형 데이터를 정형화하고 분석하여 새로운 인사이트를 생성하는 데 중점을 두므로, 사실상 데이터 마이닝의 하위 영역이라 할 수 있습니다.
텍스트 마이닝 사용 사례
지식 경영(Knowledge Management)
많은 양의 데이터 중 의미 있는 데이터반 뽑아내고 효율적으로 관리
사이버 범죄 예방(Cybercrime prevention)
텍스트 마이닝을 이용한 범죄 예방 어플리케이션
고객 관리 서비스(Customer Care Service)
고객에게 빠르고 자동화된 응답을 제공하기 위해 활용
고객 클레임 분석을 통한 부정행위 탐지(Fraud detection through claims investigation)
보험회사는 텍스트 마이닝을 통해 사기를 방지하고 빠르게 클레임을 처리
콘텐츠 강화(Content Enrichment)
다양한 목적에 따라 그에 적합한 내용으로 정리하고 요약
소셜 미디어 데이터 분석(Social media data analysis)
해당 브랜드나 제품에 대한 다양한 의견과 감성반응을 살펴봄
고객 서비스
다양한 방법으로 사용자에게 고객 피드백을 요청할 수 있습니다.
텍스트 애널리틱스 툴, 피드백 시스템(예: 챗봇), 고객 설문조사, NPS(Net-Promoter Score, 순추천지수), 온라인 리뷰, 지원 티켓, 소셜 미디어 프로파일과 연계함으로써 고객 경험을 빠르게 향상할 수 있습니다.
기업에서 텍스트 마이닝과 감성 분석을 이용하여 고객의 주요 애로 사항에 우선순위를 부여하는 메커니즘을 마련합니다.
이러한 방식으로 시급한 문제에 실시간으로 대응하고 고객 만족도를 높일 수 있습니다.
위험 관리
텍스트 마이닝은 위험 관리에도 활용됩니다.
업계 동향 및 금융 시장에 관한 인사이트를 제공할 수 있는데, 이를 위해 정서 변화를 모니터링하고, 애널리스트 리포트 및 백서에서 정보를 추출하는 등의 기법을 구사합니다.
금융 기관에 특히 유용한데, 다양한 분야에 대한 비즈니스 투자를 고려할 때 이 데이터를 토대로 더 자신 있게 판단할 수 있기 때문입니다.
유지보수
텍스트 마이닝은 제품과 기계의 작동 및 기능에 관하여 상세하고 거시적인 관점을 제시합니다.
텍스트 마이닝은 차츰 문제점, 그리고 사전 예방/사후 대처 유지보수 절차와 관련 있는 패턴을 밝혀냅니다. 그에 따라 의사결정이 자동화됩니다.
유지 보수 전문가는 텍스트 애널리틱스를 통해 당면 과제 및 실패의 근본 원인을 더 빨리 찾아낼 수 있습니다.
헬스케어
바이오메디컬 분야에서, 특히 정보 클러스터링과 관련하여 텍스트 마이닝 기법이 더욱 진가를 발휘하고 있습니다.
의학 연구 자료를 수작업으로 조사하려면 비용과 시간이 많이 들 수 있습니다.
텍스트 마이닝은 의료 문헌에서 가치 있는 정보를 추출하는 작업을 자동화할 수 있습니다.
스팸 필터링
스팸은 해커가 컴퓨터 시스템을 악성 코드(malware)에 감염시킬 때 진입 지점이 되곤 합니다.
텍스트 마이닝으로 이러한 이메일을 수신함에서 필터링하고 제외함으로써 사용자 경험을 전반적으로 향상하고 최종 사용자에 대한 사이버 공격의 위험을 최소화할 수 있습니다.
텍스트 마이닝 분석 프로세스
텍스트 데이터 수집
SNS/뉴스/블로그 등 텍스트 데이터 수집
텍스트 전처리
전처리는 용도에 맞게 텍스트를 사전에 처리하는 작업
궁극적으로 '중요한 특징 값'을 선택하는 것이 중요
- 오탈자 제거, 띄어쓰기 교정
- 불용어 제거: 데이터에서 큰 의미가 없는 단어 제거
- 정제(cleaning): 가지고 있는 코퍼스로부터 노이즈 데이터 제거
- 정규화(normalization): 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만듦
토큰화(tokenization)
주어진 코퍼스(corpus, 말뭉치)에서 토큰(token)이라 불리는 단위로 나누는 작업(공백 기준, 형태소 기준, 명사 기준)
구분 기준은 분석 방법에 따라 다르다.
감성 분석한다면, 감성을 나타내는 품사가 동사, 형용사 쪽에 가깝기 때문에 형태소 분석기를 사용해서 동사, 형용사 위주로 추출한다.
특징 값 추출
'중요한 단어'를 선별하는 과정
'중요한 단어'로서의 특징은 적은 수의 문서에 분포되어 있어야 하고, 문서 내에서는 빈번하게 출현해야 한다.
특정 텍스트를 통해 문서를 구분 짓는 것이기 때문에 어떤 단어가 모든 문서에 분포되어 있다면 이는 차별성 없는 단어를 의미한다.
데이터 분석
머신러닝, 딥러닝 분석 모델 등 사용
References
'NLP > NLP 시스템' 카테고리의 다른 글
[Text Annotation][Text Classification] Label Sleuth (0) | 2023.08.09 |
---|---|
OCR (Optical Character Recognition) (0) | 2022.08.01 |
[NLP] Information Extraction (0) | 2021.04.13 |
[NLP] NER(Named Entity Recognition) (0) | 2021.04.12 |