Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sansanデータ分析コンテスト第2位入賞 kanosuke様

Da27897cf9361055a13f899b7c9eb06f?s=47 sansan_rd
October 31, 2016

Sansanデータ分析コンテスト第2位入賞 kanosuke様

『人工知能は名刺をどこまで解読できるのか』
2016年8月8日~9月30日まで行われた、データ分析コンテスト第2位を獲得されたkanosuke様の手法です。

http://jp.corp-sansan.com/lp/data-sientist-c.html

Da27897cf9361055a13f899b7c9eb06f?s=128

sansan_rd

October 31, 2016
Tweet

Transcript

  1. kanosuke_model OCR+textmining+xgb+dl # 0.00045 kanosuke

  2. @kanosuke 会社員 ネイチャーインサイト株式会社 SASを使用したシステム開発 得意言語 R kaggle competitions expert silver

    1 bronze 1
  3. コンペ参加における自分なりのテーマ 分析マシンが限界か?検証 4年前に3万円で構築したスペックの低いPC python, 自然言語処理の技術向上 画像認識・deep learningの経験なし、試してみたい 巷で話題のxgb+deep learningを試してみたい 賞金がほしい

  4. 使用ツール 1. OCR: tesseract-ocr 2. mecab 3. R 4. python

  5. データ探索 1. レンジ変数(left, top ・・・) a. trainデータでは良く効く / test(リーダーボード)では効かない b.

    train vs test の識別モデルを構築、レンジ変数だけでROCが0.9を大幅に超える c. 効果× むしろ入れるとスコアが下がる 2. OCR+テキストマイニング a. 単語抽出、マルチバイト文字抽出 b. 効果◎ 3. カットオフ
  6. 特徴量作成 1. 重要単語フラグ a. OCR ⇒ 分かち書き ⇒ DTM ⇒

    xgboost ⇒ importance確認 2. マルチバイト文字フラグ a. OCR ⇒ マルチバイト文字抽出 3. HOG特徴量 a. チュートリアルで提供されているHOG特徴量
  7. モデル構築:xgboost 特徴量別にモデル構築(特徴量別に作成しているのはマシンスペックの問題による) 1. y ~ 重要単語フラグ 2. y ~ マルチバイト文字フラグ

    3. y ~ HOG特徴量 y : company, name, ・・・ ラベル別に9パターン 各特徴量(3種類)×ラベル数(9ラベル)の27モデルを構築
  8. モデル構築:deep learning これは、サイトで紹介していただいたものをほぼそのまま 後述するモデルブレンド時にオーバーフィッティングしない様に改造した程度

  9. モデル構築:ブレンド(スタッキング) xgboost : 単語 xgboost : 文字 xgboost : HOG

    Deep Learning xgboost : ブレンド
  10. カットオフ、名詞単位ルール、サブミットデータ 1. ブレンドモデルの予測値 2. カットオフ値による01変換 (9種類のラベル別にカットオフ値を設定) 3. 名詞単位ルールによりフラグ立て or フラグ削除

    4. サブミットデータ完成
  11. 楽しいコンペで勉強にもなってとても有意義でした。 ありがとうございました。