코드 10줄로 시작해 보는 텍스트 분석
이 예제에서는 MATLAB® 코드 단 10줄로 텍스트 분석을 사용해 텍스트 데이터를 분류하는 방법을 보여줍니다. 이 예제를 실행해 보면 MATLAB에서 텍스트 분석을 시작하는 것이 얼마나 간단한지 알 수 있습니다.
단어 빈도 수를 예측 변수로 사용하는 간단한 분류 모델을 만들 수 있습니다. 이 예제에서는 텍스트 설명을 사용하여 공장 보고서의 이벤트 유형을 예측하도록 분류 모델을 훈련시킵니다.
모델 만들기
모델을 만들기 위한 기본 단계는 다음과 같습니다.
가져오기 – 텍스트 데이터를 MATLAB으로 가져옵니다.
전처리 – 단어 분석을 위해 텍스트를 전처리합니다.
변환 – 텍스트를 숫자형 데이터로 변환합니다.
훈련 – 분류 모델을 훈련시킵니다.
예제 텍스트 데이터와 레이블을 가져온 다음 텍스트를 토큰화합니다. 토큰화한 텍스트를 bag-of-words 모델을 사용해 숫자형 데이터로 변환합니다. 그런 다음 지도 SVM 분류기를 훈련시킵니다.
data = readtable('factoryReports.csv','TextType','String'); % Read data labels = categorical(data.Category); % Read labels documents = tokenizedDocument(data.Description); % Preprocess text bag = bagOfWords(documents); % Count words XTrain = bag.Counts; % Convert to numeric data mdl = fitcecoc(XTrain,labels,'Learners','linear'); % Train classifier
새 데이터를 사용하여 예측하기
예측 단계는 훈련 단계와 유사합니다. 새 데이터로 예측하려면 훈련할 때 사용했던 것과 동일한 단계를 그대로 사용해 텍스트 데이터를 전처리하고 전처리한 데이터를 숫자형으로 변환합니다. 그런 다음 훈련된 모델을 사용하여 레이블을 예측합니다.
텍스트 "Coolant is pooling underneath sorter."에 대한 레이블을 예측합니다.
str = "Coolant is pooling underneath sorter."; % Import text documentsNew = tokenizedDocument(str); % Preprocess text XTest = encode(bag,documentsNew); % Convert to numeric label = predict(mdl,XTest) % Predict label
label = categorical
Leak
자세한 워크플로를 보여주는 예제는 분류를 위한 간단한 텍스트 모델 만들기 항목을 참조하십시오.
텍스트 분석의 다음 단계로, 데이터를 전처리해 모델 정확도를 개선하고 워드 클라우드를 사용해 텍스트 데이터를 시각화해 볼 수 있습니다. 예제는 분석할 텍스트 데이터 준비하기 및 워드 클라우드를 사용하여 텍스트 데이터 시각화하기 항목을 참조하십시오.
참고 항목
tokenizedDocument | bagOfWords | encode