Python으로 시작하는 기계 학습 보고서 ⑦
7장 텍스트 데이터 처리
텍스트 데이터의 길이는 거리이므로, 지금까지의 수치 특징량과는 취급하는 방법이 다르기 때문에,
전처리 방법도 달라진다.
7.1 영화 리뷰의 감정 분석
다음과 같은 데이터 세트가 있다고 가정합니다.
· 영화 리뷰 (텍스트 형식)
· "긍정적"또는 "부정적"(라벨)
리뷰의 텍스트로부터, 「긍정적」인가 「부정적」인가를 판별하면,
2 클래스 분류로 처리할 수 있다. 그렇게 하기 위해,
텍스트 데이터를 수치 형식으로 변환할 필요가 있다.
7.2 BoW(Bag of Words)에 의한 텍스트 표현
Bow는 가장 간단하고 효율적이며 널리 사용되는 데이터의 표현 방법이다.
문장 중에 그 단어가 몇 번 나왔는가, 라는 점에만 주목한다.
이하의 3단계로 처리한다.
1. 토큰 분할(Tokenization)
문장을 단어로 나눕니다.
2. 어휘 구축(Vocabulary building)
모든 문서에 나타나는 모든 단어에 번호를 매깁니다.
3. 인코딩
각 문서에 대해 단어가 나오는 숫자를 계산합니다.
7.3 tf-idf (term frequency-inverse document frequency)를 이용한 스케일 변환
tf-idf는 특징 량이 얼마나 많은 정보를 갖는지에 따라 특징 량의 스케일을 변환하는 방법 중 하나이다.
특정 문서에서만 자주 발생하며 다른 문서에서 흔히 나타나지 않는 단어는 해당 문서의 내용을 나타냅니다.
라는 생각에 근거하고 있다.
다음은 문서 d에서 단어 w의 tf-idf 점수입니다.
N: 훈련 세트의 문서 수
Nw: 훈련 세트의 문서 중 w가 있는 문서 수
tf: 문서 d 중에 w가 나타나는 횟수
위의 식을 사용함으로써,
문서의 길이는 벡터 표현에 영향을 미치지 않습니다.
(벡터 길이가 모두 1이되도록 스케일 변환하기 위해)
7.4 1단어보다 큰 단위의 BoW(n-그램)
BoW의 문제는 단어의 순서가 완전히 손실된다는 것입니다.
그러므로 단어를 하나로 구분하는 대신,
2개 또는 3개 연속하도록 구분한다.
2개의 토큰을 바이그램(bigram), 3개의 토큰을 트리그램(trigram),
n개의 토큰을 n-그램(n-gram)이라고 한다.
대부분의 경우에는 하나의 토큰인 유니그램(unigram)으로 충분하다.
5-그램 정도로는 성능이 향상될 가능성이 있지만,
특징 량의 수가 증가하고 독특한 특징 량도 증가하기 때문에 과잉 적합하기 쉬워진다.
7.5 주제 모델링 (topic modeling) 및 문서 클러스터링
주제 모델링은 텍스트 데이터에 자주 사용되는 기술로,
각 문서에 하나 이상의 주제 (topic) 할당
교사 없음 학습이다.
할당할 주제가 하나인 경우 클러스터링이 된다.
주제가 둘 이상인 경우 성분 분석이 된다.
주제 모델링은 이 성분 분석에 속하며,
LDA (Latent Dirichlet Allocation)라는 성분 분석 수법이다.
7.6.1 LDA
기계 학습에서의 「토픽」이란, 일상 대화의 토픽과는 의미가 다르다.
· 기계 학습 주제
→문장에 자주 나오는 단어에 불과하고 의미가 있는지 여부는 불명
· 대화 주제
→ 정치, 스포츠, 금융 등
7.7 정리와 전망
SPAM 검출, 감정 분석 등의 클래스 분류에서는 BoW가 유효하다.
Reference
이 문제에 관하여(Python으로 시작하는 기계 학습 보고서 ⑦), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/0Scher/items/f1cc5eebe5fd75f88b3c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Python으로 시작하는 기계 학습 보고서 ⑦), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/0Scher/items/f1cc5eebe5fd75f88b3c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)