機械学習・AIJubatus Classifierの活用事例"過去地名のグループ化"(液状化判定のため)

Jubatus Classifierの活用事例

Classifierとは・・・?

入力データを複数グループに分類する機能です。ユーザーがあらかじめグループ分けの例を学ばせておき、定義した文字情報をキーとして分類が行われます。
利用例・・・スパムメールの判定 など

※Jubatusとは・・・?
オンライン機械学習向け分散処理フレームワークJubatusのご紹介 をご覧ください


どうやって使うの?

Classifierは、与えられたデータ(主に文字列)から学習を行い、それを元に別の入力データを複数グループに分類します。

最もシンプルな使い方として、2列の表データのうち、A列で名称を、B列でカテゴリを与え、A列の名称から学習した結果を使って、膨大なデータを分類できます。
列のフィールド値として短い文字列を与えるだけでなく、長文のテキスト情報をすべて読み込ませて、内容で分類することもできます。

人が内容を判断して仕分けするような業務で、自動化に貢献できます。


Classiferの活用例

過去地名のグループ化

今回は、地名に含まれる、地歴に相当する単語("池" "山" "浦" "稲" "曽根" など)から、土地の成り立ちを表す3つのグループ「軟弱」・「良好」・「例外地名」に分類します。

  • 学習データ : 参考文献※1に提示された地名分類(177レコード、38分類)を参考に作成
  • 推定させるデータ : バス停名称(国土交通省※2より  8,064レコード)
               農業集落名称(農業集落データ※3より愛知県のみ 3,997レコード)
【参考文献、使用したデータ】
※1 河合真梨子、福和伸夫、護雅史、飛田潤:地震ハザードの説明力向上のための地名活用に関する研究:地形に由来する分類方法の提案と活用可能性の検討、日本建築学会構造系論文集74(636)、2009年、pp.409-416

※2 国土交通省 国土数値情報、バス停留所 より入手
※3 農林業センサス調査単位、総務省「e-Stat」より入手

「全部で1,2000レコードの文字列を、177レコードの分類表を使って38分類に仕分けする」
この作業を人間が実施したらどれほどの時間が必要かを考えると、プログラムにやらせたくなるのが人情です。もちろん、機械学習を使わなくても、簡単なスクリプトを組んだり、SQLで複雑な構文を駆使すれば、同様のことは実現できます。
しかし、分類のルールを変えて検証するなど、異なるデータセットを柔軟に適用していきたいので、ハードコーディングは行わず、あえて機械学習で解決してみます。

地名の分類

地形の分類(ラベル) 地名に含まれる漢字
軟弱 軟弱・みさき
軟弱・海岸・海 浜、洲、州、潟
軟弱・水辺 島、岸、淵、入、浦
軟弱・窪地
軟弱・河川 川、河、江、瀬、沢、渓、池、沼
軟弱・人工物 堤、橋、船、津、港、井、舟、堰、渠、田
軟弱・水辺の植物 萩、蓮、竹、蒲、荻、葦、管、芦
軟弱・農作物
軟弱・水鳥 鶴、鴻、鴨、鷺、鵜、鵠、鴇、鷭、鳰、雁
軟弱・水生生物 貝、亀、魚
軟弱・当て字 梅、須、須加、須賀、縁、渕、杁、露
軟弱・現象 潮、汐
軟弱・動作 渡、浅、深
軟弱・たまる 池、袋、湖、沼、淀、澱
軟弱・湧く 泉、井
軟弱・なみ 波、浪、潮、汐
軟弱・浜辺・干潟 浜、州、洲、須、潟、須賀、須加
軟弱・うみ 海、塩
軟弱・水際 淵、縁、渡、島、岸
軟弱・入江 磯、浦、湾、入、杁
軟弱・人工物 堤、橋、舟、船、津、港、湊
軟弱・水の状態 水、浅、深、澄、淡、流
軟弱・植物 芦、葦、蘆、管、蒲、萩、荻、蓮、藻、竹
軟弱・窪地 窪、凹、久保、坂下
軟弱・低湿地 谷、沢、洞、迫、渓、久手、泥
軟弱・低・下 低、下
軟弱・田地 田、野、原、代
軟弱・開墾 新開、墾、針、張、播、春、治
軟弱・農作物
良好 良好・山地 山、尾、根、岳、峰、嶽、嶺
良好・台地 岡、丘、台、坂上、阪上
良好・山の生物
良好・当て字 曽根、矢、久保、久手
良好・傾斜地 坂、阪、崎
良好・傾斜 坂、阪、段、乗越
良好・地質 岩、磐
良好・森林 森、林
例外地名 例外地名・例外地名 高、上、下

処理の流れ

1.学習用データの準備  漢字と地形の分類がペアになった、学習用のデータを作成します。

2.データの学習  作成した学習用のデータをJubatusに与え、学習を行います。
classifier_01.png

3.推定用データの準備  学習した内容に基づいて、分類させたいデータを作成します。

4.学習に基づく分類  2.の学習に基づいて、作成した推定用データを分類します。

5.結果の出力  4.の分類の結果を出力します。
classifier_02.png


Classifierを使った地名分類の結果

「軟弱」・「良好」に分類された場合、そのグループに属することの「確からしさの値」が付与されます。
この「確からしさの値」が"0"の場合、分類ルールに該当しなかったいうことになりますので、結果データから除去しておきます。

バス停名称の分類結果
classifier_03.png

農業集落名称(愛知県)の分類結果
classifier_04.png


Classifierを使った地名分類結果の活用

分類した結果が、どのように空間分布しているかを知るには、GISによる可視化が有益です。
今回は、地名から地盤の硬軟を推定しましたが、そのままでは単なる風評、噂話のレベルです。本当にやりたいのは、将来起こる地震で液状化被害が出そうかどうかを判断することですので、実際のボーリングデータN値との相関や、実際に、過去液状化被害があった集落(東日本大震災において大きな液状化被害が出た、千葉県など)の地名やN値との相関を評価する必要があります。下記の記事をご参考ください。

※詳細は 機械学習とデータ分析からリスクを検証 をご覧ください