4.統計学的自然言語処理 その2
【共起ネットワークから教師なし学習の入り口まで】
前回の記事では、統計学的自然言語処理である形態素解析や語のベクトル化、Jaccard係数についての基礎を書きました。
そして、語と語の関連をJaccard係数という形でみることで、言葉を用いた研究ができますよーと、そんな説明をしました。
今回は、語と語の関係に対してJaccard係数を元にネットワークを作ること、また、グループ分け(クラスタリング)について説明します。
一応、クラスター分析によるクラスタリングは「教師なし学習」の一部に入るようです。
Jaccard 係数による語と語のネットワークは、共起ネットワークと呼ばれています。
とてもとても簡単に言うと共起ネットワークは語と語の関係を視覚的に分かりやすく提示したものです。
例えばこれ、
この画像は、上記論文から引用しております。
色の違いは、気にしなくていいと思います。同じ色がクラスターと言う訳ではありません。
見るところは、丸い円で囲まれた語の大きさや円の大きさ、円と円を繋いでいる線の太さです。
プログラムの仕方によって変えられるのですが、円や円の中の語が大きいほど、語の頻度が多い単語ということになります。
また、円と円が線で繋がれている場合は、関連している語であることを示しています。
この線もプログラムにより変更できるのですが、線が太いほど関連が強く、細いほど関連が弱いと言うことになります。
医療現場では、例えば、
「中枢感作が起きてる患者の発言にはどのようか関連があるのか?」
とか気になりませんか??この手法を使えば、この様な研究も出来そうですよね!!
(もし中枢感作患者の発言や言葉の研究があったらすいません、無ければ意義のある研究になりそうですよね)
共起ネットワークは視覚的に分かりやすく、語と語の関係を示してくれます。
教師なし学習
「教師あり学習」は回帰分析のように答えがある状態で、学習させるという方法でしたが、「教師なし学習」はその名の通り、教師がありません。
教師なし学習のイメージです。(雑な画像ですいません)
解析後・・・・
簡単に説明すると、こんな感じで、データしかないところからクラスタリング(グループ分け)をすると言うのが「教師なし学習」です。
教師なし学習には
・主成分分析
・自己組織化マップなどのニューラルネットワーク
などがあります。
主成分分析とクラスター分析などは多変量解析の一部ですよね。
理学療法分野では主成分分析やクラスター分析を使用した論文は、多くはないかと思いますが、時々あるので、J-stageで検索するとすぐに見つかると思います。
自己組織化マップ(Self-organizing maps;SOM;ソム)と言うのは、教師なし学習の中でもっとも人工知能っぽいものです!
なぜかと言うと、SOMはニューラルネットワークの一種であり、大脳皮質の視覚野をモデル化したものであるからです。
そしてクラスタリングをする場合は、繰り返し学習させていくSOMの方が精度が良い可能性があります。(良い方法と言うか、あるパターンを見逃さない可能性があります)
ちなみに、私は、Twitterのデータ33万語を使用してニューラルネットワークでクラスタリングをしました!これは現在進行形で2ヶ月後には300万語を解析する予定です。
さて、ニューラルネットワークに興味を惹きつけたあたりで、次回に続きます!
今回も最後までお付き合い頂きありがとうございました。
自然言語処理関連のオンライン学習は↓↓こちら
ゼロからはじめるR言語とPython言語でのデータ集計・可視化・多変量解析・機械学習・テキスト解析
こちらもどうぞ↓↓
【TensorFlow・Keras・Python3で学ぶ】時系列データ処理入門(RNN/LSTM, Word2Vec)