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

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

採用された回答

Kojiro Saito
Kojiro Saito 2025 年 2 月 18 日
編集済み: Kojiro Saito 2025 年 2 月 18 日
tokenizedDocumentmecabOptionsを入れることでトークンの切れ目を変更できます。
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 件)

カテゴリ

Help Center および File Exchangeプログラミング についてさらに検索

製品


リリース

R2024b

Community Treasure Hunt

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

Start Hunting!