10 行コードでのテキスト解析の試用
この例では、わずか 10 行の MATLAB® コードを使用し、テキスト解析を使用してテキスト データを分類する方法を示します。例を試して、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