SlideShare a Scribd company logo
1 of 31
Download to read offline
Redmine検索の 未来像 Powered by Rabbit 3.0.0
Redmine検索の
未来像
須藤功平 株式会社クリアコード
redmine.tokyo第17回
2019-11-02
Redmine検索の 未来像 Powered by Rabbit 3.0.0
Redmine検索の未来
全文検索プラグインhttps://github.com/clear-code/redmine_full_text_search
Redmine検索の 未来像 Powered by Rabbit 3.0.0
従来の検索システム
SQLの標準機能で実現
比較条件+LIKE
例:
プロジェクト絞り込み:等価条件
コメント検索:LIKE
Redmine検索の 未来像 Powered by Rabbit 3.0.0
未来の検索システム
全文検索エンジンで実現
全文検索だけでなく比較条件もすべて
例:
プロジェクト絞り込み:等価条件
コメント検索:全文検索
Redmine検索の 未来像 Powered by Rabbit 3.0.0
従来の検索システムの課題
速度とソート
Redmine検索の 未来像 Powered by Rabbit 3.0.0
速度
コメント増加→検索時間増加
検索への期待
すばやく必要な情報を見つけたい
遅いと期待に応えられない
Redmine検索の 未来像 Powered by Rabbit 3.0.0
ソート
更新時刻のみ
検索への期待
すばやく必要な情報を見つけたい
最新の情報≠必要な情報
必要な順にソートしないと
期待に応えられない
Redmine検索の 未来像 Powered by Rabbit 3.0.0
未来の検索システム
速度
コメント増加→検索時間超微増
すばやく必要な情報を見つけられる
ソート
更新時刻+適合度
すばやく必要な情報を見つけられる
Redmine検索の 未来像 Powered by Rabbit 3.0.0
未来の検索システムの改善点
高速さと高精度
Redmine検索の 未来像 Powered by Rabbit 3.0.0
未来の検索システムのさらなる改善点
検索対象を追加
クリックで絞り込めるUI
表現の揺らぎに対応
定量的な検索機能の評価基盤
Redmine検索の 未来像 Powered by Rabbit 3.0.0
検索対象を追加
メタデータ
ステータス・トラッカー・ユーザー・…
添付ファイル・リポジトリー内のファイル
PDF・オフィス文書からもテキスト抽出
アーカイブも展開して再帰的にテキスト抽出
Redmine検索の 未来像 Powered by Rabbit 3.0.0
メタデータで検索
Redmine検索の 未来像 Powered by Rabbit 3.0.0
クリックで絞り込めるUI
ユーザー:なにを探しているかわからない
検索システムとの対話の中で見つける
対話:検索結果+次のクエリーを提案
ユーザーと検索システムが一緒に答えを探す
提案されたクエリーで絞り込み
Redmine検索の 未来像 Powered by Rabbit 3.0.0
表現の揺らぎに対応
表現の揺らぎ:
同義語:ネジとビス
異表記:ネジと螺子
クエリー拡張:
検索前に自動でクエリーを拡張
ネジ→ネジ OR ビス OR 螺子
Redmine検索の 未来像 Powered by Rabbit 3.0.0
クエリー拡張:Groonga→Groonga OR PGroonga
Redmine検索の 未来像 Powered by Rabbit 3.0.0
表現の揺らぎのメンテナンス
手動はツライ。。。
誰がやるの?
いつやるの?
自動化しないと陳腐化
Redmine検索の 未来像 Powered by Rabbit 3.0.0
未来の検索システムでのメンテナンス
自動化中
Redmine検索の 未来像 Powered by Rabbit 3.0.0
自動化方法
既知の情報を収集
例:Wikipediaのリダイレクト情報
例:NEologdの情報
Redmine内の情報から学習
Redmine検索の 未来像 Powered by Rabbit 3.0.0
既知の情報を収集
メリット:楽
スクリプトを準備する予定
デメリット:
一般的な言い回ししか集まらない
ドメイン固有の言い回しがない
Redmine検索の 未来像 Powered by Rabbit 3.0.0
Redmine内の情報から学習
メリット:
ドメイン固有の言い回しに対応可
デメリット:
難しい
Redmine検索の 未来像 Powered by Rabbit 3.0.0
学習:検証中
テキスト情報を抽出
全文検索用に抽出した情報を活用
自然言語っぽいものだけ選別して行に分割
1.
SentencePieceでトークナイズ
MeCabだとドメイン固有の未知語に対応できない
2.
BERT/fastTextでベクトル化3.
類似単語を揺らぎとして抽出4.
Redmine検索の 未来像 Powered by Rabbit 3.0.0
学習:現状(伸びしろしかない)
Redmine検索の 未来像 Powered by Rabbit 3.0.0
定量的な検索機能の評価基盤
定性的な評価(例:インタビュー)
体感で速くなった!
体感で見つかりやすくなった!
定量的な評価(例:ログ分析)
利用ユーザーが○人
ユーザーが必要な情報を取得できた割合が○%
ログを追加し定量的な評価が可能に
Redmine検索の 未来像 Powered by Rabbit 3.0.0
定量的な評価基盤:現状
Railsのログに記録
スクリプトでログを解析してレポート
Redmine検索の 未来像 Powered by Rabbit 3.0.0
定量的な評価基盤:未来
RDBMSに記録
管理画面でリアルタイムにレポート
未来の検索システムの
近い未来
Redmine検索の 未来像 Powered by Rabbit 3.0.0
さらなる高速化
常に1秒未満を目指す
検索システムとの対話ストレスをなくす
インクリメンタル検索も現実的に
パカパカしてうるさいかもしれない
Googleはこの機能を捨てた
定量的な評価をしながら取捨選択する予定
Redmine検索の 未来像 Powered by Rabbit 3.0.0
入力補完
入力中にクエリーを提案
Googleはこの機能にシフトした
課題:良質な補完候補の用意
Wikipediaなど一般的なデータを活用
Redmine内のデータから機械学習で生成
極秘データの扱いに注意が必要
Redmine検索の 未来像 Powered by Rabbit 3.0.0
テキスト抽出可能ファイルの追加
.msg(Outlookのファイル)
SVGファイル
CADファイル
...
Redmine検索の 未来像 Powered by Rabbit 3.0.0
Redmine検索の未来
全文検索プラグインhttps://github.com/clear-code/redmine_full_text_search
Redmine検索の 未来像 Powered by Rabbit 3.0.0
一緒に未来を作ろう!
仕事として一緒に開発
あなた:お金と要望とデータを提供
クリアコード:開発・コンサルティング
成果は自由なソフトウェアとして公開
連絡先
https://www.clear-code.com/contact/

