Text Analytics Toolboxで品詞​でフィルタしたものを​、Token化するに​はどうしたら良いでし​ょうか?

2 views (last 30 days)
Text Analytics Toolboxを用いて、
に記載されているような、分類を実施しようとしていますが、
tokenizedDocument にてトークン化されたものを1トークン毎にtokenDetailsにて品詞分解し
特定の品詞のみにしたいのですが、TokenDetailsしたものをまたトークン化するやり方がわからず苦慮しております。
TokenDetailsで抽出したものを、TokenizedDocumentにて再びトークン化すると1Wordごとのトークンとなってしまい、
最初に文章をtokenizedDocumentにてトークン化した、.Vocabularyプロパティのstring配列にできません。
なにかいいやり方がありましたら御教授いただきたく、よろしくお願いいたします。

Accepted Answer

Misa Taguchi
Misa Taguchi on 26 Feb 2021
ご回答が遅くなり申し訳ございません。
論理演算およびjoin関数を用いた、以下のような処理ではご所望の内容になりますでしょうか?
%% 解析用データの読込み(「吾輩は猫である」を読み込んでいます)
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.Vocabulary
  1 Comment
Takafumi Amano
Takafumi Amano on 8 Mar 2021
ありがとうございました。
無事に意図したものができました。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!