[text-mining] 의미
의미
- 참조 의미론: 언어적 표현의 의미는 그 표현이 가리키는(참조하는) 것
- 실체가 없는 존재(예: 산타클로스, 용)
- 다른 표현이 같은 대상을 가리키는 경우(예: 도널드 트럼프 vs. 미국 대통령), 정확히 같은 의미라고 하기 어려움
- 믿음, 생각, 지식 등을 표현하는 경우(예: 철수는 트럼프가 미국 대통령인 것을 모른다)
- 맥락에 따라 의미가 달라지는 지시어(예: 여기, 나)
- 가능세계 의미론: 언어적 표현의 의미는 그 표현을 참으로 만드는 가능한 모든 세계의 집합
- 모든 가능한 세계에서 참인 표현들(예: 1+1=2, 홀수와 홀수의 곱은 홀수)의 의미가 문제가 됨
- 자연어 처리와 텍스트 분석에서는 이러한 의미의 철학적 문제에 대해서는 깊이 다루지 않음
- 단어들 사이의 의미적 연관 관계를 바탕으로 의미를 다룸
단어들이 연관되는 방식
- 동의어(synonym): 서로 바꿨을 때 문장의 참/거짓이 바뀌지 않음
- 대조의 원칙(principle of contrast): 언어적 형태가 다르면 의미에도 차이가 있다(완전히 똑같은 단어는 없음)
- 완전히 똑같지는 않아도 비슷하거나 연관된 단어는 있음
- 의미장(semantic field)
- 특정한 범위의 의미를 표현하는 단어들
- 예) 레스토랑: 메뉴, 테이블, 음식, 접시, 서버, 술, …
- 의미 프레임(semantic frame)
- 특정한 사건이나 장면을 구성하는 단어들
- 예: 판매(판매자, 구매자, 상품, 가격 …)
Connotation
- 여러 가지 뜻이 있으나 여기서는 단어의 의미에서 감정, 의견, 평가적 측면을 말함
- Osgood 등(1957)은 connotation에 세 가지 차원이 있음을 발견
- valence: 좋음과 나쁨(예: 행복 vs. 불행)
- arousal: 감정의 강도 (예: 흥분 vs. 침착)
- dominance: 통제의 정도 (예: 지배 vs. 종속)
벡터 공간 모형 (Vector Space Model)
- 비슷한 맥락의 단어는 비슷한 의미를 가지는 경향(예: 차, 커피)
- 분포 가설(distributional hypothesis): 두 단어의 의미의 차이는 주변에 나타나는 단어 분포의 차이에 연동
- 문서(또는 단어)를 벡터로 표현 → 비슷한 문서는 비슷한 벡터
- 여러 문서는 벡터들의 모임 → 행렬로 표현
- 문서를 벡터로 표현하는 방법은 다양(문서단어행렬, Word2Vec 등)
Bag-of-Words (BoW) 모형
- 문서를 단어들의 모음(중복집합)으로 이해하는 관점
- 어순, 문장 구조는 무시하고 단어의 출현 빈도만으로 파악
- 단순하지만 효과적
단어 통계
- 단어 사용의 패턴에는 여러 가지 정보가 포함
- 개인: "나"를 많이 쓰는가, "너"를 많이 쓰는가?
- 정치: 대통령 연설문에 어떤 단어가 많이 나오는가?
- 경제: 기업의 실적보고에 어떤 단어가 많이 나오는가?
- 제품: 고객 리뷰에 어떤 단어가 많이 나오는가?
문서 단어 행렬 (Document Term Matrix)
- 문서별로 단어의 빈도를 정리한 표
- 예시:
- 문서1: 오늘은 밥을 먹었다
- 문서2: 어제도 밥, 오늘도 밥
- 비정형 데이터인 텍스트를 표 형태로 정형화
- 정형 데이터의 다양한 통계 기법을 적용 가능
- 처리가 단순 ↔ 어순과 맥락을 무시하는 것이 단점
문서 단어 행렬을 만드는 절차
- 토큰화: 문서를 분석 단위인 토큰(단어, 형태소 등)으로 나눔
- 불용어 처리: 분석에서 제외할 불용어(stopwords; 전치사, 관사, 조사 등)를 제거
- 어간 추출/표제어 추출: 필요한 경우 비슷한 종류의 토큰을 하나로 통합
- n-그램: n개의 연속된 토큰 모음을 추출
- 어휘 구성: 문서 단어 행렬에 포함할 어휘 결정
- 인코딩: 문서를 벡터로 표현
- 바이너리 인코딩(binary encoding): 문서에 토큰이 출현할 경우 1, 아니면 0으로 표시
- 카운트 인코딩(count encoding):문서에 토큰이 출현한 빈도대로 표현