0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

sentence-transformers を用いた情報検索システムについて

Last updated at Posted at 2024-09-20

開発の動機

社内の規則などを記述した PDF のドキュメント群があり、それを一括して検索できるシステムを作ろうと考えた。

処理の手順

イントラウェブサイトから PDF ファイルを DL する工程。

今回、ウェブロボットのように、あるドキュメントからその中のリンクをたどって新しいドキュメントをダウンロードすることはしない。与えられた複数の URL の PDF ドキュメントを毎日ダウンロードする。

PDF をテキストファイルに変換する工程。

ダウンロードした PDF ファイルをテキストファイルに変換するのには、pymupdf を使う。

変換したテキストファイルを sentence-transformers に読みこませる文章にする工程。

変換したテキストファイルは、一行が文章であったり、言い回しで完結するとは限らない。そこで、PDF から変換したテキストファイルを、spacy と ja-ginza を用いて、一行が文章になるように修正する。

テキストファイルを sentence-transformers に読み込ませる工程。

sentence-transformers は、文章あるいは言い回しを vector に変換して登録し、検索文から変換した vector に呼応する文章あるいは言い回しを検索するものである。そのため、最初に文章あるいは言い回しとその vector を登録しておく必要がある。

プログラム

ロボット

決められた PDF を1日ごとにダウンロードして保存し、sentence-transformers に読み込ませるテキストファイルを作る。

ウェブ

検索要求を受け付ける。

クライアント

ウェブから検索要求を受けとり、検索要求を TCP/IP 通信で サーバーに伝える。

サーバー

1日ごとに新しいテキストファイルを読み込み、検索に備える。リクエストが来たら検索を実行し、検索結果を返す。

ロボット

決められた PDF をDLし、検索サーバーが読み込めるテキストファイルを作る。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?