More Related Content

Similar to Redmine検索の未来像

IBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようIBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようTakuji Kawata
 
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームEdge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームIoTビジネス共創ラボ
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へDevelopers Summit
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLINE Corporation
 
クラウドだから手を付けやすい AI への道
クラウドだから手を付けやすい AI への道クラウドだから手を付けやすい AI への道
クラウドだから手を付けやすい AI への道Daiyu Hatakeyama
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
Redmine plugin ハンズオン
Redmine plugin ハンズオンRedmine plugin ハンズオン
Redmine plugin ハンズオンHaruyuki Iida
 
AWS上でのWebアプリケーションデプロイ
AWS上でのWebアプリケーションデプロイAWS上でのWebアプリケーションデプロイ
AWS上でのWebアプリケーションデプロイAmazon Web Services Japan
 
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift UpdateAmazon Web Services Japan
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by 丹田 賢
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by  丹田 賢インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by  丹田 賢
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by 丹田 賢CODE BLUE
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on AzureDaiyu Hatakeyama
 
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティングFRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティングYasunari Goto (iChain. Inc.)
 
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Web Services Japan
 
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼうJAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼうHiroki Uchida
 
Long Life Web Performance Optimization
Long Life Web Performance OptimizationLong Life Web Performance Optimization
Long Life Web Performance OptimizationKoji Ishimoto
 
接触確認アプリCOCOAの技術解説
接触確認アプリCOCOAの技術解説接触確認アプリCOCOAの技術解説
接触確認アプリCOCOAの技術解説Masuda Tomoaki
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Hitoshi Kurokawa
 
Firebase, Firestore Extension for Elastic App Search Integration-20220216
Firebase, Firestore Extension for Elastic App Search Integration-20220216Firebase, Firestore Extension for Elastic App Search Integration-20220216
Firebase, Firestore Extension for Elastic App Search Integration-20220216Shotaro Suzuki
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 日本マイクロソフト株式会社
 

Similar to Redmine検索の未来像 (20)

IBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみようIBM Blluemix を Pepper とつないでみよう
IBM Blluemix を Pepper とつないでみよう
 
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォームEdge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
Edge から Cloud, Beginner から Professional までサポートする Azure AI プラットフォーム
 
【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ【18-C-4】Google App Engine - 無限の彼方へ
【18-C-4】Google App Engine - 無限の彼方へ
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
 
