Fess 14.17のリリース

Fess 14.17をリリースしました。いつものように細々とした修正をしている感じではありますが、このリリースから、1つのOpenSearchのクラスターに対して、複数のFessのインスタンスを起動することができます。OpenSearch上のインデックスは、それぞれおのインスタンスとして、利用することができるようになります。今までも、設定としてはあったのですが、それぞれのFessのインスタンスから制御できなくなっていたので、設定周りを整理しました。

それ以外では、canonical URLのチェックで大文字小文字は無視するようにしたり、ファイルアップロード周りの処理を見直したりした感じです。

あとは、ソースコードの修正とは関係ないところで、リリースノートの文面はChatGPTで生成するようにしていましたが、フォーラムでのリリースのお知らせもChatGPTで生成するようにしたので(今までただのリンクしか置いてなかった…)、それっぽくなったような気もします。毎回、文面を考えるのも結構めんどくさいので…。

何かあれば、フォーラムへ投げてください。

SPLADE++を実装してみる

simple-spladeを作った勢いで、ChatGPTと相談しながら、simple-*的な派生品を作り始めているのですが、ひとまず、simple-spladeppとして、SPLADE++を作ってみた。

teacherモデルをどうするかはあるけど、ざっとみた感じでは、こんな感じかなと思われる。日本語をどうするか?を考えるなら、ベースモデルを作るところも考えた方が良いような気もするけど、それは気が向いたら考えることにする。

そんな感じで、今後もsimple-*シリーズを増やしてみようかなと。

SPLADEを実装してみる

naverのSPLADEの実装は、GitHubのnaver/spladeにあるけど、これが商用不可だったりするので、ゼロから実装して、何かで使いたいときの際にベースとして利用できるものがほしいなーと思ってました。というわけで、シンプルなSPLADEの実装を作ろうということで、marevol/simple-spladeとして、作ってみました。ChatGPTと壁打ちしながら、作っていった感じではあるけど、たぶん、それっぽい感じにはなったかなと思います。

main.pyでAmazonのECSIデータを利用して、クエリー(query)と商品名(product_title)を学習する感じになってます。ExactのEをpositiveで、それ以外をnegativeとして扱ってます。コード量も多くないので、簡単に眺めることができるのではないかな…と思いますし、たぶん、手を加えやすいと思います。

マルチリンガルで、とChatGPTに言ったら、xlm-roberta-baseになったので、そのままですが、別なモデルでも良いような気もしてます…。

勢いで作った感じはありますが、何かあれば、修正してください。