テキストマイニングで熟語を指定する方法

Text Analytics Toolboxを用いてテキストマイニングを行っています。
tokenizedDocumentによりドキュメントをトークン化する際、熟語が想定と異なる分けられ方をしてしまいます。
例えば、近赤外分光で1つの熟語(もしくは近赤外、分光で2つの熟語)として欲しいのですが、近、赤、外、分光で4つのトークンに分かれてしまいます。
ある文字列を熟語として設定する方法はあるのでしょうか。
よろしくお願いします。

 采纳的回答

Kojiro Saito
Kojiro Saito 2025-2-18
编辑:Kojiro Saito 2025-2-18

0 个投票

tokenizedDocumentにmecabOptionsを入れることでトークンの切れ目を変更できます。
mecabの辞書はhttps://dbarchive.biosciencedbc.jp/en/mecab/download.htmlからダウンロードしたものを使った例です。
ただ、「近赤外」、「分光」でうまく分けられなかったので、カスタムトークンのオプションを入れる方法も紹介します。
str = "近赤外分光";
%% Thesaurus2015.dicを使用
options = mecabOptions('UserModel', 'Thesaurus2015.dic')
documents = tokenizedDocument(str, 'TokenizeMethod', options) % 1 個のトークン: 近赤外分光
%% Nikkaji.dicを使用
options = mecabOptions('UserModel', 'Nikkaji.dic')
documents = tokenizedDocument(str, 'TokenizeMethod', options) % 4 個のトークン: 近 赤 外 分光
%% JSTMeSH.dicを使用
options = mecabOptions('UserModel', 'JSTMeSH.dic')
documents = tokenizedDocument(str, 'TokenizeMethod', options) % 4 個のトークン: 近 赤 外 分光
%% カスタムトークンを使用
documents = tokenizedDocument(str, CustomTokens=["近赤外" "分光"]) % 2 個のトークン: 近赤外 分光

1 个评论

谷口
谷口 2025-3-11
回答があったのに気がついておりませんでした。
mecabOptions、MeCab user dictionaryを使うことで実現できるとのことで、実際にできました。
ありがとうございます。

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Text Data Preparation 的更多信息

产品

版本

R2024b

Community Treasure Hunt

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

Start Hunting!