sbintuitions / JMTEB

The evaluation scripts of JMTEB (Japanese Massive Text Embedding Benchmark)
Creative Commons Attribution Share Alike 4.0 International
24 stars 4 forks source link

[Fix] OpenAIEmbedderにおけるempty stringの処理 #19

Closed lsz05 closed 4 months ago

lsz05 commented 4 months ago

関連する Issue / PR

N/A

PR をマージした後の挙動の変化

OpenAI embedding APIにおいては,入力がempty stringではならないので,異常処理を追加します。 Empty stringを見つかったら" "(space一つ)に変えます。

挙動の変更を達成するために行ったこと

異常処理を追加

動作確認

lsz05 commented 4 months ago

異常は気づかせた方が良いとは思いますが,{"text": ""}のような例は散発します。livedoor-newsにはdevとtestそれぞれ1つあります。これがデータセットはそうであるのが仕方ないと考えていますし,今の動作だと一つのデータセット全て埋め込み変換完了までキャッシュを作らないため,一つだけの異常例で落とすと時間とお金の無駄になります。 なのでwarningで済むのも良い気がします。

ryokan0123 commented 4 months ago

一つだけの異常例で落とすと時間とお金の無駄になります。

そうですね、OpenAI API を使っていると尚更… warnings を表示するので大丈夫です!

livedoor-newsにはdevとtestそれぞれ1つあります。

これは別でクリーニングというか、読み込み時にフィルタリングした方が良いでしょうか。

masaya-ohagi commented 4 months ago

僕もwarningsで基本的には大丈夫かと思います! ただその仕様がどこにも書かれていないのとわからないまま使ってしまう人が多いと思うのでinitのDocstringsに書いてあるとより良いと思います

lsz05 commented 4 months ago

@ryokan0123 空文字列の処理, #18 に一括で(長すぎると短すぎる(0)場合)実装したいと思います @masaya-ohagi docに追加しました!