タグ

ブックマーク / hironsan.hatenablog.com (3)

  • ElasticsearchとBERTを組み合わせて類似文書検索 - Ahogrammer

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

    ElasticsearchとBERTを組み合わせて類似文書検索 - Ahogrammer
    ryshinoz
    ryshinoz 2019/09/30
  • テキストの構造化を支える技術 -概要編- - Ahogrammer

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

    テキストの構造化を支える技術 -概要編- - Ahogrammer
    ryshinoz
    ryshinoz 2018/10/15
  • Keras の RNN/LSTM/GRU で内部状態を取得する - Ahogrammer

    自然言語処理で RNN を使っていると、RNN の内部状態を取得したくなることがあります。 TensorFlow では tf.nn.dynamic_rnn 等の関数を使うと、出力と状態を返してくれます。 しかし、Keras でのやり方については意外と日語の情報がありませんでした。 記事では Keras で RNN の内部状態を取得する方法についてまとめてみました。 RNN/LSTM/GRU の内部状態を取得 Keras にはリカレント層として、SimpleRNN、LSTM、GRU の3種類が用意されています。これらの層から内部状態を取得するためには、インスタンス化時の引数として return_state=True を渡す必要があります。 return_state を True にすることで、出力に加えて最終状態を取得できるようになります。 では、実際に各リカレント層の内部状態を取得して

    Keras の RNN/LSTM/GRU で内部状態を取得する - Ahogrammer
    ryshinoz
    ryshinoz 2018/03/02
  • 1