1532_聖句類似度を検索するアプリケーションのベータ版公開

Webアプリケーション

今日は細々と作っていたWebアプリケーションのベータ版が完成したので公開したいと思います。これはただ単に僕がほしいと思っていたアプリケーションです。僕は聖書の聖句を暗唱することを信仰生活の基礎においています。それをサポートするためのアプリケーションになります。

聖書を読んでいて「覚えたい」と思った聖句を見つけた時に、それに近い聖句も合わせて覚えたいと思うことがあります。そういった場合、引照付き聖書を使っていれば関連個所を見つけることはできますが、引照がついていない場合もありました。

方法

そこで、聖書66巻の聖句、約31,100節すべての類似度を計算して、類似度が高い聖句を調べられるようにしたいと思いました。それを実現するのはとても簡単です。既に存在しているTF-IDFというモデルとコサイン類似度を計算すればある程度信頼性の高い結果を出すことができます。

TF-IDFについて簡単に説明します。TF(Term Frequency)とは1つの文章にある単語がどれほど出現するか?を表します。一方、IDF(Inverse Document Frequency)とはある単語が「どれだけ珍しいかを示す指標です。

今回やりたいことに合わせて説明すると、たとえば、TFはある節に「愛」という単語がどれほど出現するか?、IDFは聖句全体約31,100節で「愛」を含む節が全体のどれほどあるか?を計算します。

精度確認

TF-IDFで計算すると約31,100節すべての節がベクトル化されます。そして、検索対象の1節と約31,100節とコサイン類似度を計算すれば類似度が出せます。精度確認のために先日読んだ箇所の類似度を確認してみました。

列王記上16章34節には500年前にヨシュアの預言が成就しますが、類似度0.390(最大は1)で最上位にヨシュア記の該当箇所が表示されているので比較的精度高く動いていることがわかります。

また、ペンテコステの日が近いので使徒行伝2章のペテロのヨエル書の引用をためしてみました。こちらは4番目ですが、類似度0.415でヨエル書が表示されています。

URL

もちろん、完璧ではないです。なぜならプログラムで口語訳聖書全文を取得していますが、イレギュラーな改行がある場合などは取得できていない言葉があるからです。だからベータ版とさせてください。しかし、特定の聖句が全く空になっているということは避けられているはずです。そのため、ある程度において高い類似度で表示できるので参考程度に使えると思います。

今回聖書対象を口語訳聖書にした理由は、口語訳はすでに権利が切れているのと、自身が口語訳で暗唱聖句を続けてきたからです。

テスト版の無料のサーバーを使っているので、アクセスしてから数十秒の待ち時間がありますが、待てば添付画像のような画面が表示されます。書簡を選択してから、章と節を選択し検索ボタンを押下すると結果が下に表示されます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)