はじめに
ECサイトの製品レビューは、顧客の意見を反映させる貴重なデータです。しかし、大量なレビュー内容を一つ一つ評価するのは難しいことがあります。このような課題を解決するために、本記事ではDataikuを活用して「炊飯器」のレビュー文をネガポジ分析(感情分析 / センチメント分析)し、その結果を可視化する方法をご紹介します。
目次
目的
Amazonや楽天などの大型ECサイトには、大量のレビューデータが有ります。
レビューデータを解析することで、顧客満足度や製品の改善点、強み、市場のトレンドやパターンの把握、リスク管理、ブランドイメージ理解、顧客ターゲティングなどの様々な恩恵を得ることができます。
今回はレビュー分析の初手としてECサイトで売られている「炊飯器」のレビュー文から、ネガポジの評価を知ることで、自社製品に良い/悪いイメージを持っている顧客がそれぞれどのくらいいるのかを把握したいと思います。
Dataikuでネガポジ分析
以下のFlowで実装していきます。
1. データ整形
まず最初に、ECサイトから収集したレビューデータを整形します。製品番号ごとに収集されたレビュー情報(ASIN、 タイトル、 内容、 レビュアー、 etc。)は、レビュー内容が空白であったり、重複データが存在することがあります。これらを適切に処理し、分析に使用できるデータを作成していきます。
1.1 Stackレシピ
今回利用するデータは製品番号ごとにファイルが作成されているため、ビジュアルレシピのStackレシピを使用してデータを一つのファイルにまとめます。すべてのファイルでは同じカラムを持っているため、スキーマの設定はデフォルトのまま結合を行います。
1.2 Prepareレシピ
データセット内のレビューには、未記入なデータが存在します。今回のネガポジ分析ではレビュー文を利用するので、レビュー文が記録されているカラム(”内容”)が空のデータを削除します。
処理を行いたいカラム(”内容”)を選択し、Remove rows with no valueで空のデータを削除するスクリプトを設定します。
左側のステップに目的のスクリプトを設定し、RUNボタンで実行します。
1.3 Distinctレシピ
ECサイトでは、サイズや色などの異なる製品に対して同じレビューが表示されることがあります。この場合、同じレビューがネガポジの集計に影響を及ぼし、特定の製品に対する評価が不正確になる可能性があるため、重複する部分を削除する必要があります。データの重複判断に使用するカラムは自由に選択できますが、今回はデフォルトで全てのカラムを使用します。
2. ネガポジ分析
レビュー内容に対してネガポジ分析を行います。 今回のネガポジ分析で利用するモデルはHugging Face Transformersです。
DataikuでHugging Faceを利用する際に注意するポイント
Hugging Faceでは学習済みのモデルをダウンロードして利用するためにCode envで初期化スクリプトの設定が必要になります。
Code envとは…
Dataikuで利用するライブラリを管理するための機能です。これにより、プロジェクトごとに環境を構築し、PythonやRのコードを実行することが可能になります。
プロジェクトで利用するHugging FaceのモデルをCode envのResourcesで設定。
Code envで必要なライブラリなどの設定後、Pythonレシピでレビュー文(”内容”)をネガポジ判定するコードを実装しました。
以上の実装により、レビュー文をネガポジ判定することができました。
3. 可視化
レビュー文に対するネガポジ分析が完了したら、その結果を可視化して、製品ごとの感情傾向を把握できるようにします。Dataikuでは簡単にグラフを作成できる機能があり、今回は円グラフと棒グラフを用いて製品ごとのネガポジ分析結果を可視化します。
可視化したいデータを選択した状態で、Chartsボタンからグラフ作成の画面に遷移します。
グラフは棒グラフや円グラフ、グリッドマップなどの様々な形で可視化することができます。
また、グラフの色や文字サイズなども簡単に調整が可能です。
ネガポジ分析を行った結果を製品番号ごとに円グラフで可視化してみました。製品ごとにネガティブとポジティブの割合に違いが確認できます。
作成したグラフはDashbordに張り付けることもでき、複数のグラフを同時に確認することができます。また、フィルタ機能を用いて表示する内容を絞ることもできます。
最終的に作成したグラフやDashbordはエクスポートすることで、説明資料として利用することができます。
まとめ
今回の記事では、Dataikuを用いて「炊飯器」のレビュー文をネガポジ分析し、その結果をグラフで可視化しました。基本的な自然言語処理を行う場合は、DataikuのPluginやLLMレシピを利用します(関連記事)。しかし今回はOpenAIなどの機能を使用せず、Pythonレシピを用いてノーコストで実装する方法をご紹介しました。ユーザーが自由にモデルを設定して実行できるので、最新の手法やオープンソースのモデルが利用できるメリットがあります。
次回は、レビュー文をトピックごとにネガポジ分析する方法について紹介します。
後編「Dataikuでトピックごとのネガポジ分析をする」はこちら
Dataiku導入を考えている方へ
KeywalkerはDataiku社のパートナーとしてDataikuの導入支援を行っています。データ分析による業務改善にご興味がある方はぜひ、Keywalkerにご連絡ください。
またDataikuのユースケースや操作感を知りたい方は、Dataiku体験会を開催しておりますので、そ\ちらに興味がある方もご連絡ください。
Keywalker 問い合わせフォーム:https://www.keywalker.co.jp/inquiry.html