タグ

mookieのブックマーク (716)

  • How People Use Google Search (New User Behavior Study)

    mookie
    mookie 2023/01/07
    Google検索のユーザ調査結果まとめ ①検索セッションの23%の時間がサジェストに費やされている ②平均的な検索セッションは完了までに76秒かかる
  • 日本語サジェスト機能の実装にあたり試行錯誤した話 - コネヒト開発者ブログ

    こんにちは。エンジニアの永井(shnagai)です。 今回は、現在進めている検索システム内製化プロジェクトの中で、日語サジェストを実装するために試行錯誤した話を書こうと思います。 内容は、ざっくり下記の構成になっています。 日語サジェストの難しいところ よりよい日語サジェストのために試行錯誤した点 この記事はコネヒトアドベントカレンダー2022の16日目の記事です。 日語サジェストの難しいところ 日語のサジェストをOpenSearch(Elasticsearch)で実装するにあたりいくつか難しい点がありました。 この話の前提として、コネヒトではインデックス作成に使えるデータとして下記を持っています。 検索ログデータ 検索対象のテキストデータ 以後の話はこのデータを使いサジェストを実装する際に、どのような点を意識したかについて話していきます。 ①よみがなの考慮 サジェストの実装を考

    日本語サジェスト機能の実装にあたり試行錯誤した話 - コネヒト開発者ブログ
    mookie
    mookie 2023/01/07
    日本語サジェストの難しい点 ①よみがなの考慮 ②単語の区切り 日本語サジェストのために試行錯誤した点 ① 検索ログ活用のために、kuromojiで形態素解析はせずkeywordトークナイザーを使う ② カスタム辞書にカナを振る
  • 論文紹介: Generative Models are Unsupervised Predictors of Page Quality: A Colossal-Scale Study (WSDM 2021)

    mookie
    mookie 2023/01/05
    機械翻訳、SEO を広く実施している、職場で見ないほうがよいサイトなどを低品質と判定
  • 検索エンジンのABテストで発生するユーザー内相関を突破する - エムスリーテックブログ

    この記事はエムスリー Advent Calendar 2021 1日目の記事です。 明日からも面白い記事が続々投稿されるので、ぜひ購読・拡散お願いします! qiita.com エムスリーエンジニアリンググループ AI機械学習チームでソフトウェアエンジニアをしている中村(@po3rin) です。好きな言語はGo。情報検索系の話が好物です。 最近検索エンジンの改善やアルゴリズムの変更などの効果を分析する機会が多くなってきたのですが、ABテストの効果検証でやらかしてしまい、改めてABテストについて復習しています。そこで「A/Bテスト実践ガイド」というを読みました。 A/Bテスト実践ガイド 真のデータドリブンへ至る信用できる実験とは (アスキードワンゴ) 作者:Ron Kohavi,Diane Tang,Ya Xu,大杉 直也ドワンゴAmazon こので、私が陥った大量にクリックするユーザー

    検索エンジンのABテストで発生するユーザー内相関を突破する - エムスリーテックブログ
    mookie
    mookie 2022/12/29
    ランダム化単位と分析単位が違う今回の場合では、大量にクリックするユーザーなどの外れ値に対して非常に弱く、仮説検定の際に問題になります。
  • Stable Diffusion の仕組みを理解する - ABEJA Tech Blog

    この記事は、ABEJAアドベントカレンダー2022 の 19 日目の記事です。 こんにちは!株式会社 ABEJA で ABEJA Platform 開発を行っている坂井です。 世間では Diffusion Model 使った AI による画像生成が流行っているみたいですね。 自分は元々 Computer Vision 系の機械学習エンジニアだったんですが、この1年くらいは AI モデル開発ではなくもっぱらバックエンド開発メインでやっていて完全に乗り遅れた感あるので、この機会に有名な Diffusion Model の1つである Stable Diffusion v1 について調べてみました!*1 では早速題に入りたいと思います! Stable Diffusion v1 とは? Denoising Diffusion Probabilistic Model(DDPM) 学習時の動作 for

    Stable Diffusion の仕組みを理解する - ABEJA Tech Blog
  • 日本語用オートコンプリートのためのAnalyzer

    風のうわさで、日語用のオートコンプリートのためのTokenFilterとAnalyzerがLuceneに取り込まれたと聞きました(LUCENE-10102)。 Elasticsearchでも使えるかなぁ?ということで調べたところ(調べた?聞いた?)、どうやら8.1から利用できるようになっている(GitHub Issue #81858)みたいです(まだ、公式ドキュメントには記載がないのですが)。 8/17追記 作者の打田さんがブログ書いてたの見落としてた(もしくは見たけど忘れてた)ので貼っておきます。マルチテナンシー下での Query Auto Completion 設計・運用戦略 - LegalForce Engineering Blog ということで、こんな感じで使えるよというのを試してみました。 どういうもの? 日本語入力方法を考慮したオートコンプリート用のトークンを生成してくれるT

    日本語用オートコンプリートのためのAnalyzer
    mookie
    mookie 2022/12/13
    風のうわさで、日本語用のオートコンプリートのためのTokenFilterとAnalyzerがLuceneに取り込まれた
  • Rethinking Server-Timing As A Critical Monitoring Tool — Smashing Magazine

    mookie
    mookie 2022/12/06
    Server-timing ヘッダーを使った監視のユースケース。Safariの実装がないのが残念ではあるが、クライアント側でのAPI監視としてそろそろ導入したい
  • 今回の出来事・Meetyのこれからについて|中村 拓哉 | Meety CEO|note

    何があったのかご存じの方も多いかと思いますが、先日Twitterで弊社社員に関する投稿が拡散され、多くの方々にご心配をお掛けいたしました。 まず件について、拡散した当事者の方が警察に被害届を出しているものではなく、専門家を通じて当事者に事実確認をさせて頂いた結果、(後述のように件を招いた社員の言動について全く問題がなかったとは考えておりませんが)ネットで騒がれたような事件性のあるものではなかったことが判明しています。 現在は、元ネタとなったツイートは拡散された当事者の方の同意の上で削除されており、まとめ記事等の二次拡散された情報に関しても、削除依頼をはじめるところです。 件は、大前提としてMeetyというサービス内での出来事ではなく、あくまで個人間での出来事になりますので、来会社として対応する義務はありませんでした。しかし、サービスにまで悪影響を及ぼすことを意図した発言があったため

    今回の出来事・Meetyのこれからについて|中村 拓哉 | Meety CEO|note
    mookie
    mookie 2022/11/23
    この記事で今回の出来事と会社について知ることになった
  • プログラマーの為の社内政治【テクニック集】 - Qiita

    精神を安定させることはコードの品質に繋がる 社内政治をせよ。 さすればレビュー指摘が柔らかくなる。 上司からの評価も上がるかもしれない。 実践した私は部下付きのマネージャーになった。(部下無しのマネージャーとはいったい…… ポイント1.指揮系統を認識せよ 誰の仕事をやっている? その仕事はどのような権限で発動している? 「部長からモック作成の依頼が先輩社員に降りてきて、先輩社員がその作業を自分に振ってきた」場合、 意識するのは次のこと。 1.何かトラブルがあった場合は部長へGO (先輩社員から言われた仕様が部長の意図と反している等 2.何もしない場合、手柄は先輩社員が貰っていく (この作業、A君がやったんすよ~と先輩社員が部長に言うことは無いと考えて良い 3.来の業務がある場合、優先順位をはっきりする。納期等に問題がある時は先輩社員に報告。状況によっては部長にも。 4.終了報告はメール。

    プログラマーの為の社内政治【テクニック集】 - Qiita
    mookie
    mookie 2022/11/19
    テクニック集として読むには面白いけど、信頼関係がある組織でやると嫌われるだけなのてはないか、信頼関係がない組織では効果ありかもだがとっとと転職したほうが良いと思われる
  • 【追記あり】Xiaomiが3万円台の超格安ドラム式洗濯機を発売、12kgの大容量で機能充実の作り込まれた1台に | Buzzap!

    【追記あり】Xiaomiが3万円台の超格安ドラム式洗濯機を発売、12kgの大容量で機能充実の作り込まれた1台に | Buzzap!
    mookie
    mookie 2022/10/23
    黒色はカッコイイね。
  • 【Elasticsearch】1900万点に及ぶ商品データ作成の時間を約67%短縮できた構成と工夫 - MonotaRO Tech Blog

    初めまして、EC基盤グループ サーチチームの壷井です。 モノタロウでは2019年10月頃より新規検索システムの設計・開発を進め、今年の4月頃にECサイト(monotaro.com) 検索ページの裏側の検索システムを従来のSolrからElasticsearchに100%移行*1しました。この移行は将来の商品点数やリクエスト数の増加を見据えたバックエンドの大規模な改修で、ここまで約2年半ほどプロジェクトを進めてきました。今後もECサイトのすべてのページの完全移行に向け引き続き開発・運用を行っていきます。 今回はこのプロジェクトのなかで私が担当してきたElasticsearchへの日々のデータの洗い替え(日次更新と呼んでいます)ワークフローのシステム構成と工夫などについてお話します。 モノタロウの検索システムの紹介 日次更新のシステム構成 処理の流れ ① リアルタイムデータ同期 ② 日次商品デー

    【Elasticsearch】1900万点に及ぶ商品データ作成の時間を約67%短縮できた構成と工夫 - MonotaRO Tech Blog
    mookie
    mookie 2022/10/18
    ぱっと見Solr だと使えないテクニックはなさそうな印象。とはいえelasticの方が高速化するためのツールチェーンが充実しているということかな?
  • トライ木(Trie木) の解説と実装【接頭辞(prefix) を利用したデータ構造】 | アルゴリズムロジック

    文字列の検索 検索時も、文字列を一文字ずつ確認して、Trie 木の頂点を1つずつたどっていきます。もし頂点が存在しなければ、その文字列は Trie 木に挿入されていなかったということになります。 最後の頂点にたどり着いたら、その頂点で終了する文字列があるかを確認する必要があります。例えば、"firework" を挿入したなら、true を返すのは “firework" を検索した時で、"firewo" などを検索した時には false を返してもらうためです。 C++での実装例 ベース 実装方法は様々なものがありますが、頂点の集合を vector などに保存しておくことにして実装していくことにします。C++では、以下のように構造体などで実装すると変更がしやすいです。 template <int char_size, int base> struct Trie { struct Node {

    トライ木(Trie木) の解説と実装【接頭辞(prefix) を利用したデータ構造】 | アルゴリズムロジック
    mookie
    mookie 2022/10/18
    トライ木はretrievalのtrieが由来だったのね
  • How suggested search and autocomplete work together

    mookie
    mookie 2022/10/08
  • 【サジェストと見直し】サジェストがしっかりと網羅されていないと上位表示しきれない

    アフィリエイトサイトにおけるキーワードの重要性。 確かに、アフィリエイトサイトではキーワードをしっかりと網羅することが重要です。 とはいえ、それも、少し前のアフィリエイトの流れとは違っています。 以前までは、機械的にキーワードを網羅する記事が重要視されていて、ある程度、不自然な文章でも上位表示することができました。 それこそ、ツール記事のような文章でも、結構うまく上位表示できていました。 なんていい時代だったのでしょう・・・ でも、当然。 そんなのは、テコ入れが入り、今では上位表示できなくなっています。 そのため、今は、キーワードの網羅よりも、いかに自然な文章の流れで読みやすく、内容の濃い記事を書くことが重要視されています。 では、「キーワードは全く意識しなくていいか?」というと、全くそんなことはありません。 やはり、キーワードを意識することは常々重要です。 とはいえ、繰り返しになりますが

    【サジェストと見直し】サジェストがしっかりと網羅されていないと上位表示しきれない
    mookie
    mookie 2022/10/08
    SEO観点でサジェストに出るクエリに向けて最適化するということか“サジェストのキーワード=Googleが重要としているキーワード”
  • 検索キーワードから仮説やビジネスの種を見つける方法|伊藤公助:Kosuke Ito

    SEOの99%は地味な作業の反復です。 ずっと検索していたり、Search Consoleでキーワードを色々見たり、分類して何か出てこないか調査したり。 コンテンツの精査やチェック、案出しをしたり、他サイトのチェックをしたり。。 サイトによって違いはありますが、地道なことの繰り返しがほとんどです。 ただ、こういった地道な調査の繰り返しをしていると、たまに面白い事象が見つかったり、それが企画として動いたりします。 自然検索からの流入は、良くも悪くも流入するキーワードを完全にコントロールできません。 何かしら情報発信をしていると、それなりに流入するキーワードが増えてきますが、このキーワードの中から仮説やビジネスの種が見つかることがあります。 自分たちが気付いていなかったニーズや、ビジネスの種が見つかった時は興奮します。 今回は、検索キーワードから仮説を見つける方法について解説します。 サジェス

    検索キーワードから仮説やビジネスの種を見つける方法|伊藤公助:Kosuke Ito
    mookie
    mookie 2022/10/08
    Search Consoleの「検索結果」のクエリデータを見ていくのはオススメ
  • 10X の検索を 10x したい パートII - 10X Product Blog

    今 Q もお疲れさまでした!10X の @metalunk です. 3ヶ月前に 10X の検索を 10x したい というブログを書きました.その記事にあるとおり,1-3月で検索インフラの改善を実施し,検索速度 10x, インフラコスト 80% 削減という成果をあげました.そして,直近の3ヶ月では検索精度の改善に取り組みました.この記事では今 Q にリリースした機能と,それぞれの効果を説明します. 長い記事になったので飛ばし飛ばし読んでください. どんな Q だったか KPI の変化 Zero match rate Conversion rate リリースした機能 検索キーワードサジェスト システム概要 評価 カテゴリフィルタ 並び順の改善 評価 bigram 解説 評価 シノニム辞書を Search time に展開 解説 イベントログからシノニムルールの生成 解説 改善の背景 KPI D

    10X の検索を 10x したい パートII - 10X Product Blog
    mookie
    mookie 2022/10/08
    “サジェストの新規導入の改善効果”この機能により,12.7% のゼロマッチ検索を削減し,1.1% CTR を向上しました!”
  • ホテルの客室検索APIのアーキテクチャ設計時に考えたこと

    作ったもののイメージ ホテルの客室検索APIとは、チェックイン日やその他の条件を入力として受け取り、マッチするホテルの客室を返すものです。以下の画像はExpediaのものですが、赤枠で囲っている部分(他にもたくさんある)が入力になります。2022年4月頃に無事リリースされました。 この検索APIを構築を任された際に、何を考えて設計していったのかを以下に示していきます。 顧客からの要望 顧客の会社は当時エンジニアがおらず(やりとりしている社長は元エンジニアだが)、これまでも私と仕事をしたことがあったので依頼が来ました。顧客と密にコミュニケーションを取りわかったのは、以下のような要望でした。 このAPIは自社サービスとして第3者(要契約)に使ってもらえるようにしたい 完全に一般公開ではなくちゃんと契約を結ばないと利用できないようなもの 検索条件を柔軟に、かつ使いやすい感じで指定できるようにした

    ホテルの客室検索APIのアーキテクチャ設計時に考えたこと
  • トヨタ、ユーザーのメアド約30万件漏えいの可能性 ソースコードの一部、GitHubに5年間放置

    トヨタ自動車は10月7日、クルマ向けネットワークサービス「T-Connect」ユーザーのメールアドレスと「お客様管理番号」、29万6019件が漏えいした可能性があると発表した。 2017年7月以降にT-Connectユーザーサイトにメールアドレスを登録した人が該当する。氏名や電話番号、クレジットカード番号などが漏えいした可能性はないという。 原因は2017年12月にT-Connectユーザーサイトの開発委託先企業が、取り扱い規則に反してソースコードの一部を誤って公開設定のままGitHubアカウントにアップロードしたこと。その後、5年にわたって第三者がソースコードの一部にアクセスできる状態で放置されていた。ソースコードにはデータサーバへのアクセスキーが含まれ、これを利用するとサーバに保管しているメールアドレスやお客様管理番号にアクセスできたという。 トヨタは9月15日にGitHub上のソース

    トヨタ、ユーザーのメアド約30万件漏えいの可能性 ソースコードの一部、GitHubに5年間放置
    mookie
    mookie 2022/10/07
    レクサスユーザは含まれてないのかな
  • サジェスト機能の改善を評価する社内ツールの紹介 - ZOZO TECH BLOG

    はじめに こんにちは。検索基盤部の倉澤です。 私たちは、ZOZOTOWNの検索機能の改善に取り組んでいます。ZOZOTOWNには、ユーザーが検索クエリを入力した際に、候補となるキーワードを表示するサジェスト機能があります。 今回はこのサジェスト機能の改善を効率的に評価する社内ツールを以下3点に焦点をあてて紹介します。 社内ツールの各機能 実務にて利用している場面 開発する際に採用したバックエンド技術 目次 はじめに 目次 背景 サジェスト評価ツールの機能 サジェスト候補の表示 評価 評価結果の集計表示 類似度算出 利用ケース バックエンドの技術 技術スタック アーキテクチャ まとめ 背景 ZOZOTOWNでは、サジェストの検索エンジンとしてElasticsearchを採用しています。 Elasticsearchからサジェスト機能がデフォルトで提供されていますが、日語との相性を考慮し通常の

    サジェスト機能の改善を評価する社内ツールの紹介 - ZOZO TECH BLOG
    mookie
    mookie 2022/09/30
    サジェストのジャッジメントツール。アノテーションもつけられそう
  • W3C、中央集権的な管理を不要にする「Decentralized Identifiers (DIDs)」(分散型識別子)の仕様が勧告に到達

    W3C、中央集権的な管理を不要にする「Decentralized Identifiers (DIDs)」(分散型識別子)の仕様が勧告に到達 World Wide Web Consortium (W3C)は、「Decentralized Identifiers (DIDs) 」(分散型識別子)バージョン1.0(以下、W3C DID)の仕様が勧告に到達したと発表しました。 W3C press release: "Decentralized Identifiers (DIDs) v1.0 becomes a W3C Recommendation" "This new type of verifiable identifier... will enable both individuals and organizations to take greater control of their onl

    W3C、中央集権的な管理を不要にする「Decentralized Identifiers (DIDs)」(分散型識別子)の仕様が勧告に到達
    mookie
    mookie 2022/07/21