クラウドだから手を付けやすい AI への道
クラウドだから手を付けやすい AI への道クラウドだから手を付けやすい AI への道
クラウドだから手を付けやすい AI への道
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
Redmine plugin ハンズオン
Redmine plugin ハンズオンRedmine plugin ハンズオン
Redmine plugin ハンズオン
 
AWS上でのWebアプリケーションデプロイ
AWS上でのWebアプリケーションデプロイAWS上でのWebアプリケーションデプロイ
AWS上でのWebアプリケーションデプロイ
 
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by 丹田 賢
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by  丹田 賢インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by  丹田 賢
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by 丹田 賢
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure
 
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティングFRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
FRT Vol. 5 クラウド時代の企業アプリケーションとマーケティング
 
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
 
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼうJAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
JAWS-UG 初心者支部 #31 監視編 サーバーのモニタリングの基本を学ぼう
 
Long Life Web Performance Optimization
Long Life Web Performance OptimizationLong Life Web Performance Optimization
Long Life Web Performance Optimization
 
接触確認アプリCOCOAの技術解説
接触確認アプリCOCOAの技術解説接触確認アプリCOCOAの技術解説
接触確認アプリCOCOAの技術解説
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
 
Firebase, Firestore Extension for Elastic App Search Integration-20220216
Firebase, Firestore Extension for Elastic App Search Integration-20220216Firebase, Firestore Extension for Elastic App Search Integration-20220216
Firebase, Firestore Extension for Elastic App Search Integration-20220216
 
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ 【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
 

More from Kouhei Sutou

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowKouhei Sutou
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Kouhei Sutou
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowKouhei Sutou
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアKouhei Sutou
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかKouhei Sutou
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataKouhei Sutou
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataKouhei Sutou
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Kouhei Sutou
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroongaKouhei Sutou
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Kouhei Sutou
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムKouhei Sutou
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!Kouhei Sutou
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版Kouhei Sutou
 

More from Kouhei Sutou (20)

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのか
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory data
 
Apache Arrow 2019
Apache Arrow 2019Apache Arrow 2019
Apache Arrow 2019
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroonga
 
My way with Ruby
My way with RubyMy way with Ruby
My way with Ruby
 
Red Data Tools
Red Data ToolsRed Data Tools
Red Data Tools
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
 

