埋め込みベクトル メモ
PerplexityAIに以下の質問をしました。
センチメント分析について、最新のプラクティスってどうなってますか? 埋め込みベクトル生成して教師あり学習させるか、OpenAIのapiを使うか
以下回答
最新のセンチメント分析のプラクティスには、埋め込みベクトル生成とOpenAIのAPIを利用する方法があります。それぞれのアプローチについて詳しく説明します。
埋め込みベクトル生成と教師あり学習
埋め込みベクトルは、テキストデータを高次元のベクトルに変換する技術で、これによりテキストの意味的な類似性を数値的に表現できます。埋め込みベクトルを生成するためには、以下のような手順を踏みます。
テキストデータの収集と前処理: 大量のテキストデータを収集し、ノイズ除去やトークン化などの前処理を行います。
埋め込みモデルの選択: 例えば、Word2Vec、GloVe、BERTなどのモデルを使用してテキストをベクトルに変換します。
教師あり学習の実施: 埋め込みベクトルを生成した後、それを用いて感情ラベル(ポジティブ、ネガティブ、ニュートラルなど)を予測するための機械学習モデルを構築します。これには、SVM、ランダムフォレスト、ニューラルネットワークなどのアルゴリズムが使用されます。
このアプローチの利点は、カスタマイズが容易であり、特定のドメインや用途に合わせたモデルを作成できることです。しかし、大量のデータと計算リソースが必要であり、モデルのトレーニングには時間がかかることがあります。
OpenAIのAPIを利用
一方、OpenAIのAPIを利用する方法は、既存の大規模言語モデル(LLM)を活用することで、迅速かつ高精度なセンチメント分析を実現します。OpenAIのAPIを利用する具体的な手順は以下の通りです。
APIの設定: OpenAIのAPIキーを取得し、必要な設定を行います。
埋め込みベクトルの生成: OpenAIのAPIを使用してテキストの埋め込みベクトルを生成します。以下はその例です。
bash
センチメント分析の実施: 生成されたベクトルを用いて、センチメント分析を行います。OpenAIのモデルはすでに大量のデータでトレーニングされており、高精度な結果を提供します。
この方法の利点は、迅速に実装できることと、高精度な結果が得られることです。ただし、APIの利用にはコストがかかることや、特定のカスタマイズが難しい場合があることがデメリットです。
まとめ
最新のセンチメント分析のプラクティスは、埋め込みベクトル生成と教師あり学習を行う方法と、OpenAIのAPIを利用する方法の2つが主流です。どちらの方法を選ぶかは、プロジェクトの要件やリソースに依存します。カスタマイズ性を重視する場合は前者、迅速な実装と高精度を求める場合は後者が適しています。
ということでした。無料でやりたいので埋め込みベクトル&教師あり学習で進めてみようと思います。教師データの作り方や既存のモデルみたいなものがあるのか調べようかな。
会議録テキストの読み込み
BERTで埋め込みベクトル生成
PCAで次元削減
K-meansクラスタリング
平面プロット
以上の流れで簡単にテキストをクラスタリングしてみた。
安野さんの紹介していたTTTC(Talk To The City)というツールはたぶんざっくりこんな感じのことをしていて、グループのテキストをいくつかチョイスして、生成AIにラベルを出力してもらう。
各テーマのボリュームや距離がわかるのかな。
おしまい