O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

JJUG CCC 2014 ATL

2.357 visualizações

Publicada em

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

Publicada em: Software
  • Entre para ver os comentários

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

×