Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JJUG CCC 2014 ATL

2,256 views

Published on

JJUG CCC で ATL における Java プラットフォームの活用に関する取り組みについてお話しました。

Published in: Software
  • Be the first to comment

JJUG CCC 2014 ATL

  1. 1. ATLにおける Javaプラット フォーム活用 株式会社リクルートテクノロジーズ 伊藤 敬彦 1
  2. 2. 自己紹介 名前:伊藤敬彦 Twitter アカウント: takahi_i 所属:株式会社リクルートテ クノロジーズ ATL 専門分野:データマイニング, グラフ,情報検索 2
  3. 3. ATL? 正式名称:Advanced Technology Lab リクルートテクノロジーズにおける R&D 組織 技術のネタをいかに上手く探し(創り)、試し、 ソリューションに仕立てるか?を追求する 3
  4. 4. ATLにおけるJava プラット フォーム ATL では Java プラットフォームを利用した多く の OSS プロジェクトを活用 OSS プロジェクトについて三つの活動(検 証,貢献,公開)を行っている 本発表では,OSS に関する三つの活動の具体例 を紹介する 4
  5. 5. 事例:Java OSS を利用し た活動 検証:Storm, Kafka, ElasticSearch, UIMA etc.. 貢献:Apache Spark 公開:自動文書検査ツール RedPen 5
  6. 6. 事例:Java OSS を利用し た活動 検証:Storm, Kafka, ElasticSearch, UIMA etc.. 貢献:Apache Spark 公開:自動文書検査ツール RedPen 6
  7. 7. 例: Apache UIMA 情報抽出ツール IBM が開発した質問応答システム,ワトソンで利用 実績 情報の抽出をステージのパイプラインで記述できる 多様な情報を抽出する際に各抽出処理を疎なコンポー ネント群として開発できる 7
  8. 8. 導入: Apache UIMA 実サービスで Apache UIMA を稼働した UIMA を搭載したシステムは LINE 公式アカウン ト “パン田一郎” で利用されている 8
  9. 9. パン田一郎 リクルートジョブズが運営 する『fromA navi』の キャラクタ 最近 LINE の公式アカウン トとなる 友人数:800万人以上 ATL が対話システムを実装 9
  10. 10. LINE アカウント パン田一郎 対話を通じて三つの機能を提供す る 機能① 雑談 機能② バイト探し 機能③ バイト生活サポート シフト通知,天気 10
  11. 11. デモ 雑談,天気,アルバイト検索 11
  12. 12. UIMA の利用箇所? 入力文からの情報抽出 例:新宿のアルバイトを 教えて? 抽出: 場所:新宿 意図:バイトを探す 12
  13. 13. 事例:Java OSS を利用し た活動 検証:Storm, Kafka, ElasticSearch, UIMA etc.. 貢献:Apache Spark 公開:自動文書検査ツール RedPen 13
  14. 14. Apache Spark? 大規模データ処理を行うフレームワーク Hadoop に比べて 10~100倍高速な処理 Scala で記述 14
  15. 15. Apache Spark エコシステ ム Spark Core の上にいく つものフレームワークが 存在する. ATL は MLib とよばれる コンポーネントに貢献. 15
  16. 16. MLlib Spark 上で動作する機械学習ライブラリ 分類: Logistic Regression, Naïve Bayes クラスタリング: K-means レコメンド: ALS … 16
  17. 17. Apache Spark へのコミッ ト 様々な手法を実装しマージされる • 階層型クラスタリング • 距離関数群 • ブートストラップ • KNN • Canopy Clustering 17
  18. 18. 事例:Java OSS を利用し た活動 検証:Storm, Kafka, ElasticSearch, UIMA etc.. 貢献:Apache Spark 公開:自動文書検査ツール RedPen 18
  19. 19. RedPen? 自動文書検査ツール 実装言語:Java 機能:フォーマットや可読性についての問題を自動 で検査 URL: http://redpen.cc ソース:https://github.com/recruit-tech/redpen 19
  20. 20. 例: 問題箇所を含む文書 最近利用されているソフトウェアの中には複数の計算機上で動作(分 散)するものが多く存在し、このような分散ソフトウェアは複数の計 算機で動作することで大量のデータを扱えたり、高負荷な状況に対処 できたりします。本稿では,複数の計算機(クラスタ)で動作する各サー バーを「インスタンス」と呼びます。たとえば検索エンジンやデータ ベースではインデックスを複数のインスタンスで分割して保持します。 このような場合、各インデクスの結果をマージしてクライアントプロ グラムに渡す機構が必要となります。 20
  21. 21. 例: 問題箇所を含む文書 最近利用されているソフトウェアの中には複数の計算機上で動作(分 散)するものが多く存在し、このような分散ソフトウェアは複数の計 算機で動作することで大量のデータを扱えたり、高負荷な状況に対処 できたりします。本稿では,複数の計算機(クラスタ)で動作する各サー バーを「インスタンス」と呼びます。たとえば検索エンジンやデータ ベースではインデックスを複数のインスタンスで分割して保持します。 このような場合、各インデクスの結果をマージしてクライアントプロ グラムに渡す機構が必要となります。 21 文が長い コンマのフォーマット 単語の不一致
  22. 22. RedPen の特徴 柔軟な設定 言語非依存 複数のフォーマットに対応: Markdown, Textile 拡張性 ソースを公開している(簡単に機能を追加できる) 研究成果を取り込むのが容易 22
  23. 23. RedPen の使い方 ユーザは検査する項目を設定ファイルに追加する 検査する項目は提供される機能集合の中から選 択する 設定ファイルを引数にして実行する 23
  24. 24. 例:RedPen の設定 <validators lang=“ja”> <validator name=“SentenceLength" /> <validator name="InvalidSymbol" /> <validator name="KatakanaSpellCheck" />  <validator name=“SectionLength” /> </validators> 24 文長 不正な文字 スペルチェック
  25. 25. コマンド redpen コマンドを利用して実行する $ redpen -c 設定ファイル 入力文書 ! 入力フォーマット: Markdown、Textile、 PlainText 25
  26. 26. RedPen: サンプルサーバ URL: http://redpen.herokuapp.com/ Heroku Button もついた https://github.com/recruit-tech/redpen/ 簡単デプロイへ 注:現状のサーバは設定が簡単にできない(鋭意開発中) 26
  27. 27. RedPen と CI(継続的イン テグレーション) CI環境で利用できない か実験 右図:GitHub で文書 の変更をPush ➔ WerkerCI がエラー箇 所を報告 27
  28. 28. RedPen の今後 サービスを強化 指定した URLの文書チェックを行う CI との連動を目指す 設定の簡素化:使用文字の自動検知 よりリッチな言語解析へ! 品詞情報,構文情報を利用した文書チェック 28
  29. 29. 適用先 社内での適用先を模索 アルバイトや転職の履歴書(レジュメ)の検査に 適用できるか..? 29
  30. 30. 現在 技評 (http://gihyo.jp/) で RedPen について連載開始. ご一読よろしくお願いします! 30
  31. 31. まとめ:ATL と Java 現在,多様な活動を Java プラットフォーム上で 行っている. 今後も Java プラットフォームで多くの活動をお 行う予定! 31
  32. 32. ご静聴ありがとうございました. 32

×