Text Analytics Toolboxで品詞でフィルタしたものを、Token化するにはどうしたら良いでしょうか?
5 ビュー (過去 30 日間)
古いコメントを表示
Text Analytics Toolboxを用いて、
に記載されているような、分類を実施しようとしていますが、
tokenizedDocument にてトークン化されたものを1トークン毎にtokenDetailsにて品詞分解し
特定の品詞のみにしたいのですが、TokenDetailsしたものをまたトークン化するやり方がわからず苦慮しております。
TokenDetailsで抽出したものを、TokenizedDocumentにて再びトークン化すると1Wordごとのトークンとなってしまい、
最初に文章をtokenizedDocumentにてトークン化した、.Vocabularyプロパティのstring配列にできません。
なにかいいやり方がありましたら御教授いただきたく、よろしくお願いいたします。
0 件のコメント
採用された回答
Misa Taguchi
2021 年 2 月 26 日
ご回答が遅くなり申し訳ございません。
論理演算および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
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Text Analytics Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!