Recently uploaded

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (10)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Redmine検索の未来像

  • 1. Redmine検索の 未来像 Powered by Rabbit 3.0.0 Redmine検索の 未来像 須藤功平 株式会社クリアコード redmine.tokyo第17回 2019-11-02
  • 2. Redmine検索の 未来像 Powered by Rabbit 3.0.0 Redmine検索の未来 全文検索プラグインhttps://github.com/clear-code/redmine_full_text_search
  • 3. Redmine検索の 未来像 Powered by Rabbit 3.0.0 従来の検索システム SQLの標準機能で実現 比較条件+LIKE 例: プロジェクト絞り込み:等価条件 コメント検索:LIKE
  • 4. Redmine検索の 未来像 Powered by Rabbit 3.0.0 未来の検索システム 全文検索エンジンで実現 全文検索だけでなく比較条件もすべて 例: プロジェクト絞り込み:等価条件 コメント検索:全文検索
  • 5. Redmine検索の 未来像 Powered by Rabbit 3.0.0 従来の検索システムの課題 速度とソート
  • 6. Redmine検索の 未来像 Powered by Rabbit 3.0.0 速度 コメント増加→検索時間増加 検索への期待 すばやく必要な情報を見つけたい 遅いと期待に応えられない
  • 7. Redmine検索の 未来像 Powered by Rabbit 3.0.0 ソート 更新時刻のみ 検索への期待 すばやく必要な情報を見つけたい 最新の情報≠必要な情報 必要な順にソートしないと 期待に応えられない
  • 8. Redmine検索の 未来像 Powered by Rabbit 3.0.0 未来の検索システム 速度 コメント増加→検索時間超微増 すばやく必要な情報を見つけられる ソート 更新時刻+適合度 すばやく必要な情報を見つけられる
  • 9. Redmine検索の 未来像 Powered by Rabbit 3.0.0 未来の検索システムの改善点 高速さと高精度
  • 10. Redmine検索の 未来像 Powered by Rabbit 3.0.0 未来の検索システムのさらなる改善点 検索対象を追加 クリックで絞り込めるUI 表現の揺らぎに対応 定量的な検索機能の評価基盤
  • 11. Redmine検索の 未来像 Powered by Rabbit 3.0.0 検索対象を追加 メタデータ ステータス・トラッカー・ユーザー・… 添付ファイル・リポジトリー内のファイル PDF・オフィス文書からもテキスト抽出 アーカイブも展開して再帰的にテキスト抽出
  • 12. Redmine検索の 未来像 Powered by Rabbit 3.0.0 メタデータで検索
  • 13. Redmine検索の 未来像 Powered by Rabbit 3.0.0 クリックで絞り込めるUI ユーザー:なにを探しているかわからない 検索システムとの対話の中で見つける 対話:検索結果+次のクエリーを提案 ユーザーと検索システムが一緒に答えを探す 提案されたクエリーで絞り込み
  • 14. Redmine検索の 未来像 Powered by Rabbit 3.0.0 表現の揺らぎに対応 表現の揺らぎ: 同義語:ネジとビス 異表記:ネジと螺子 クエリー拡張: 検索前に自動でクエリーを拡張 ネジ→ネジ OR ビス OR 螺子
  • 15. Redmine検索の 未来像 Powered by Rabbit 3.0.0 クエリー拡張:Groonga→Groonga OR PGroonga
  • 16. Redmine検索の 未来像 Powered by Rabbit 3.0.0 表現の揺らぎのメンテナンス 手動はツライ。。。 誰がやるの? いつやるの? 自動化しないと陳腐化
  • 17. Redmine検索の 未来像 Powered by Rabbit 3.0.0 未来の検索システムでのメンテナンス 自動化中
  • 18. Redmine検索の 未来像 Powered by Rabbit 3.0.0 自動化方法 既知の情報を収集 例:Wikipediaのリダイレクト情報 例:NEologdの情報 Redmine内の情報から学習
  • 19. Redmine検索の 未来像 Powered by Rabbit 3.0.0 既知の情報を収集 メリット:楽 スクリプトを準備する予定 デメリット: 一般的な言い回ししか集まらない ドメイン固有の言い回しがない
  • 20. Redmine検索の 未来像 Powered by Rabbit 3.0.0 Redmine内の情報から学習 メリット: ドメイン固有の言い回しに対応可 デメリット: 難しい
  • 21. Redmine検索の 未来像 Powered by Rabbit 3.0.0 学習:検証中 テキスト情報を抽出 全文検索用に抽出した情報を活用 自然言語っぽいものだけ選別して行に分割 1. SentencePieceでトークナイズ MeCabだとドメイン固有の未知語に対応できない 2. BERT/fastTextでベクトル化3. 類似単語を揺らぎとして抽出4.
  • 22. Redmine検索の 未来像 Powered by Rabbit 3.0.0 学習:現状(伸びしろしかない)
  • 23. Redmine検索の 未来像 Powered by Rabbit 3.0.0 定量的な検索機能の評価基盤 定性的な評価(例:インタビュー) 体感で速くなった! 体感で見つかりやすくなった! 定量的な評価(例:ログ分析) 利用ユーザーが○人 ユーザーが必要な情報を取得できた割合が○% ログを追加し定量的な評価が可能に
  • 24. Redmine検索の 未来像 Powered by Rabbit 3.0.0 定量的な評価基盤:現状 Railsのログに記録 スクリプトでログを解析してレポート
  • 25. Redmine検索の 未来像 Powered by Rabbit 3.0.0 定量的な評価基盤:未来 RDBMSに記録 管理画面でリアルタイムにレポート
  • 27. Redmine検索の 未来像 Powered by Rabbit 3.0.0 さらなる高速化 常に1秒未満を目指す 検索システムとの対話ストレスをなくす インクリメンタル検索も現実的に パカパカしてうるさいかもしれない Googleはこの機能を捨てた 定量的な評価をしながら取捨選択する予定
  • 28. Redmine検索の 未来像 Powered by Rabbit 3.0.0 入力補完 入力中にクエリーを提案 Googleはこの機能にシフトした 課題:良質な補完候補の用意 Wikipediaなど一般的なデータを活用 Redmine内のデータから機械学習で生成 極秘データの扱いに注意が必要
  • 29. Redmine検索の 未来像 Powered by Rabbit 3.0.0 テキスト抽出可能ファイルの追加 .msg(Outlookのファイル) SVGファイル CADファイル ...
  • 30. Redmine検索の 未来像 Powered by Rabbit 3.0.0 Redmine検索の未来 全文検索プラグインhttps://github.com/clear-code/redmine_full_text_search
  • 31. Redmine検索の 未来像 Powered by Rabbit 3.0.0 一緒に未来を作ろう! 仕事として一緒に開発 あなた:お金と要望とデータを提供 クリアコード:開発・コンサルティング 成果は自由なソフトウェアとして公開 連絡先 https://www.clear-code.com/contact/