Hironsanのブックマーク (9)

  • RAGの性能を改善するための8つの戦略 | Fintan

    近年、OpenAIのGPT-4やGoogleのGemini、MetaのLLaMAをはじめとする大規模言語モデル(Large Language Model:LLM)の能力が大幅に向上し、自然言語処理において優れた結果を収めています[1][2][3]。これらのLLMは、膨大な量のテキストデータで学習されており、さまざまな自然言語処理タスクにおいて、タスクに固有なデータを用いてモデルをファインチューニングすることなく、より正確で自然なテキスト生成や、複雑な質問への回答が可能となっています。 LLM-jp-eval[4]およびMT-bench-jp[5]を用いた日語LLMの評価結果。Nejumi LLMリーダーボード Neoより取得。 大規模言語モデルは近年急速な進歩を遂げていますが、これらの進歩にもかかわらず、裏付けのない情報や矛盾した内容を生成する点においては依然として課題があります。たとえ

    RAGの性能を改善するための8つの戦略 | Fintan
    Hironsan
    Hironsan 2024/02/09
    ちょこちょこ検証していた内容と調べた内容のまとめ。RAG作るのは簡単だけど、評価や改善は難しい。
  • 見積・提案書に書いておくと不幸を減らせる前提条件

    はじめに ちょっとつぶやいたら思いのほか需要がありそうだったので、簡単にまとめておきます。 おことわり これを書いておけば、すべての不幸を避けられるというものではありません 提出先との関係性次第では、書かないほうがいいこともあるかも 私自身が普段提案している内容が、すべて記載されているわけでもありません(うろ覚えで書いてたり、大人の事情) これを流用しておこったすべての事項について、何らかの責任をとることはできません 稿では請負による開発を想定しています でも共有することで、この業界の不幸が減ればいいなということでつらつら書いてみます。 他にもあるようなら、Twitterなりコメントなりで提案してもらえると嬉しいです。 前提条件を書く目的 見積・提案書通りに、実施するために必要な条件を明確にする 条件を逸脱したときに、どうなるのかハッキリさせる 上記は概ねつぎのとおり 実現が不可能になる

    見積・提案書に書いておくと不幸を減らせる前提条件
  • Universal Sentence Encoderをチューニングして多言語のテキスト分類 - Ahogrammer

    Googleが開発した多言語の埋め込みモデル「LaBSE」を使って多言語のテキスト分類」と題した記事を書いたところ、「Universal Sentence Encoder(以下、USE)と比べてどうなのか?」というコメントを見かけました。そこで、記事では、多言語の埋め込み表現を作ることのできる「Multilingual USE(m-USE)」を使って、テキスト分類をしてみます。設定としては前回と同様、学習には英語、評価には日語とフランス語のデータセットを使います。 記事では要点だけを紹介するので、コードについては以下のノートブックを参照してください。 Text Classification with Multilingual USE 文類似度 LaBSEの場合と同様に、TensorFlow Hubで公開されているモデルを使って、多言語の文類似度を計算してみます。m-USEには、Tra

    Universal Sentence Encoderをチューニングして多言語のテキスト分類 - Ahogrammer
    Hironsan
    Hironsan 2020/09/18
  • Googleが開発した多言語の埋め込みモデル「LaBSE」を使って多言語のテキスト分類 - Ahogrammer

    自然言語処理において、テキストをその意味を考慮しつつ固定長のベクトルに変換する埋め込みモデルは重要です。文の意味をよく表現したベクトルを作ることができれば、テキスト分類や情報検索、文類似度など、さまざまなタスクで役立ちます。記事では、Googleが開発した多言語の埋め込みモデル「LaBSE」を使って、テキスト分類をする方法を紹介します。単なるテキスト分類では面白くないため、学習には英語のデータセットを使い、評価には日語とフランス語のデータセットを使います。 記事では要点だけを紹介するので、コードについては以下のノートブックを参照してください。 Text Classification with LaBSE LaBSE LaBSEは、Googleが「Language-agnostic BERT Sentence Embedding」という論文で提案したモデルです。109の言語に対応しており

    Googleが開発した多言語の埋め込みモデル「LaBSE」を使って多言語のテキスト分類 - Ahogrammer
    Hironsan
    Hironsan 2020/09/17
  • BERTで日本語の含意関係認識をする - Ahogrammer

    含意関係認識(Recognizing Textual Entailment: RTE)とは、2つの文1と文2が与えられたときに、文1が正しいとしたら文2も正しいか否かを判定するタスクのことです。たとえば、文1として「太郎は人間だ。」という文があるとします。この文が正しいとしたとき文2である「太郎は動物だ。」が正しいか否かを判定します。この場合は人間は動物であるため正しいと判定する必要があります。 含意関係認識を解くための手法は様々ありますが、記事ではBERTを使った機械学習ベースの手法で解くことにします。 BERTによる含意関係認識器の実装 節ではBERTを用いた含意関係認識のモデルを構築します。実装の手順は以下の通りです。 プロジェクト構成 パッケージのインストール データセットの準備 モデルの定義 評価用コードの実装 モデルの学習と評価 プロジェクト構成 節では以下のプロジェクト

    BERTで日本語の含意関係認識をする - Ahogrammer
    Hironsan
    Hironsan 2020/01/10
    RoBERTa使うともっと良くなるよ(たぶん)
  • ElasticsearchとBERTを組み合わせて類似文書検索 - Ahogrammer

    記事ではElasticsearchとBERTを組み合わせて類似文書検索を行う方法について紹介します。Elasticsearchでは最近、ベクトルに対する類似文書検索の機能が実装されました。一方、BERTを使うことでテキストを固定長のベクトルに変換することができます。つまり、BERTを使ってテキストをベクトルに変換すれば、Elasticsearchを使って類似文書検索ができるということになります。 記事では以下のアーキテクチャでElasticsearchとBERTを組み合わせた検索システムを実現します。Dockerを使ってアプリケーション、BERT、Elasticsearchのコンテナを分けることでそれぞれをスケールしやすくする狙いがあります。記事中では重要な部分のみ提示しますが、システム全体はdocker-composeのファイルとして記述しこちらのリポジトリに置いてるので、参照してく

    ElasticsearchとBERTを組み合わせて類似文書検索 - Ahogrammer
    Hironsan
    Hironsan 2019/09/30
    書いた。全文書をBERTで変換する処理は時間がかかるので、GPUを使うと良いです。
  • 実践!固有表現認識 ~Flairを使って最先端の固有表現認識を体験しよう~ - Ahogrammer

    自然言語処理の分野で昔から研究され、実際に使われている技術として固有表現認識があります。固有表現認識は、テキスト中で固有表現が出現する位置を特定し、人名や地名などのラベルを付与するタスクです。情報抽出や質問応答、対話システムなどへの幅広い応用が可能なため、今でも盛んに研究され、使われている技術です。記事では、日語の固有表現認識をFlairと呼ばれるPythonパッケージを使って実現する方法について紹介します。 準備 記事では Flair を使って固有表現認識のモデルを学習させます。Flairは最先端の自然言語処理のモデルを簡単に使い始められる形で提供してくれているパッケージです。その中で提供されている機能として、固有表現認識や品詞タグ付け、文書分類のモデルを学習するための機能があります。使い始めるために、以下のようにしてFlairをインストールしておく必要があります。 $ pip i

    実践!固有表現認識 ~Flairを使って最先端の固有表現認識を体験しよう~ - Ahogrammer
    Hironsan
    Hironsan 2019/09/13
    書きました。簡単に使えまつよ。
  • 日本語 Sentiment Analyzer を作ってパッケージ化した話 - Ahogrammer

    Sentiment Analysisと言えば自然言語処理ではよく知られたタスクで、典型的にはテキストをポジティブ/ネガティブの2クラスに分類するものだ。 その使い道としては、Twitter等のSNSから自社製品についての投稿を収集して評価や緊急度によって分類し、問題に対応するチームメンバーを決定したり、カスタマーフィードバックを時系列で分析して顧客のsentimentを追跡することで不満が顕在化する前に対処したり、従業員のアンケートを分析して、時系列で変化する従業員感情の変化を追跡して、懸念が表面化する前に解決に導くといったものがある。 そんなSentiment Analysisだが、英語のテキストを分析するためのソフトウェアはこれまで様々な形で提供されてきた。たとえば、PythonパッケージならTextBlob、NLTK等があり、クラウドサービスであれば、Google Cloud Nat

    日本語 Sentiment Analyzer を作ってパッケージ化した話 - Ahogrammer
    Hironsan
    Hironsan 2019/02/11
    作ったで。
  • テキストの構造化を支える技術 -概要編- - Ahogrammer

    最近、情報抽出、特にOpen Information Extraction(OpenIE)という分野について勉強しています。せっかく勉強しているので、学んだ内容について何回かに分けて紹介していこうと思います。第一回目の今回は、OpenIEという分野の概要について紹介し、OpenIEのきっかけとなったシステムであるTextRunnerとその仕組みについて説明します。 Open Information Extractionとは? OpenIEについて述べる前に、まずは伝統的な情報抽出について述べておきましょう。情報抽出は非構造化データであるテキストを構造化された表現に変換するタスクです*1。情報抽出で抽出される情報は関係のタプルの形(arg1, rel, arg2)で表現されます。このタプルは関係を示すフレーズ(rel)とその対象であるエンティティ(args)から成ります。一般的な処理の流れと

    テキストの構造化を支える技術 -概要編- - Ahogrammer
    Hironsan
    Hironsan 2018/10/12
    書きました。
  • 1