Jevは、大量の入力を高速に判定することに強みを持つモデルです。
使用参考記事: https://qiita.com/Ninagawa123/items/8ec3f5fe18c20fab1b2a
今回はKaggleの「PetFinder Adoption Prediction」14,993件を使って、
Jevをデータ分析に組み込むと、何ができるのか?
を試してみました。
実験環境やプログラムの作成には Codex を使っています。
この記事ではコードではなく、
何を試したか → 結果どうなったか
を中心に紹介します。
今回やりたかったこと
PetFinderには、ペットの年齢や種類だけでなく、里親募集の紹介文があります。
例えば、
人懐っこく、子どもとも仲良くできます。
現在は病気の治療中です。
という文章です。
この文章には、
- 人懐っこい
- 子どもとの相性が良い
- 医療上の問題がある
といった情報が含まれています。
そこでJevを使って、
文章の中にある意味を、普通のデータ分析で使える項目にできないか?
と考えました。
Jevで文章を29項目に変換
今回は、紹介文に対して25個の質問を行い、最終的に29項目のデータを作りました。
| 分類 | 判定した内容 |
|---|---|
| 性格 | 人懐っこさ、遊び好き、怖がり、攻撃性、愛情深さ、落ち着き、活発さなど |
| 社会性 | 子どもとの相性、他の動物との相性、人との関わり |
| ケア | 特別な世話、医療上の問題、行動上の問題、世話の大変さ |
| 文章の質 | 情報量、具体性、分かりやすさ、説明の詳しさ |
| 状況 | 保護・遺棄、医療目的の保護、緊急性、複数匹での募集 |
| 書き方 | 事実中心、保護ストーリー、感情中心、情報が少ない、混合 |
例えば、
保護された猫です。現在治療中です。
という文章なら、イメージとしては次のような項目に変換します。
| 項目 | 判定 |
|---|---|
| 保護・遺棄 | 高い |
| 医療上の問題 | 高い |
| 特別な世話 | 高い |
| 緊急性 | 中程度 |
つまり、
文章
↓ Jevで高速判定
分析できる29項目
に変えるわけです。
今回はこれを 14,993件 に対して実行しました。
使い方①:予測の材料にできるか?
最初に考えたのは、
Jevで作った29項目を追加すれば、機械学習の予測精度が上がるのでは?
という使い方です。
今回予測するのは、
「里親が決まるまでの速さ」
です。
Jevなしの場合と、Jevの29項目を追加した場合を比べました。
| 条件 | 予測スコア |
|---|---|
| Jevなし | 0.37269 |
| Jevあり | 0.37211 |
結果はほぼ同じでした。
つまり今回、
Jevの情報を追加しても、予測精度は上がりませんでした。
Jevの情報自体は意味がない?
そこで、Jevが作ったデータをわざとシャッフルして、元のペットとの対応を壊しました。
| 条件 | 予測スコア |
|---|---|
| 正しいJevデータ | 0.37211 |
| シャッフル | 0.36165 |
対応を壊すと性能が下がりました。
つまり、
Jevが文章から取り出した情報そのものには、予測に使える情報が含まれていた
と考えられます。
ただし今回の予測では、もともと紹介文そのものも使っています。
そのため、
元の文章分析ですでに持っている情報
と、
Jevが作った情報
が重なり、精度の上乗せにはならなかった可能性があります。
使い方②:文章を分析用データにできるか?
もう一つ試したのが、
予測ではなく、文章を分析できる表データに変える
使い方です。
元のデータが、
保護された猫です。現在治療中です。
という文章だけだったとします。
Jevを通すことで、
| 項目 | 判定 |
|---|---|
| 保護・遺棄 | 高い |
| 医療上の問題 | 高い |
| 特別な世話 | 高い |
| 緊急性 | 中程度 |
のような形にできます。
こうすると、
- 医療上の問題があるペットはどれくらいいる?
- 保護されたペットにはどんな傾向がある?
- 緊急性の高い募集にはどんな特徴がある?
といった分析がしやすくなります。
つまり、
人間が文章を読まないと分からなかった情報
↓
Jevで判定
↓
集計できる表データ
に変える使い方です。
今回は、
14,993件 × 29項目
のデータを作りました。
大量判定ならどれくらい速い?
②の使い方では、大量の文章を処理することになります。
そこで、同じ 10文章 × 3質問 をJevとGPT-4.1-miniで処理しました。
| モデル | 処理時間中央値 |
|---|---|
| Jev | 0.204秒 |
| GPT-4.1-mini | 1.042秒 |
今回の小規模比較では、Jevは約5.1倍高速でした。
費用も比較しました。
| モデル | 10件の推定費用 |
|---|---|
| Jev | $0.000258 |
| GPT-4.1-mini | $0.002225 |
約 1/8.6 です。
※今回はラベルの正確さを比較した実験ではありません。
結果まとめ
| 試したこと | 結果 |
|---|---|
| Jevの29項目を予測に追加 | 精度はほぼ変わらず |
| 文章を29項目に変換 | 14,993件で実行 |
| GPT-4.1-miniとの速度比較 | Jevが約5.1倍高速 |
| 費用比較 | Jevが約1/8.6 |
まとめ
今回試したのは、大きく2つです。
① Jevの判定結果を予測に使う
今回は、予測精度の向上は確認できませんでした。
② Jevで文章を分析用データに変える
こちらは、
大量の文章
↓
Jevで高速判定
↓
意味を項目化
↓
集計・可視化・機械学習
という使い方ができます。
今回の検証で特に面白かったのは②でした。
Jevは、
「予測モデルそのもの」として使うより、大量の文章を高速に判定し、データ分析できる形へ変換する処理として使うと面白そう
というのが今回の結果です。
次は Jev・GPT・人間 で同じ文章を判定し、
正確さ × 速度 × 費用
まで比較してみたいと思います。