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)

Categories

Find more on Language Support in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!