タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

*algorithmと*programとsearchに関するsh19910711のブックマーク (12)

  • 検索タスクにおけるBM25のコサイン類似度とスコアの精度比較 - Qiita

    追記 比較する条件を整理した改良版を書きました。記事は記録として残しておきます。(2024/11/28) 概要 以下の記事の疑問に自分なりに答えを出すために、実際にBM25スコアとBM25ベクトルのコサイン類似度で検索精度にどう違いがあるのか検証しました。 【疑問】BM25でもTFIDF同様にコサイン類似度に基づいてランキングしてよいのか 背景 上記別記事で抱いた疑問の概略は以下です。 検索タスク等において、ランキングの指標として、TFIDFではTFIDF重みベクトルのコサイン類似度を用いるが、BM25ではBM25スコアを用いることが多い BM25スコアはクエリに含まれる単語を検索対象文書におけるその単語のBM25の重みに変換して足し合わせた値である。 BM25でもBM25の重みベクトルのコサイン類似度(BM25コサイン類似度)をランキングに用いたらだめなのか? 記事で書いていない内容も

    検索タスクにおけるBM25のコサイン類似度とスコアの精度比較 - Qiita
    sh19910711
    sh19910711 2024/10/13
    "どちらかというと、rank_bm25のほうがシンプルな実装をしており、scikit-learnのBM25Vectorizerは、低頻度語のフィルタリングなど、いろいろ気の利いた処理が入っていそう"
  • SIF/uSIFを使ってRustで簡単高速文埋め込み - かんぱさんだの技術ブログ

    記事は、情報検索・検索技術 Advent Calendar 2023 9日目の記事です。 SIF/uSIFという文埋め込み手法と、そのRust実装であるsif-embeddingを紹介します。最後にちょこっとベクトル検索もします。 はじめに SIF SIF-weighting Common Component Removal アルゴリズム 使用上の注意 uSIF sif-embedding 準備 単語埋め込みの準備 ユニグラム言語モデルの準備 Let's 文埋め込み 性能評価 速度性能 評価用データセットを使ったベンチマーク 英語語 ベクトル検索 おわりに はじめに 自然言語文の密ベクトル表現を文埋め込みと呼びます。文埋め込み同士のコサイン類似度などを使って、文同士の意味的な類似度が計算できるので、自然言語処理や情報検索などで重宝します。特に最近では、今年のAdvent Calen

    SIF/uSIFを使ってRustで簡単高速文埋め込み - かんぱさんだの技術ブログ
    sh19910711
    sh19910711 2024/02/23
    "SIF: 文埋め込み + ICLR 2017で発表 / CCR: 文埋め込みから文法に関係する成分を取り除く + "just", "when", "even", "one"などの構文情報に関係する単語 + このような成分を、文の意味には寄与しないノイズとして取り除く" / 2023
  • PyTorchでより深いMatrix Factorization

    10年前のNetflix Prizeで確立された(?)、Matrix Factrizationは多くの場合、SVDというアルゴリズムで解くことができるが、ロジックと数式をぼんやりと見ていたら、Deep Learningでもできるっぽいなと思った。 ググると、Pytorchでの実装をここなっている人[1], Kerasでの実装を行っている人[2]を見つけることができた。[2]によると、内積を計算することを最終目標とするのであるが、どうやらその内部は非線形であってもいいらしく、表現力を高めるような深いネットワークの構成でも性能がでるようである。 Pytorchで実装を行い、簡単に性能をそれなりに出せたので忘備録として残しておく。 Matrix Factorization気持ちはこうで、実際にはすべてを同一に最適化できないので、ミニバッチを切り出して順次学習していく 一つのデータセットの粒度は、

    PyTorchでより深いMatrix Factorization
    sh19910711
    sh19910711 2024/02/18
    "Matrix Factrization: SVDというアルゴリズムで解くことができる / 内積を計算することを最終目標とするのであるが、どうやらその内部は非線形であってもいいらしく / 深いネットワークの構成でも性能がでる" / 2019
  • Amazonのデータセットで始める商品検索

    この記事は 情報検索・検索技術 Advent Calendar 2022 の7日目の記事です。 はじめに 今年の夏、Amazonが多言語 (英語スペイン語、そして日語) のラベル付きの商品検索のデータセットを公開しました。 論文: https://arxiv.org/abs/2206.06588 リポジトリ: https://github.com/amazon-science/esci-data 情報検索において商品検索は、ウェブ検索を作りたいという企業より商品検索を作りたい企業の方が多いという意味で、ポピュラーなトピックだと思います。ところが公開データで実験を行おうとするとドメインが違うウェブ検索のデータセットか、ラベルのない商品カタログか、ラベルはあるけど小規模なデータセットかという限られた選択肢しかなく、仕方がないので非公開の独自データセットを作って実験を行うという状況でした。

    Amazonのデータセットで始める商品検索
    sh19910711
    sh19910711 2022/12/07
    "検索システムを賢くしたいという人々の願いがミドルウェアにPythonサポートやcross-languageの機能を追加させて、Pythonを組み込むことが容易に / 来年以降はこのデータセットを使った提案手法がたくさん世に出てくる"
  • Luceneで使われてるFSTを実装してみた(正規表現マッチ:VMアプローチへの招待) - Qiita

    入力と出力のペアに対して,上のようなグラフを作るのが目標です.テーブルの出力のとこは数字が書いてありますが,文字列だと思ってとらえて下さい.map だと出力は1つに限られちゃいますが,ひとつの入力に対して出力が複数あってもいいです.たとえば入力 "feb" に対して,出力は "28" と "29" があります.(2月は28日と29日のときがありますね). ノードの部分が状態で,そこから出ている矢印が状態遷移になります.矢印には a/b というラベルがついていますが,a の部分が入力とのマッチを意味し,b の部分がそのときの出力を意味します. 上の例で示すFSTで,"aug"を処理するには,"aug"を頭から読んで,入力"a"に対応するの(9)から(3)への矢印を選択します.そのとき,出力として"3"を記録しておきます.そのあと,"u"に対して(3)から(2)への矢印を選択し,"1"を先ほど

    Luceneで使われてるFSTを実装してみた(正規表現マッチ:VMアプローチへの招待) - Qiita
  • 全文検索を実装したソースコードを読もう (1/4)- @IT

    第6回 全文検索を実装したソースコードを読もう 倉貫 義人 松村 章弘 TIS株式会社 SonicGarden 2009/9/3 優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) いよいよオープンソースの社内SNS「SKIP」を使ったコードリーディングも最終回となりました。Railsの基的な構成から、テストコードやRSpecの書き方といった内容に加え、前回はOpenIDをRailsで活用する応用編まで、コードとともに学んできました。 最終回となる今回は、SKIPの目玉機能の1つである全文検索を扱います。最終回にふさわしく、内容も高度なものになっていますが、ここまでおつきあいいただいた読者の皆さまであれば、十分に理解できる内容だと思います。 SKIPにおける全文検索機能では、任意の検索キーワード

  • スライド 1

    情報生命科学基礎・演習 渋谷 文字列検索 渋谷 東京大学医科学研究所ヒトゲノム解析センター (兼)情報理工学系研究科コンピュータ科学専攻 http://www.hgc.jp/~tshibuya 情報生命科学基礎・演習 渋谷 はじめに 先週の話題 文字列探索 Knuth-Morris-Pratt, Boyer-Moore, etc. 今週の話題 パタン照合問題(参考書:Sedgewick 20章、21章) 正規表現の探索 文字列検索(参考書:Gusfield) 接尾辞木・接尾辞配列とその応用 情報生命科学基礎・演習 渋谷 正規表現 正規表現(regular expression)とは 連結(concatenation) A, B → AB 論理和(or) A, B → A+B 繰り返し(0回以上、closure) A → A* タンパク質・DNAのパタンの表し方と

  • 接尾辞配列について

    配列解析アルゴリズム特論 渋谷配列解析アルゴリズム特論 渋谷 接尾辞配列について 渋谷 東京大学医科学研究所ヒトゲノム解析センター (兼)情報理工学系研究科コンピュータ科学専攻 http://www.hgc.jp/~tshibuya 配列解析アルゴリズム特論 渋谷 はじめに 先週 接尾辞木の作り方 今週 接尾辞配列とは 接尾辞配列の作成法 高さ配列の作成法 接尾辞配列を用いた検索 接尾辞配列から線形時間で接尾辞木を作る 配列解析アルゴリズム特論 渋谷 Suffix tree of 'mississippi$'  文字列 S のすべての接尾辞を表した trie 枝のラベル ⇔ S の部分文字列 ルートから葉までのラベルを連結したもの ⇔ S の接尾辞 線形サイズ・線形時間で構成可能 mississippi$ i p s pi$ i$ $ppi$ ssi ssippi

  • 横着プログラミング 第9回: sary: Suffix Array のライブラリとツール

    最終更新日: 2002-12-18 (公開日: 2002-12-18) Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿です。 私にフローチャートだけを見せて、テーブルは見せないとしたら、 私はずっと煙に巻かれたままになるだろう。逆にテーブルが見せて もらえるなら、フローチャートはたいてい必要なくなる。 -- Frederick P. Brooks Jr. *1 プログラミングにおいてはデータ構造が重要であり、正しいデータ 構造を選択すればアルゴリズムは自明なものとなる、という主張が ある。Rob Pike*2 の "Notes on Programming in C" *3 によると、現実的なプログラムに必要なデータ構造は次の 4つであ るという。 配列 (array) 連結リスト (linked list) ハッシュテーブル

  • Suffix Array を作る - SA-IS の実装

    Suffix Array は今若者の間で人気のデータ構造です. マイ suffix array を実装することで,オシャレ度がアップしてモテ系になり,女子力も上がると言われています. その中でも今特に,手軽でクールな SA-IS (アルファベットサイズ固定の下で線形時間で省メモリで suffix array が作れる今最強のアルゴリズム) の実装がブームです. 僕もブームに便乗して,実装してみました. ところで,SA-IS は流行っているので,日語でもすでに様々なところで記事が書かれています (日付順). SAIS(Suffix Array - Induced Sorting) - EchizenBlog-Zwei SA-IS: SuffixArray線形構築 - sileの日記 SA-IS - (iwi) { 反省します - TopCoder部 接尾辞配列(Suffix Array)の

  • http://www.larsson.dogma.net/qsufsort.c

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1