はじめてのセマンティックサーチ導入セミナー
P01 表紙
はじめてのセマンティックサーチ導入セミナー
2022年8月17日 株式会社ロンウイット
関口宏司
P02 セマンティックサーチ*1
(*1:ニューラルサーチやベクトル検索などと呼ばれることもあります。本書ではセマンティックサーチで統一します)
人が理解するのと同じように検索エンジンがテキスト・画像・動画・音声データを理解して高速に検索できる
P03 内容
- デモ
- セマンティックサーチの応用例
- キーワード検索との比較
- キーワード検索の限界とセマンティックサーチによる改善
- キーワード検索との技術比較
- Semantic vs. Bag-of-Words
- Sparse vs. Dense
- Boolean vs. ANN Vector
- 他社製検索エンジンの「セマンティック検索」との比較
- キーワード検索の今後
- まとめ
- セマンティックサーチ・スタートアップ・パッケージのご案内
P04 セマンティックサーチデモのご紹介*1
(*1: デモのリンクは本日現在のものです。今後予告なく移動する可能性があります。)
P05 デモご利用上の留意点
- 「日本一高い山」とセマンティックサーチをして「富士山」を含む文書がヒットしないからといってセマンティックサーチが動いていないというのは誤り。「富士山」をメインテーマにしている文書がないとそもそも適切な文書はヒットしない。デモはTOP-Kを常に表示している。
- コーパスの収集時期にも注意
- Livedoorニュースコーパス:2012年9月
- HuffPost News Category Dataset:2012〜2018年
- クエリ例と結果
- Livedoorニュースコーパス
- 「コロナ禍」⇒コンピューターウイルスや災害の記事がヒット
- 「ツイッター」⇒FacebookやSNS、Twitterの記事がヒット
- 類似画像検索
P06 セマンティックサーチの応用例(1)*1
(*1: 下記のアプリがセマンティックサーチを使って実現されているかどうかは不明です。)
- Amazonの書籍画像検索
- 書店で見つけた本を購入する前にAmazonアプリでスター数やフィードバックを確認する。
- Shazam
- 街中で流れている曲をスマホのマイクで拾って曲名を特定する。
P07 セマンティックサーチの応用例(2)
- ECサイト
- 街中で見た商品を写真に撮って、普段使っているECサイトで写真から商品を検索して購入
- チャットボット
- ドメイン特有のキーワードを知らないユーザーでも、ズバリの答え(FAQリンク等)を探し当てやすくなる ⇒ 利用者のイライラを解消
- 辞書・慣用句・ことわざなどの表現検索
- 書き物をしている際、表現したいことを端的に記述する慣用句などを検索
- (クエリ例)「当人より冷静な周りの人の方が状況判断できる」
⇒「岡目八目」:第三者は当事者よりも情勢が客観的によく判断できるということ。〔人の碁をわきから見ていると,打っている人より八目も先まで手が読めるということから〕
- 社内知識共有/ナレッジマネジメント
- 従来型のキーワード検索では実現できない検索が実現可能(次ページ参照)
P08 ナレッジマネジメント(企業内検索システム)の限界
生命保険会社よりヒアリング
- 調べたいこと:「損金を計上するメリットとは?」
- 現状のキーワード検索だと、「損金」「計上」「メリット」というキーワードで検索することになる。 ⇒ キーワードをバラバラに含む文書が多数ヒットして、探したいものが見つからない。
… … … … … … … メリット … … … … … … …。… … … … … …… … … … … … …… … … … … … …… … … … … … … 損金 … … 。 … … … …… … … … … … …… … … … … … …… … … … … … … … … … … … … …… … … … … … …… … … … … … …。 … … … … … …… … … … … … …… … … … … … …… … … … … … … 計上 … … 。 …
- 調べたいこと:「契約者と被保険者が別人の時の保全の手続き」
- 調べたいこと:(年齢によって異なる)「30歳の本人確認書類」
P09 セマンティックサーチでナレッジマネジメントを改善
- 調べたいこと:「損金を計上するメリットとは?」と入力すれば、そのものズバリの答えが載っている文書が上位表示される。
- 調べたいこと:「契約者と被保険者が別人の時の保全の手続き」も同様に検索してズバリの回答を得られる。
- 調べたいこと:(年齢によって異なる)「30歳の本人確認書類」
- 「20歳以上の本人確認書類はXXX」
- 「合わせて読みたい」(レコメンド)⇒「14歳以下はXXX」「15歳以上20歳未満はXXX」
- 適切なアプリケーションにセマンティックサーチを適用すれば、調べ物の時間を大幅に改善できる。
P10 従来型のキーワード検索との比較
- 従来のキーワード検索では文書に含まれるキーワードを入力しないと検索できない
- ある程度業務ドメインの知識がないと検索できない
- ドメイン知識があっても、同じ意味を持つキーワードは複数存在するので、類義語辞書のメンテナンスが欠かせない
- セマンティックサーチでは必ずしもクエリのキーワードはヒットする必要がない
- 業務ドメインの知識がなくても、調べたいことを自分なりの表現にすれば検索できる
- (例)ECサイトで「机を組み立てるのに必要な工具」
- (例)辞書・慣用句・ことわざを調べるのに、意味から調べられる
- (例)法令・判例検索システムを法科大学院の学生や新人の判事・検事・弁護士の研修に用いる
- コーパス収集時期とクエリ時期が離れていても検索できる
- 従来のキーワード検索における検索性能*1を向上させるための施策
- 文字等さまざまな正規化
- 形態素解析と文字N-gramの使い分けや組み合わせ
- キーワードの表記揺れ対策やシノニム定義
- フィールドの重み付け
- クエリサジェスチョン etc.
- セマンティックサーチは上記従来テクニックを一切不要にする破壊的な技術
*1: 情報検索における精度(Precision)と再現率(Recall)のことを指します。
P11 従来型のキーワード検索との比較(技術要素)
P12 技術要素比較:Bag-of-Words vs. Semantic
- Bag-of-Words: 各単語が何回文書に出現したか。語順、文の構造などは文書に現れない。Tokenizer。
- Semantic: 検索対象(テキスト・画像等)の意味を考慮したベクトル表現を用いる。ニューラルネットワーク。
P13 技術要素比較:Sparse vs. Dense
- 従来型のキーワード検索では、1単語をベクトル空間の1次元に対応させる。
- コーパスの単語種類数がベクトル空間の次元数となるので、検索対象文書とクエリとも、多くの要素が0(ゼロ)となるベクトルで表現される
⇒ Sparse(疎) Vector
- セマンティックサーチでは、クエリや文書の意味・意図を固定次元のベクトルで表現する。
- 上記と比べて低次元の、ほとんど全ての要素が0(ゼロ)でないベクトルで表現される。⇒ Dense(密) Vector
P14 技術要素比較:Boolean vs. ANN Vector
- Boolean: 転置インデックスを右図のようなアルゴリズムで探索し、ヒットした文書集合をBM25などのスコア関数を用いてクエリとの類似度順にソートして返却
- ANN Vector: 全文書に対してスコア計算(内積やコサインなど)を行うわけにいかないので、近似最近傍探索(ANN)を行い、得られた限定的な文書セットについてスコア計算を行い、TOP-Kの文書を返却
P15 他社製検索エンジンの「セマンティック検索」との比較
- 他社製検索エンジンの「セマンティック検索」は、従来型のキーワード検索技術の上に構文解析・意味解析を付加したもの。そのため、
- 検索対象はテキストのみ。
- 文書の意味を理解しているわけではない。
- 結局はキーワードが当たらないとヒットしない。
- (再現率ではなく)精度向上の補助的施策にすぎない。
- キーワードが構文解析ウインドウの外にあると太刀打ちできない。
- ヒューリスティクス。(類義語辞書登録のように切りがない)
- ロンウイットのセマンティックサーチは、「人が理解するようにテキスト・画像・動画・音声データを検索エンジンが理解し、検索できる」ので、
- キーワードがヒットしなくても、調べたいことの意味が記述されていればヒットする。
- 検索対象はテキストに限らない。ベクトル化できればあらゆるものが検索可能。
- テキストクエリで画像を検索したり(またはその逆)できる。
(注)構文木の図は英語の場合です。日本語の場合は係り受け解析等が行われます。
P16 今後キーワード検索はどうなる?
- キーワードを含む文書を探したいユーザーのために今後も使われ続ける
- (例)当該業務ドメインに詳しい利用者が使う検索システム
- (例)著者名による書誌検索、会社名検索、製品名検索
- セマンティックサーチとのハイブリッドシステムで使われる
- キーワード検索をAIを使ってより良くする工夫も健在
- 類義語辞書自動生成
- 専門用語抽出
- 固有表現抽出からの新たなファセット軸提供
- 言語モデル等によるスマートなクエリサジェスチョン
- アノテーション
- ハイパーパラメーター探索
- ランキング学習
P17 ここまでのまとめ
ポイント ①
- セマンティックサーチは、従来のキーワード検索で検索性能向上のために必要だったテクニックを、一切不要にする破壊的な技術
ポイント ②
- セマンティックサーチは、検索対象をベクトル化できれば、テキストに限らず検索対象とすることができる。テキスト・画像・動画・音声の相互検索が可能
ぜひお客様のデータで試して、セマンティックサーチの効果を実感してください!
P18 セマンティックサーチ・スタートアップ・パッケージ
P19 セマンティックサーチ スタートアップ・パッケージのご案内
- セマンティックサーチを初めて試してみたいという会社様向けサービス
- 自社の業務データにセマンティックサーチが役立つのか知りたい
- 新しいビジネスアイディアの投資判断
- PoC
- ロンウイットのAI技術者が担当
- 作業期間9〜10月のうち、着手から5日間で納品
- 価格:50万円(税別)
- パッケージに含まれるもの*1
- 要件ヒアリング
- 着手初月KandaSearch利用料(翌月から請求が発生します)
- 着手日から10日間のWebApp利用料*2
- ベクトル化モデル、ベクトル化データ(数万件以内を想定)、WebAppソースコード(キーワード検索+セマンティックサーチ or 画像検索)
*1: 上記条件に沿わない場合は別途お見積もりいたします。お気軽にご相談ください。
*2: 11日目以降継続利用の場合は、実費(為替レート1円単位繰り上げ/136円/$⇒140円/$)および事務手数料(10%)を請求させていただきます。
P20 スタートアップ・パッケージ システム構成
検索WebApp
↓
↓(接続元IP制限)
↓
WebApp - ベクトル化モデル
↓
↓ q=[ベクトル化データ]
↓
KandaSearch*2 - Solrインデックス
1: HerokuまたはDigital Oceanを想定しています。 2: Mediumサイズ以上を推奨します。
P21 お申し込み〜納品・検証までのフロー
(お客様⇒弊社)
セマンティックサーチ・スタートアップ・パッケージお申し込み。
↓
(弊社⇒お客様)
対象データやアプリケーション要件をヒアリング。*1
↓
(お客様⇒弊社)
弊社指定環境に対象データをアップロード。
KandaSearch内に検索プロジェクト作成。
↓
(弊社)
モデル作成。ベクトルデータの最適化。WebApp構築。
↓
(お客様)
結果検証。プロジェクト継続判断。*2
↓
本格的な業務適用。
プロジェクトを開始。
1: 不適合と判断する場合があります。 2: 「継続しない」をご選択いただけます。
P22 検索アプリケーション開発*1はお任せください!
ロンウイットでは、検索アプリケーション開発をワンストップで承ることができます。以下の技能を持ったタレントが皆様をお待ちしております!
- PM
- Webアプリケーション+データベース
- React、JavaScript
- セキュリティ、ユーザー認証(二要素認証、ソーシャルログイン等)
- 検索エンジン
- スキーマ設計
- 従来型キーワード検索、セマンティックサーチ、類似画像検索
- AI/深層学習、NLP、画像処理
- DevOps
*1: これまではコンサルティングサービスのみでしたが、昨年度より受託開発を承っております。
P23 Q&Aアンケート