プロジェクトの概要
エンティティ +意見(アスペクト)カスタマーサービスレビューからの抽出は、真の注釈付きラベルに対する評価とともに。
データセット:
- 説明: Yelpカスタマーサービスレストランレビュー
- 名前:
train.csv - コンテンツ: CSVファイルには2つの列が含まれています(レビュー、感情/意見/アスペクトラベル)
- 注:生のレビューのみが分析されました。センチメント/オピニオンラベルは、コードの目的が改善された方法を抽出する方法を見つけることであったため、無視されました。
- 注:このファイルは、EDAの目的でのみ使用されました。
真のラベル
- データセットは、真のラベルを生成するための人間の注釈を受けませんでした。
-
sample_review.csvファイル(単一の注釈付きレビューを含む)が、真のVSプレッドラベルのPOC比較のために作成されました。
プロジェクトパーツ:
パートI-エダ
パートII-エンティティオピニオンタプル抽出
このモジュールは、エンティティに関するレビューアの意見(たとえば、「ややおいしい」)とともに、レビュー中のエンティティ(「食品」など)を抽出することに関係しています。
パートIII-評価
このモジュールは、グラウンドトゥルースアノテーションに対するエンティティオピニオンタプル抽出の評価に関係しています。
EDA:初期および一般的な洞察
- レビューの数: 1121
- 感情: 〜60%(POS); 〜20%(ニュートラル); 〜20%(neg)ほとんどの人は、食事体験に関して肯定的な感情を示しています。

- 単語の長さ:約レビューの50%は6〜15トークンの長さです。ほとんどの人は、「非常に徹底的な」レビューを書くのに時間をかけることはありません。

- Extended EDA - Additional NLP techniques that can be used for gaining insights: Q&A model, WordCloud, N-gram frequency count (after stopwords removal), fuzzy matching, exact/partial matching (stopwords, morphological prefixes and suffixes), clustering algorithms (lexicosyntactic, semantic), sentiment, polarity, aspect and sentiment combined, NER, distinction into食事/飲み物、食事の種類(朝食、昼食、夕食)への区別、トークンのバイナリPOSベースの区別(形容詞vs休憩)、副詞強化剤分析、構文依存分析、句読点の分布(タイプ、バイナリ、感情との組み合わせ)。
コード
- EDA-
EDA.ipynbファイルを参照してください - エンティティオピニオン抽出 +真-VSプレッド評価。 -プロジェクト(
.pyモジュール)
説明書
main.pyモジュールを実行します
注:
- OpenAI APIキーを保存するための
.envファイルを必ず作成してください。 - 次の形式を使用します:
OPENAI_API_KEY = "your_openai_api_key"
実装と代替案:
エダ
単純なアプローチ(クイック、単にデータの最初のマクロビューを提供します)
- レビューの全長を測定するための単語数(絶対および正規化の両方)の分布。
- 単語クラウド
より詳細な理解
LexicosyntacticからSemantics-Pragmaticsインターフェイスアプローチへの移行
エンティティオピニオン抽出
- NERモデルは、すべてのドメインで可能なエンティティの全範囲を反映していない訓練されたエンティティのセットに限定されています(たとえば、レストランのレビュー)。注釈、レビュー、トレーニングの退屈なプロセスが必要です。
- Q&Aモデルは、主に特定の一連の質問とデータセットでトレーニングされており、LLMよりもタイプIおよびIIのエラーが多くなる可能性があります。
迅速なエンジニアリング
以下に重点が置かれました。
- コット(思考の連鎖)
- 少数のショット学習
- システム/ユーザー/アシスタントロールの区別
- モデルを安心させます
評価アプローチ:グラウンドトゥルースアノテーションに対するLLM抽出
Cosineの類似性を使用してセマンティックテキストの類似性を測定するためのBert Sente-Transformers。
真のVS予測エンティティと意見(アスペクト)のさまざまな言語バリエーションをテストした後、モデルの生産への予測を受け入れるために0.85のしきい値が設定されました。
評価の代替案
ルールベースのソリューションとともに、文の変換器
結果の妥当性を強化するために、洗練されたアプローチ(文の変換者など)を従来のルールベースのアプローチと組み合わせます。
たとえば、構文の依存関係解析と組み合わされたトランスベースのソリューション、POSおよびNER(言語的特徴)は、「レストラン」と「レストラン」が、上からの「おいしい」と「やや美味しい」例とは対照的に、同じ(決定的な」と見なされることを確認するのに役立ちます。
従来の分類メトリック(リコール、精度、F1スコア、精度)
この場合、より従来の分類メトリック(リコール、精度、F1スコア、精度)はあまり関連していません。
混乱マトリックスコンポーネントの多くは、レビュー全体から1つの単語/フレーズのみのバイナリ分類タスクとは無関係です(エンティティ認識の場合は1回、アスペクトに対して1回)。これにより、これらのメトリックの一部を計算することが不可能になります。
さらに、これらのメトリックは、形容詞/名詞修飾子および副詞強化剤の包含/除去の影響を受けた微小なセマンティクスを完全にキャプチャできません。たとえば、「おいしい」対「やや美味しい」。
さらに、これは、リコール、精度、F1スコア、および精度を使用する場合、これらのような部分的な一致を無視するかどうかを考慮すべきかどうかという問題を提起します。
従来のNグラムベースのメトリック(辞書類の類似性)
しかし、私は、従来のN-Gramベースのメトリックをベースラインを確立するために採用できると信じています。
- bleu(精密に焦点を当てた)
- ルージュ(リコール中心)
- 流星(正確な高調波平均を計算し、語順とフレーズの違いに対するペナルティとともにリコールします)
生産におけるソリューションの生存率
より徹底的なテストが必要ですが、BERT文と変換の埋め込みと比較的厳格なしきい値を測定するための意味テキストの類似性を測定するために使用されるコサイン類似性アプローチ(これは、主に形容詞/名詞修飾子および副詞強化剤の存在/欠如を考慮に入れる必要があります)は、生産環境で機能する可能性があります。
また、レイテンシ、計算時間、サーバーでの重いモデルのホスト、追加コストなど、生産環境には追加の考慮事項があります。