ドクトランとLLM:消費者の苦情を分析するための強力なコンビ

『ドクトランとLLM:消費者の苦情を分析するための強力なコンビ』

紹介

現在の競争の激しい市場では、企業は消費者の苦情を効果的に理解し解決することを目指しています。消費者の苦情は、製品の欠陥やお客様サービスの問題、請求エラーや安全上の懸念など、さまざまな問題についての洞察を提供します。これらは、企業と顧客の間のフィードバック(製品、サービス、または経験に関するもの)ループで非常に重要な役割を果たします。これらの苦情を分析し理解することで、製品やサービスの改善、顧客満足度、全体的なビジネスの成長に対する貴重な示唆を得ることができます。この記事では、Doctran Pythonライブラリを活用して消費者の苦情を分析し洞察を抽出し、データに基づいた決定を行う方法について探っていきます。

学習目標

この記事では以下のことを学びます:

  • doctran pythonライブラリとその主な機能について学ぶ
  • ドキュメント変換と分析におけるdoctranとLLMの役割について学ぶ
  • doctranがサポートする抽出、黒塗り、照会、精緻化、要約、翻訳の6つのドキュメント変換の詳細を調査する
  • 消費者の苦情からの生のテキストデータのアクション可能な洞察への変換の全体的な理解を得る
  • doctranの文書データ構造、ExtractPropertyクラス、プロパティを抽出するためのスキーマの定義について理解する

この記事はData Science Blogathonの一環として公開されました。

Doctran

Doctranは、ドキュメントの変換と分析に特化した最先端のPythonライブラリです。テキストデータの前処理、重要な情報の抽出、カテゴリ化/分類、照会、情報の要約、他の言語へのテキストの翻訳など、一連の機能を提供します。DoctranはOpenAI GPTベースのLLM(Large Language Models)やオープンソースのNLPライブラリを使用してテキストデータを分析します。

Doctranは以下の6種類のドキュメント変換をサポートしています:

  1. 抽出: ドキュメントから有益な機能/プロパティを抽出する
  2. 黒塗り: ドキュメントから個人を識別できる情報(氏名、メールアドレス、電話番号など)を削除する。内部的には、データをOpenAIに送る前に、敏感情報を削除するためにspaCyライブラリを使用します
  3. 照会: ドキュメントを質問-回答形式に変換する
  4. 精緻化: ドキュメント内の特定のトピックに関連しないコンテンツを除去する
  5. 要約: ドキュメントを簡潔で包括的かつ意味のある要約として表現する
  6. 翻訳: ドキュメントを他の言語に翻訳する

この統合はLangChainフレームワークのdocument_transformersモジュールでも利用できます。LangChainは、LLMを活用した最新のアプリケーションを構築するためのフレームワークです。

LangChainは、オープンソースおよびクローズドソースのさまざまなLLMモデルを探索および活用する柔軟性を提供します。PDF、テキストファイル、Excelスプレッドシート、PPTなど、さまざまな外部データソースに接続することができます。また、異なるプロンプトでの実験、プロンプトエンジニアリングへの取り組み、組み込みのチェーンやエージェントの活用なども可能です。

Langchainのdocument_transformersモジュール内には、DoctranPropertyExtractor、DoctranQATransformer、DoctranTextTranslatorの3つの実装があります。これらは、それぞれドキュメントの抽出、照会、翻訳のために使用されます。

インストール

Doctranはpipコマンドを使用して簡単にインストールできます。

pip install doctran

