Slide 1

Slide 1 text

検 索 改 善 こ と は じ め 2 0 2 4 年 1 月 2 6 日 集え若手!エンジニア・デザイナー 交流LT会 2024.01.26 Kazuhito Nakayama

Slide 2

Slide 2 text

想定リスナー 検索周りそんなに触ったことない人 理想状態 「検索改善」と聞いてイメージが沸く状態 i n t r o

Slide 3

Slide 3 text

自 己 紹 介

Slide 4

Slide 4 text

👴 25歳 自 己 紹 介 K a z u h i t o N a k a y a m a 社会人3年目 🏠 川崎の溝の口エリアに住んでます 🖊️ 主にバックエンド(Ruby)が多いで すが、全般的にやってます 💻 GMOペパボ minne事業部 Web屋 🥦 ベジタリアン

Slide 5

Slide 5 text

自 己 紹 介

Slide 6

Slide 6 text

01 受 託 開 発 論 文 検 索 エ ン ジ ン の バ ッ ク エ ン ド バ ッ チ 屋 さ ん 02 2 C S t a r t u p ヴ ィ ー ガ ン の 方 向 け の レ シ ピ サ イ ト - - - - E C サ イ ト - - - - メ デ ィ ア サ イ ト 03 現 職 m i n n e の W e b 屋 さ ん 選 考 プ ロ セ ス

Slide 7

Slide 7 text

想定リスナー 検索周りそんなに触ったことない人 理想状態 「検索改善」と聞いてイメージが沸く状態 改 め て

Slide 8

Slide 8 text

E l a s t i c s e a r c h を 使 っ て 検 索 機 能 を 実 装 し て い る 前 提 Elasticsearchは全文検索エンジン 【全文検索って何?】 全文検索とは、複数の文書(ファイル)から特定の文字列(キーワ ード)を検索する技術を指します。「全文」は「全て」の「文字」 という意味であり、文書(ファイル)に含まれるすべての文字情報 を対象として検索するので「全文検索」と呼ばれます。

Slide 9

Slide 9 text

商品名 ネコがいる赤いお家 スノードームのような冬の星 商品説明欄 スノードームのようにキラキラと流れ輝くハードシェルリキッドグリ ッターケースです ⭐✨ 雪景色と動物達の幻想的な世界 ❄️ 作品名の通 り冬の星空には雪の結晶も描かれており、細かなところまで拘ったオ リジナルグラフィックになっています。 タグ #スノードーム #冬 例 え ば

Slide 10

Slide 10 text

逐 次 検 索 作 品 型 検 索 検 索 の 種 類 01. 02.

Slide 11

Slide 11 text

1 件 ず つ 全 て 見 て い く 「東京」で検索したときに、作品データが格納されているデータソ ースを1件ずつ見ていって「東京」という文字が含まれているか 確認する 逐 次 検 索 「雪降るスノードーム」 1 . 「赤い靴下を履いた猫」 2 . 「紙で作る東京 タワー」 3 .

Slide 12

Slide 12 text

索 引 ( イ ン デ ッ ク ス ) を 使 っ て 探 索 あらかじめ、データソースにデータを格納する際に、「インデック スデータ」も合わせて格納しておく。そして、検索時にはそのイン デックスに合致する群の中から検索する 索 引 型 検 索 💡 Elacticsearchはこの方策を取る

Slide 13

Slide 13 text

単語 レコードのid 東京 1, 2 マラソン 2, 3 辛い 3 「 イベント が 東京 で 開催 される」 1 .  「 東京 マラソン に 参加 する」 2 . 「 マラソン は 辛い 」 3 . イ ン デ ッ ク ス

Slide 14

Slide 14 text

単語 レコードのid 東京 1, 2 マラソン 2, 3 辛い 3 「東京」で検索したときは「1」あるいは「2」のデータがヒットする イ ン デ ッ ク ス

Slide 15

Slide 15 text

クラス 生徒たち 1組 山田さん、中山さん、福田さん 2組 岡田さん、福島さん 3組 花田さん、山中さん クラスとかもいうたらインデックス説 イ ン デ ッ ク ス

Slide 16

Slide 16 text

本屋さんでもよく見る。これまさにインデックス イ ン デ ッ ク ス

Slide 17

Slide 17 text

めっちゃ便利でいいね!検索簡単!

Slide 18

Slide 18 text

そんなに簡単な話でもなかったりする と は い え

Slide 19

Slide 19 text

データソースに格納する際に、どう単語を分割するか、難しい と は い え 『東京都の紅葉情報』 どう区切ります?

Slide 20

Slide 20 text

形態素解析を用いる 形態素解析は、アルゴリズムを有する自然言語で書かれている 文を、言語において意味を持つ最小の単位(=形態素)に細分化 し、一つひとつの品詞・変化などを判別していく作業のことを 指します。 「形態素」は言語学の用語であり、意味を持つ表現 要素の最小単位のことなのです。

Slide 21

Slide 21 text

東京都 3, x, x... の 3, x, x... 紅葉 3, x, x... 情報 3, x, x... データソースに格納する際に、どう単語を分割するか、難しい と は い え id3:『東京都の紅葉情報』 『東京都』『の』『紅葉』『情報』 で単語を区切っておくと良さそう?

Slide 22

Slide 22 text

東京都 3, x, x... の 3, x, x... 紅葉 3, x, x... 情報 3, x, x... データソースに格納する際に、どう単語を分割するか、難しい と は い え 『東京都』『の』『紅葉』『情報』 これだと「東京」で検索したときに引っかかってこない これは嬉しくない

Slide 23

Slide 23 text

『N-gram』という方策もある 1文字とか2文字とか3文字とかで単語を区切る uni-gram bi-gram tri-gram

Slide 24

Slide 24 text

『N-gram』という方策もある 『東京都の紅葉情報』 『東京』『京都』『都の』『の紅』『紅葉』『葉情』『情報』 bi-gram

Slide 25

Slide 25 text

『N-gram』という方策もある 『東京』『京都』『都の』『の紅』『紅葉』『葉情』『情報』 これだと「東京」で検索しても引っかかってくる!! 🎉

Slide 26

Slide 26 text

『N-gram』という方策もある 『東京』『京都』『都の』『の紅』『紅葉』『葉情』『情報』 ただ、『京都』でもヒットしちゃう

Slide 27

Slide 27 text

想定リスナー 検索周りそんなに触ったことない人 理想状態 「検索改善」と聞いてイメージが沸く状態 i n t r o

Slide 28

Slide 28 text

感 謝 ! ! !