Matlabユザコミュニティ

MATLAB & 万博1manbetxSimulinkユザコミュニティ向け日本語ブログ

私がmatlabでのテキスト解析をオススメする3の理由

本日はMathWorks日本でデータサイエンス関係を広く担当している田口さんに,自然言語処理について投稿して頂きます。記事をヒントに是非遊んでみてください!

- - - - - -

こんには。アプリケションエンジニアリング部の田口と申します。今回ゲストブロガとして,単発ですが記事を書かせていただきます。普段は機械学習,ディプラニングといった分野でお客様の技術サポトをさせて頂いています。また,その中でも、テキスト解析や医療データ解析、強化学習といった技術のサポートに特に注力しています。

私事で恐縮なのですが,7月にディプラニングg検定なるものを受験しまして,難しかったーという感想はさておき,結構テキスト解析や強化学習の分野からの出題が多かったなぁと感じています。正直,少し前までは,テキスト解析がどんな風に使えるのかあまり,メ,ジが湧かなかったと思います。しかし,最近では有名なところだと,谷歌翻訳やSiriといったサービスもありますし,ロボティクスでマルチモーダル解析(画像・音声・テキスト等をまとめて解析)を行うという文脈でテキスト解析が登場するようです。そんなこともあって,テキスト解析は近頃ますますホットなトピックなのではとお見受けしています。

そこで今日は,MATLABの文本分析工具箱について,MATLABでテキスト解析を行う魅力について個人的な視点から語りたいと思います!テキスト解析に興味のある方,テキスト解析のツールを選定中の方や,MATLABのテキスト解析でできることを日本語でざっと確認したい方など少しでもお役に立てたら嬉しいです。テキスト解析の専門用語も出てきますが,用語についての説明は省略していますのでその点はご了承ください。

【目次】

  1. 解析環境のセットアップが簡単

  2. 解析が簡単

  3. 小回りが利く

1.解析環境のセットアップが簡単

これからテキスト解析を始めたいという方には朗報ですが,文本分析工具箱では解析環境のセットアップが非常に簡単です。これはMATLAB製品群全体に言えることなのですが,MATLABおよび工具箱インストール用のファイルを実行して頂ければ,パスの設定など小難しいことをする必要なく,自動でセットアップが完了します。

[参考]YouTube: MATLABの

文本分析工具箱はR2018b以降,日本語の解析にも対応しており,形態素解析エンジンMeCabを使用した形態素解析が可能です。文本分析工具箱の中にMeCabが同梱されているような形ですので,ツールを入れて頂くだけで使用可能です!

▼使用例はこんな感じです。

既にMeCabユーザー様がいらっしゃれば既にお気づきかもしれませんが,デフォルトの関数では,通常のMeCabで得られる全ての情報は出力されません。というのも,この文本分析工具箱では,日本語のみならず英語やドイツ語,韓国語も解析の対象としているからです。もし,通常のMeCabと同じ出力を得たい場合は,こらのラッパ関数がお勧めです!出力結果の右側に,動詞の活用形や,読み仮名の情報が追加されていることがわかります。

2.解析が簡単

私がMATLABでのテキスト解析をお勧めする2つ目の理由として,解析が簡単であることを挙げたいと思います。例えば,ディプラニングg検定の受験に際して読んでいた”これ1冊で最短合格ディプラニングg検定ジェネラリスト要点整理テキスト&問題集“には,テキスト解析のキーワードとして以下の①~⑦が挙げられていますが,こちらはほとんどMATLABで実施できます!

①形態素解析
②構文解析
③意味解析
④文脈解析
⑤分散表現
⑥トピックモデル
⑦機械翻訳

厳密に言うと,半分以上が文本分析工具箱の関数でサポートされていて,その他は少しカスタマイズして頂くことでMATLAB上で実行可能です。文本分析工具箱でサポートされているものは,こちらのセクションでそれぞれ該当するリンクやスクリプトをご紹介しますので使ってみてください。少しカスタマ邮箱ズが必要なものは3.小回りが利くをご覧ください。

①形態素解析

トクン化や品詞の表示は1.解析環境のセットアップが簡単にてご説明の通りですが,形態素解析で分割した単語を活用したBagOfWordsやTF-IDFの作成はこらに例題があります。

もろん,ストップワドの削除句読点の削除など,前処理系の関数も充実しています。

②構文解析

係り受け解析に代表される構文解析ですが,残念ながらR2020a時点ではサポトされていません。しかし,例えばCaboChaのような係り受け解析器をmatlabから呼び出すことは可能です。3.小回りが利くの章でも色々と回避策をご紹介しています。