doctranライブラリについて知ったので、以下のトリプルバッククォート(“`)で囲まれた消費者の苦情を使って、doctranで利用できる異なる種類のドキュメント変換の詳細を探ってみましょう。

「`
2021年11月26日
部長様
顧客サービス部
Taurus Shop
New Delhi – 110023
件名:不良品の「VIP」洗濯機に関する苦情
尊敬する部長様へ、
2022年7月15日にモデル番号G24の自動洗濯機を購入し、請求書番号は1598です。
先週、洗濯機が突然動作を停止し、その後も私たちの努力にもかかわらず動作しなくなりました。すすぎプロセスが完了した後、機械が動作を停止し、多くの問題を引き起こしています。さらに、ここ数日間で機械は大きな音を出すようになり、私たちに不便をかけています。
修理のために技術者を派遣していただき、必要に応じて来週までに交換していただければ幸いです。
早急なご対応をお願い申し上げます。
敬具
「`

Doctranドキュメントとしての苦情の読み込み

Doctranを使用してドキュメント変換を実行するには、まず生のテキストをDoctranドキュメントに変換する必要があります。Doctranドキュメントは、ベクトル検索に最適化された基本的なデータ型です。構造化されていないデータの一部を表します。それは生のコンテンツと関連するメタデータで構成されています。

open_ai_keyパラメーターでOPENAI_API_KEYを指定して、Doctranオブジェクトをインスタンス化します。次に、doctranオブジェクト上のparse()メソッドを呼び出して、生のコンテンツをDoctranドキュメントとして解析します。

sample_complain = """2021年11月26日部長様顧客サービス部Taurus ShopNew Delhi – 110023件名:不良品の「VIP」洗濯機に関する苦情尊敬する部長様へ、2022年7月15日にモデル番号G24の自動洗濯機を購入し、請求書番号は1598です。先週、洗濯機が突然動作を停止し、その後も私たちの努力にもかかわらず動作しなくなりました。すすぎプロセスが完了した後、機械が動作を停止し、多くの問題を引き起こしています。さらに、ここ数日間で機械は大きな音を出すようになり、私たちに不便をかけています。修理のために技術者を派遣していただき、必要に応じて来週までに交換していただければ幸いです。早急なご対応をお願い申し上げます。敬具"""doctran = Doctran(openai_api_key=OPENAI_API_KEY)document = doctran.parse(content=sample_complain)print(document.raw_content)

出力:

DocTransformers

1. 抽出

Doctranの主な機能の1つは、ドキュメントから主要なプロパティを抽出することです。内部的には、ドキュメントからプロパティ(データポイント)を抽出するためにOpenAIの関数呼び出しを使用します。トークン制限が8000トークンのOpenAI GPT-4モデルを使用しています。

Generative Pre-trained Transformer 4の略であるGPT-4は、OpenAIが開発した多モーダル大規模言語モデルです。従来のモデルに比べて、GPT-4は複雑なタスクに取り組むための能力が向上しています。さらに、テキストに加えて画像、チャート、ミームなどの視覚的な入力も使用できます。このモデルは、法廷弁護士資格試験を含むさまざまな専門的な試験で、人間レベルのパフォーマンスを達成しています。

抽出したい各プロパティのためにExtractPropertyクラスをインスタンス化することで、スキーマを定義する必要があります。スキーマには、プロパティ名、説明、データタイプ、選択可能な値のリスト、および必須フラグ(ブール値)など、いくつかのキーエレメントが含まれます。

ここでは、4つのプロパティ(カテゴリ、感情、攻撃性、言語)を指定しています。

from doctran import ExtractPropertyproperties = [    ExtractProperty(        name="Category",         description="この苦情がどの種類の消費者苦情であるか",        type="string",        enum=["製品またはサービス", "待ち時間", "配送", "コミュニケーションの問題", "従業員"],        required=True        ),    ExtractProperty(        name="Sentiment",         description="極性/感情を評価する",        type="string",        enum=["Positive", "Negative", "Neutral"],        required=True        ),     ExtractProperty(        name="Aggressiveness",         description="""苦情の攻撃性を示し、値が高いほど攻撃的です""",        type="number",        enum=[1, 2, 3, 4, 5],        required=True        ),       ExtractProperty(        name="Language",         type="string",        description="ソース言語",        enum=["英語", "ヒンディー語", "スペイン語", "イタリア語", "ドイツ語"],        required=True        )         ]

プロパティを取得するには、ドキュメント上でextract()関数を呼び出すことができます。この関数はプロパティをパラメータとして受け取ります。

extracted_doc = await document.extract(properties=properties).execute()

抽出操作では、extracted_propertiesキーで指定されたプロパティを持つ新しいドキュメントが返されます。

print(extracted_doc.extracted_properties)

出力:

2. 尋問

Doctranでは、ドキュメント内のコンテンツをQ&A形式に変換することができます。ユーザーのクエリは通常、質問として表現されます。ベクトルデータベースを使用する際に検索結果を改善するために、情報を質問形式に変換することは役に立ちます。これらの質問からインデックスを作成することで、元のテキストをインデックス化するよりもより良いコンテキスト検索が可能となります。

ドキュメントを尋問するには、組み込みのinterrogate()関数を使用します。これにより、生成されたQ&Aのセットがextracted_properties属性内で利用できる新しいドキュメントが返されます。

interrogated_doc = await document.interrogate().execute()print(interrogated_doc.extracted_properties['questions_and_answers'])

出力:

3. 要約

Doctranを使用して、元のテキストの簡潔で意味のある要約を生成することもできます。要約するにはsummarize()関数を呼び出し、token_limitを指定して要約のサイズを設定します。

summarized_doc = await document.summarize(token_limit=30).execute()print(summarized_doc.transformed_content)

出力:

4. 翻訳

ドキュメントを他の言語に翻訳することは、異なる言語でのナレッジベースへのクエリが必要とされる場合や、与えられた言語に対して先進的な組み込みモデルが利用できない場合に特に役立ちます。

消費者の苦情の使用例では、グローバルな顧客基盤を持つ企業にとって言語翻訳は有用です。組み込みのtranslate()関数を使用することで、情報をヒンディー語、スペイン語、イタリア語、ドイツ語など他の言語に翻訳することができます。

translated_doc = await document.translate(language="hindi").execute()print(translated_doc.transformed_content)

出力:

結論

データに基づく意思決定の時代において、消費者の苦情分析は、製品とサービスの改善につながり、最終的に顧客満足度の向上につながる重要なプロセスです。LLM(Large Language Models)と高度なNLPツールを使用することで、生のテキストデータを実行可能な洞察に変換し、ビジネスの成長と改善を推進することができます。本記事では、doctranについて、このライブラリがサポートするさまざまな種類のドキュメント変換と、消費者の苦情を用いた具体例を紹介しました。

キーポイント

  • 消費者の苦情は、単なる不満だけでなく、企業にとって重要なフィードバックの源泉でもあります。
  • doctran Pythonライブラリは、GPT-4のようなLLMとともに、ドキュメントの変換と分析のための強力なツールセットを提供しています。抽出、黒塗り、尋問、要約、翻訳など、さまざまな変換をサポートしています。
  • doctranの抽出機能は、OpenAIのGPT-4モデルを使用して、ドキュメントから主要なプロパティを抽出するのに役立ちます。
  • doctranの尋問機能を使用して、ドキュメントのコンテンツを質問回答形式に変換することで、コンテキストの検索が改善されます。このアプローチは効果的な検索インデックスの構築と、より良い検索結果を可能にするために価値があります。
  • グローバルな顧客基盤を持つ企業は、doctranの言語翻訳機能を活用することで、複数の言語で情報にアクセスできます。また、テキストの簡潔で意味のある要約を生成する機能も提供しています。

よくある質問

この記事に表示されているメディアはAnalytics Vidhyaの所有物ではありません。著者の裁量で使用されています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI研究

スタンフォードの研究者たちはPLATOを発表しました:知識グラフに拡張された正則化を用いた高次元、低サンプルの機械学習の過適合に取り組むための斬新なAIアプローチ

ナレッジグラフ(KG)は、ノードとエッジとして情報を格納するグラフベースのデータベースです。一方、マルチレイヤーパーセ...

機械学習

このAI論文では、「ステーブルシグネチャ:画像透かしと潜在的な拡散モデルを組み合わせたアクティブ戦略」が紹介されています

生成モデリングと自然言語処理の最近の進歩により、DALL’E 2やStable Diffusionなどのツールを使用して、写真のような...

AI研究

このAI研究は、「ComCLIP:組成画像とテキストの整列におけるトレーニングフリーな方法」を公開しています

組成画像とテキストのマッチングは、ビジョン言語研究のダイナミックなフィールドにおいて、大きな課題を提起しています。こ...

AI研究

ETHチューリッヒとマイクロソフトの研究者らが提案したX-Avatarは、人間の体の姿勢と顔の表情をキャプチャできるアニメーション可能な暗黙の人間アバターモデルです

ポーズ、見つめること、表情、手のジェスチャーなど、総称して「ボディランゲージ」と呼ばれるものは、多くの学術的研究の対...