MATLAB Answers

テキスト分析 特定の品詞のみを対象

5 ビュー (過去 30 日間)
TS
TS 2021 年 2 月 25 日
コメント済み: TS 2021 年 3 月 1 日
テキストを分析する際、トークン化後、ストップワードを削除したり、句読点を削除したりすると思いますが、その際、特定の品詞のみ(名詞、形容詞、動詞など)を対象することは可能でしょうか。もしくは、Nグラムを行う際に、特定の品詞のみを対象にすることは可能でしょうか。

採用された回答

Misa Taguchi
Misa Taguchi 2021 年 2 月 26 日
こんにちは。可能だと思われます。以下に簡単なデモを作成いたしましたが、こちらの処理ではいかがでしょうか。
%% 解析用データの読込み(「吾輩は猫である」を読み込んでいます)
url = "https://www.aozora.gr.jp/cards/000148/files/789_14547.html";
options = weboptions('CharacterEncoding','Shift_JIS');
code = webread(url,options);
textData = extractHTMLText(code);
textData = string(split(textData,newline));
idx = textData == "";
textData(idx) = [];
%% トークン化
documents = tokenizedDocument(textData);
%% 品詞情報の取得
tdetails = tokenDetails(documents);
head(tdetails)
%% 名詞の抽出
idx = tdetails.PartOfSpeech == "noun";
tokens = tdetails(idx,:);
for ii = 1:max(tokens.DocumentNumber)
try
str(ii,:) = join(tokens.Token(tokens.DocumentNumber == ii));
end
end
%% 名詞のストップワード削除
documents = tokenizedDocument(str);
documents = removeStopWords(documents);
%% Nグラムの作成(この例ではBigram)
bag = bagOfNgrams(documents,'NgramLengths',2);
  3 件のコメント
TS
TS 2021 年 3 月 1 日
ご回答ありがとうございました。空の行を削除していることが確認できました。

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!