メインコンテンツへスキップ

VillageSQL is a drop-in replacement for MySQL with extensions.

All examples on this page work on VillageSQL. Install Now →
センチメント分析は、テキストが肯定的、否定的、または中立的な感情を表しているかを教えてくれます。最も一般的な用途は商品レビューとサポートチケットです。すべての行を読まなくても、顧客が満足しているか不満を抱いているかが一目で分かります。MySQL には組み込みのセンチメント関数がありません。VillageSQL の ai_prompt() がそれを追加します。

標準的なアプローチ: アプリケーション層でのセンチメント分析

一般的な構成では、センチメントのスコアリングを MySQL の外で実行します。行を Python スクリプトに取り出し、センチメントライブラリまたは AI API を呼び出してから、スコアを書き戻します。これは機能しますが、データパイプラインが分断されます。一部のロジックは SQL に、一部は Python にあり、一括での再スコアリングにはスクリプトの実行が必要です。

VillageSQL の場合: SQL でのセンチメント分析

センチメント分析は分類タスクです。プロンプトで尺度を指定し、1 語の結果を求めます。
ラベル付けが終われば、センチメントを他の列と同じようにクエリできます。

数値スコアの追加

傾向分析や平均の算出には、ラベルの代わりに 1 から 5 のスコアを求めます。

アスペクトベースのセンチメント

センチメントをトピック別(製品の品質、配送、カスタマーサービスなど)に分けたい場合は、構造化された JSON 出力を求めます。

精度に関する注意

高速で安価なモデル(Claude Haiku、GPT-4o mini)は、単純な肯定的/否定的/中立的の分類には信頼できます。皮肉、評価が混在するレビュー、分野固有の言い回しといった微妙なケースでは、より高性能なモデルが有利です。精度が重要な場合は、完全なバックフィルを実行する前に、モデル出力のサンプルを人間によるラベルと照合して検証してください。 セットアップとプロバイダーの選択肢については、MySQL を AI API に接続するを参照してください。

よくある質問

テキスト分類とはどう違いますか?

センチメント分析は、感情的なトーンに焦点を当てた特定の分類タスクです。AI による MySQL でのテキスト分類では一般的なパターンを扱っています。このガイドでは、センチメントに特化したプロンプトと、スコアベースの出力を示します。

行の挿入時にセンチメント分析を実行できますか?

トリガーを使えば可能ですが、API 呼び出しの実行中、各 INSERT に 5 から 30 秒かかります。センチメントのスコアリングは、スケジュールされたバッチジョブで実行するほうが適切です。

英語以外のテキストはどうですか?

高性能な AI モデルは多くの言語をうまく処理します。精度が下がる場合は、プロンプトで想定する言語を指定してください。「このフランス語のレビューのセンチメントを評価してください…」のようにします。

NULL の結果はどう扱えばよいですか?

ai_prompt() は失敗時に NULL を返します。NULL の行がなくなるまで UPDATE のバッチループを実行し、アプリケーション側でレート制限を考慮したペース配分を行ってください。

トラブルシューティング

関連項目