③意味解析

意味解析の1である感情解析(情感分析)は,vaderSentimentScoresという関数でポジティブ·ネガティブのスコアを簡単に表示することができます。

残念ながらこの関数はR2020a時点ではまだ日本語に対応していませんが,日本語で感情解析を行うサンプルもこらにあります。また,機械学習を使って感情の分類学習を行う例ディプラニングを使って感情の分類学習を行う例などもあり,色々と使うことができます。

④文脈解析

照応解析など,文章全体の意味を解析する文脈解析ですが,残念ながらこちらもR2020a時点ではサポートされていません。しかし,例えばCOTOHA APIのような外部APIをmatlabから呼び出すことは可能です。COTOHA APIでは照応解析以外にも様々な解析に対応しています。3.小回りが利くの章でもご紹介していますので是非ご覧ください!

⑤分散表現

分散表現を行うものとして,単語をベクトル化するword2vecや,トークン化されたドキュメントをベクトル化するdoc2sequenceがあります。こらに色々とまとまっています。また,関数1行で呼び出せるコーパスもあります。関数1行で呼び出すコーパスに関しては、R2020a 時点では英語のものしか公開されていませんが、分散表現は勿論日本語にも対応しています(②痒い所に手が届く便利機能編をご参照ください)。

⑥トピックモデル

トピックモデルの代表的な方法として潜在的ディリクレ配分法(LDA)や潜在的意味解析(LSA)があります,がいずれも文本分析工具箱で対応しています。こらに"吾輩は猫である"のトピック分類を行った例題があります。

⑦機械翻訳

機械翻訳については,かねてから研究がなされており様々な手法がありますが,近年注目されているニューラル機械翻訳ではリカレントニューラルネットワークが用いられています。こらは、Text Analytics Toolbox と Deep Learning Toolbox を組み合わせて頂くことで実装が可能で、LSTM ネットワークを使用した例題が複数(存在します。また,長文の翻訳精度をあげるためのメカニズムとして注目を集めている注意機構(アテンション機構)も対応しています。こらに注意機構を使用して,数字をローマ数字に変換する例題もあり,こんな感じで新しいアルゴリズムも対応しているので面白いプログラムが作れそうです!。

以上見て頂いたように,文本分析工具箱には沢山の機能があります。一部,他のツールボックスが必要なものもありますが,全てMATLABという同一プラットフォームの上で一気通貫で解析ができます。もし複数のツールをまたぐと,データのやり取りなどが大変になってきますので,一気通貫で色々とできるというのはかなり魅力的ではないでしょうか吗?

3.小回りが利く

2.解析が簡単では文本分析工具箱でサポートされている機能についてご紹介しましたが,ここではそれ以外の機能についても併せてご紹介していきます。MATLABはプログラミング言語でもあるので色々と小回りが利き,決められた機能以外使えない…なんてことはなく色々と回避策があります。MathWorksが正式な製品としてご提供しているものではありませんが、様々なユーザ様に便利な・面白いスクリプトを作っていただいています。ここでは、技術情報共有サービス Qiita で既に公開されているものを、カテゴリに分けていくつか紹介します。ユーザー様のスクリプトはこれ以外にも逐次アップデートされていきますので、皆さんも是非探してみてくださいね!

①外部

2.解析が簡単で残念ながらサポトされていなかった係り受け解析や照応解析は,外部ルとの連携で実現できます。また,それ以外のルも呼び出すことができるので,色々なことができそうですね!

②痒い所に手が届く便利機能編

実際に解析を進めていく中で。“こういう機能欲しかった~”にきっと出会えるはずです!

③面白いアプリ

MathWorks社員も驚きのアプリケションや,面白い。言語処理100本ノックは第1章以降も続々と記事がアップされています。

以上,私がmatlabを選ぶ理由3挙げさせていただきました。色々と機能があったと思いますが,根本的には,一度テキストを的確な数値に変換することで,その後のアプリケーションにはかなり幅広い可能性があると思っています。ツイートからの金融予測,マーケティング,故障ログの解析,電子カルテの分析など…色々想像が膨らみますね。

皆さんも,こんな使い方ができるのでは?というアデアがありましたら,是非ともコメント欄で教えて頂けると嬉しいです!

▼ご参考:MathWorks公式の製品紹介ペジです。

https://jp.mathworks.com/s manbetx 845products/text-analytics.html

https://jp.mathworks.com/discovery/text-mining.html

最後まで読んで頂きありがとうございました!

|

评论

如欲留言,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。