JP2023511600A - ユーザフィードバックを伴うテキストベースの会話体験においてユーザに意図提案を提供するためのシステム、装置、及び方法 - Google Patents

ユーザフィードバックを伴うテキストベースの会話体験においてユーザに意図提案を提供するためのシステム、装置、及び方法 Download PDF

Info

Publication number
JP2023511600A
JP2023511600A JP2022545130A JP2022545130A JP2023511600A JP 2023511600 A JP2023511600 A JP 2023511600A JP 2022545130 A JP2022545130 A JP 2022545130A JP 2022545130 A JP2022545130 A JP 2022545130A JP 2023511600 A JP2023511600 A JP 2023511600A
Authority
JP
Japan
Prior art keywords
customer
text
documents
user
labels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2022545130A
Other languages
English (en)
Inventor
アミット チョードリー
スワループ チトルール ハリダス
クリスチャン レイプスキ
ヤシュクマル ガンディー
シャム ヒラチャンド シンデ
Original Assignee
ヘルプシフト インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヘルプシフト インコーポレイテッド filed Critical ヘルプシフト インコーポレイテッド
Publication of JP2023511600A publication Critical patent/JP2023511600A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/012Providing warranty services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/015Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
    • G06Q30/016After-sales
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0613Third-party assisted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

より効果的なカスタマーサービスサポートシステムを提供するためのシステム、装置、及び方法。トレーニング済みモデルは、文書(顧客が生成したメッセージ等)のコーパスの取得、文書のコーパス内の各文書からのキーフレーズの生成、文書のコーパス内の各文書からの単語の埋め込みの生成、単語の埋め込みに対するクラスタリング操作の実行、コーパス内の各文書のクラスタへの割り当てと各クラスタのラベル付け、クラスタ内の最も関連性の高い文書とそのクラスタに割り当てられたラベルを使用した機械学習又はテキスト分類モデルのトレーニングを含むプロセスによって作成又は生成され得る。これらの方法には、顧客が顧客支援を求める際にナビゲート及び所望の意図又は目的を選択する方法を複数提供する処理フローが含まれる。処理フローの一部として、トレーニング済み機械学習モデルと意図木データが、支援を求める顧客に提供される。

Description

発明の詳細な説明
[関連出願の相互参照]
本出願は、2020年1月22日に出願された「ユーザフィードバックを伴うテキストベースの会話体験においてユーザに意図提案を提供するためのシステム、装置及び方法(System,Apparatus and Methods for Providing an Intent Suggestion to a User in a Text-Based Conversational Experience with User Feedback)」と題された米国仮出願第62/964,548号の利益を主張するものであり、その全内容を(付属書類を含め)本参照により援用する。
本出願はまた、2020年1月22日に出願された「ユーザフィードバックを伴うテキストベースの会話体験においてユーザに意図提案を提供するためのユーザインターフェイス及びプロセスフロー(User Interface and Process Flow for Providing an Intent Suggestion to a User in a Text-Based Conversational Experience with User Feedback)」と題された米国仮出願第62/964,539号の利益を主張するものであり、その全内容を(付属書類を含め)本参照により援用する。
[背景技術]
会話ベースのカスタマーサービスシステムでは、サービスエージェント及びカスタマーサポート担当者は通常、顧客に提供する支援のタイプ、カテゴリ、又は領域の観点から編成される。例えば、eコマース環境では、一部のエージェントは支払い/請求の質問又はタスクに関するカスタマーサービス又は支援の提供を専門としている(つまり、彼らはクレジットカードの処理、チャージバック、払い戻し等を理解している)が、他のエージェントは配送の履行に関する顧客支援の提供を専門としている(つまり、彼らは物理的な商品の追跡、宅配業者の慣行及びスケジュール、天候への影響、ルーティングの問題等を理解している)。さらに他のエージェントが、質問に回答し、製品情報又は保証に関連するタスクで顧客の支援を担当する場合がある。
カスタマー支援エージェントの細分化の結果、エンドユーザ(顧客やベンダー等)がカスタマーサービスにメッセージを送信する場合、ユーザの質問に答える、あるいは顧客が問題を解決するのを手伝うのに最適な部門又はエージェントのグループにメッセージをルーティング(取り次ぎを)する必要がある。伝統的に、及び従来のシステムでは、これは、ユーザの入力を人力により検討し、ユーザの要求又は問合せをどこへルーティングするかを適切なエージェント又はエージェントのグループの人が決定することによって実現されてきた。これは、誰かが全ての新しい着信サービス要求チケットに目を通し、それを適切な部門に割り振ってから、その部門にチケットを転送することを意味している。
しかし、サービス要求チケットの評価及びルーティングを人力で実行することには、複数の欠点があり、その中には少なくとも次のものがある。
●人間がプロセスのボトルネックであるため、時間がかかり、複数の人間が多数のサービス要求にわたってこの作業を調整することは、プロセスのもう1つの非効率的な側面である。
●人力であり人間の判断に基づいているため、エラーが発生しやすくなる。例えば、サービス要求には、多くの場合、ある程度のあいまいさがある(例えば、チケットを「請求」と「払い戻し」のどちらに分類するかは常に明確であるとは限らない)。
●この作業は退屈で面白くなく、この役割の担当者の間では離職率が比較的高くなる。このことは、採用、トレーニング及び維持コスト、並びに人員配置要件に影響を与え得る。
従来のアプローチに関連するこれら及びその他の問題は、カスタマーサポート要求に使用される評価及びルーティングプロセスを部分的又は完全に自動化する方法を会社が模索するインセンティブとなる。しかし、多くの場合、ルールのセットを使用してルーティングを効果的に自動化することはできない。前述のように、ユーザが支援の要求を表現する方法には、多くの場合、明確なパターンや一貫性がなく、ユーザの要求を解釈する際に発生するあいまいさを取り除く効果的な方法がないためである。例えば、「返金してほしい」は「払い戻し」として分類する必要があり、そのようなルール(電子メールフィルタリングルールで使用されているもの等)を自動化するための明確なキーワードは存在しない。
本発明の実施形態は、会話ベースのカスタマーサービスサポートシステムを個別及び集合的に提供するための従来のアプローチに関連するこれら及び他の問題を解決することを目的としている。
[発明の概要]
本明細書で使用される「発明(invention)」、「本発明(the invention)」、「本発明(this invention)」、「本発明(the present invention)」、「本開示(the present disclosure)」、又は「本開示(the disclosure)」という用語は、本文書に記載されている主題、図面又は図、及び特許請求の範囲の全てを広く指すことを意図している。これらの用語を含む記述は、本明細書に記載されている主題を制限するものではなく、又は特許請求の範囲の意味又は範囲を制限するものではないことが理解されるべきである。本開示の対象となる発明の実施形態は、本概要ではなく、特許請求の範囲によって定義される。本概要は、開示のさまざまな側面の大まかな概要であり、以下の詳細な説明の章でさらに説明される概念のいくつかを紹介する。本概要は、請求項に記載された主題の重要な、本質的な、又は必要な特徴を特定することを意図しておらず、請求項に記載された主題の範囲を決定するために単独で使用されることも意図されていない。主題は、明細書全体の適切な部分、いずれか又は全ての図又は図面、及び各請求項を参照することによって理解されるべきである。
本開示の実施形態は、より効果的なカスタマーサービスサポートシステムを提供するためのシステム、装置、及び方法を対象としている。いくつかの実施形態では、本システム、装置、及び方法は、トレーニング済み機械学習又はテキスト分類モデルを使用する。トレーニング済みモデルは、会社からの文書のコーパス(顧客が生成したメッセージ等)の取得、文書のコーパス内の各文書からのキーフレーズの生成、文書のコーパス内の各文書からの単語の埋め込みの生成、単語の埋め込みに対するクラスタリング操作の実行、コーパス内の各文書のクラスタへの割り当てと各クラスタのラベル付け、クラスタ内の最も関連性の高い文書とそのクラスタに割り当てられたラベルとを使用した機械学習又はテキスト分類モデルのトレーニング、等のプロセスによって作成又は生成され得る。
いくつかの実施形態では、本システム、装置、及び方法は、ユーザ/顧客が顧客支援を求める際にナビゲート(操作/操縦)及び所望の意図(intent)又は目的を選択(又は特定)する方法を複数提供する処理フローを含む。処理フローの一部では、支援を求める顧客に、トレーニング済み機械学習モデルと意図木(intent tree)データとが提供される。モデル及び意図木データは、顧客が以前に提供されたカスタマーサービスアプリケーションを起動することに応じて提供されてもよい。いくつかの実施形態では、カスタマーサービスアプリケーションは、顧客が会社に連絡することに応じて提供されてもよい。
本アプリケーションは顧客のデバイス(スマートフォン、タブレット、ラップトップ、デスクトップ、その他のコンピューティングデバイス等)で実行され、(a)意図木データの表示を生成する、(b)顧客にナビゲートを許可し、必要に応じて、意図木内の意図の選択を許可する、(c)顧客が支援を求める理由を説明するテキストを提供できるようにし、トレーニング済みモデルにその意図に関して入力テキストの分類を試みさせる、(d)顧客から、意図木から選択された意図又はモデルから特定された意図の承認(confirmation)を受信する、及び(e)顧客が選択した意図、モデルによって特定された意図、又は入力されたテキスト(顧客が意図を承認しない場合)を、適切な「ハンドラー」にルーティングするためのサーバ又はプラットフォームに提供することのうちの1つ以上を実行するように動作する。意図木から選択された意図が承認済み、又はトレーニング済みモデルによって特定された意図が承認済みの場合、メッセージはボット(Bot)、ウェブページのURL、事前定義されたタスク又はワークフロー、又は人にルーティングされ得る。顧客が意図を承認していない場合、メッセージ又はテキストは、評価、ラベル付け、及びルーティングのために人にルーティングされ、場合によっては、その後、モデルの継続的なトレーニングの一部として使用される。
いくつかの実施形態では、本システム、装置、及び方法は、会話ベースのカスタマーサービスサポートシステムを実装するためのユーザインターフェイス(UI)及びプロセスフローを含む。ユーザインターフェイスと関連する処理により、ユーザ/顧客は、カスタマーサービス要求の意図、目標、又は目的を迅速かつ正確に選択できる。いくつかの実施形態では、これは、サービス又は支援の要求の意図、目標、又は目的を選択、特定、又は説明する複数の方法をユーザに提供するユーザインターフェイス表示又は画面のセット及び基礎となるロジックによって達成される。さらに、基礎となるロジックは、入力されたテキストの選択又は処理を通じてユーザフィードバックを取得し、考えられるユーザ意図と、意図又は意図のカテゴリ間の関係を表すデータ構造を構築することに基づいて、時間の経過とともにシステムの精度を向上させるように働く。
本システム及び方法のいくつかの実施形態は、カスタマーサービスサポートシステムの一部としての会話型インターフェイス及び基礎となるロジックの使用を参照して説明されるが、実施形態は、他の状況及び環境で使用され得ることに留意されたい。これらには、商取引、金融、又は他のサービスや製品の選択が含まれ得る。状況によっては、説明されたユーザインターフェイス及び基礎となるロジックは、ユーザがサービス要求を送信したり、関心のあるサービスや製品を見つけたり、トランザクションを開始又は完了したり、システムやサービスと対話する際の目標や目的を、その意図によって表現されるように一般的に表現したりすること等に役立ち得る。
本発明の他の目的及び利点は、本発明の詳細な説明及びそれに含まれる図を検討することにより、当業者には明らかであろう。
本開示による本発明の実施形態は、以下の図面を参照して説明される。
図1は、本明細書に記載のシステム及び方法のいくつかの実施形態による、サービスを要求するユーザメッセージを処理し、ユーザの意図又はユーザからの問合せの目的を決定するための、例示的なコンピュータ実装方法、操作、機能、又はプロセスのフローチャート又はフロー図である。
図2Aは、本明細書に記載のシステム及び方法のいくつかの実施形態による、トレーニングデータを処理し、機械学習モデルをトレーニングして、意図又はユーザからの問合せの目的を特定するための、例示的なコンピュータ実装方法、操作、機能、又はプロセスのフローチャート又はフロー図である。
図2Bは、本明細書に記載のシステム及び方法のいくつかの実施形態による、意図又はユーザからの問合せの目的を特定するプロセスのクライアント側操作及びイベント更新フローのための例示的なコンピュータ実装方法、操作、機能、又はプロセスのフローチャート又はフロー図である。
図3は、本発明の実施形態による方法、プロセス、機能、又は操作を実装するように構成されたコンピュータデバイス又はシステムに存在し得る要素又はコンポーネントを示す図である。
図4は、エンドユーザが問題のタイトル(issue title)又は主題の静的リストから選択するために使用し得る静的ユーザインターフェイス表示の例の図である。
図5~図7は、本明細書に記載のシステムと方法の実施形態を実装する際に使用し得るマルチテナント又はSaaSプラットフォームのアーキテクチャを示す図である。 図5~図7は、本明細書に記載のシステムと方法の実施形態を実装する際に使用し得るマルチテナント又はSaaSプラットフォームのアーキテクチャを示す図である。 図5~図7は、本明細書に記載のシステムと方法の実施形態を実装する際に使用し得るマルチテナント又はSaaSプラットフォームのアーキテクチャを示す図である。
同様の構成部分及び特徴を参照するために、開示及び図の全体にわたって同じ番号が使用されることに留意されたい。
[詳細な説明]
本明細書では、本開示の実施形態の主題について、法的な要件に見合う具体性を伴って説明するが、この説明は、請求項の範囲を限定するように意図されていない。請求項に記載された主題は、他の手法で具現化されてよく、異なる要素又はステップを含んでよく、他の既存の又は後で開発された技術と併せて使用されてよい。この説明は、様々なステップ又は要素の両者間又は三者以上の間における、いずれかの必須の順序又は配列を暗示するものとして解釈されるべきではないが、個々のステップの順序又は要素の配列が明示的に必須であると記載されるときは、この限りではない。
本明細書においては、本発明の実施形態について、本発明の一部を成し、且つ、本発明が実施され得る例示的な実施形態を例示によって示す、添付の図面を参照して、より存分に説明する。しかしながら、本発明は、多くの異なる形で具現化されてよく、本明細書において明記される実施形態に限定されるものと解釈されるべきではなく、これらの実施形態は、むしろ、この開示が法的な要件を満たし、且つ、本発明の範囲を当業者に伝えるように、提供されている。
とりわけ、本発明は、全体又は一部において、システムとして、1つ以上の方法として、又は、1つ以上のデバイスとして、具現化され得る。本発明の実施形態は、ハードウェア実装の実施形態、ソフトウェア実装の実施形態、又は、ソフトウェア及びハードウェア態様を組み合わせる一実施形態、の形を取り得る。例えば、いくつかの実施形態において、本明細書に記載される動作、機能、プロセス、又は方法のうちの1つ以上は、クライアントデバイス、サーバ、ネットワーク要素、リモートプラットフォーム(SaaSプラットフォーム等)、「クラウド内」サービス、又は、他の形のコンピューティング又はデータ処理システム、デバイス、又はプラットフォームの一部である、1つ以上の好適な処理要素(例として、プロセッサ、マイクロプロセッサ、CPU、GPU、TPU、コントローラ等)により実装され得る。
1つ以上の処理要素は、実行可能な命令(例えば、ソフトウェア命令)のセットでプログラムされてよく、ここで、命令は、好適な非一時的データストレージ要素上に(又はその内に)格納され得る。いくつかの実施形態において、本明細書に記載される動作、機能、プロセス、又は方法のうちの1つ以上は、プログラマブルゲートアレイ、特定用途向け集積回路(ASIC)等の特化された形のハードウェアにより実装され得る。本発明の方法の一実施形態は、アプリケーション、より大きなアプリケーションの一部であるサブルーチン、「プラグイン」、データ処理システム若しくはプラットフォームの機能性の拡張、の形で、又は、他の好適な形で、実装され得ることに留意されたい。したがって、以下の詳細な説明は、限定の意味合いに取られるべきではない。
サービス要求ルーティング問題(又は、より一般的には、チャットウィンドウやその他の形式等の会話型インターフェイスによって提供されるユーザのテキストメッセージの解釈と処理)は、自然言語処理(NLP)ベースの機械学習(ML)モデルを適用できる問題である。このようなモデルは、実際のテキストメッセージデータ又は例から暗黙のルールを学習するようにトレーニングできる。これは、トレーニングデータとラベル/注釈の適切なセットが利用可能な場合、着信サービス要求の特定又は分類を支援するためにモデルをトレーニングできることを意味する。したがって、数百(又はそれ以上)のメッセージの例と対応するラベル又は注釈(例えば、各メッセージをルーティングすべき正しいグループ又は部門)にアクセスできる場合、機械学習(ML)分類アルゴリズムを適用して、比較的高い精度を持ち、ルーティング機能を実行(又は少なくとも支援)できるモデルを作成し得る。
トレーニング済み機械学習モデルは、顧客からのサービス要求を適切なエージェント又は対象分野の専門家にルーティングするのに非常に役立つが、そのようなモデルは多くの組織にとって作成するのが難しい場合がある。例えば、メッセージに注釈を付けるために使用されるラベルは、互いに明確に区別され、サービス要求を処理するための組織内のワークフローを正確に反映する必要がある。さらに、入力データ(メッセージ例)は「クリーン」である必要があり、誤解されないようにする必要がある。これには、サービス要求をルーティングするためのモデルを使用する会社又は組織が適切なトレーニングデータを提供する必要があり、会社又は組織がこれを効果的に行う方法を理解していない可能性がある。
自動又は半自動のサービス要求ルーティングプロセスを実装しようとしたときに発生する可能性のある2番目のタイプの問題は、そのようなシステムに接続されたワークフローが、要求の意図や目標が異なる可能性のあるエンドユーザからの承認なしに自動的に呼び出されることである。例えば、「返金してほしい」は「払い戻し」に分類する必要があるが、「2回請求されたので、返金してほしい」は「請求」の問題に分類する必要がある。これは、顧客/ユーザの側の不満や失望につながる可能性があり、問題を解決して顧客の好意を維持するために組織リソースの増加が必要になる可能性がある。
顧客/ユーザが自らの要求を適切なカスタマーサービスエージェント、プロセス、又は機能にルーティングするのを支援するための既存の解決策には、一般に2つのタイプがある。
(1)静的メニュー
静的メニューインターフェイスは、エンドユーザが問題のタイトル又は主題の静的リストから選択するように求められるインターフェイスである。このようなユーザインターフェイス表示の例を図4に示す。このアプローチはある程度は役立つが、その欠点としては次のようなものがある。
●エンドユーザは、各タイトルの意味を理解し、そのタイトルを割り当てた人が意図したとおりに解釈することが求められる。例えば、ユーザは「会場(venue)」という用語を理解できず、「場所(location)」又は「場所(where)」を探している可能性がある。
●会社又はブランドは、着信サービスチケットの主要なカテゴリに注意を払い、新しいカテゴリが必要になったとき、又は現在利用可能なカテゴリの再定義が必要なときに、静的メニューの問題カテゴリのリストを継続的にキュレート(収集及び整理)することで、それらのメッセージのカテゴリを処理できることが期待される。
(2)NLPベースのルーティング
このタイプの解決策は、NLPエンジン(SiriやAlexa等)である。この解決策には、ユーザが入力した文やフレーズの意味を理解しようとする自然言語処理モデルが存在し、それぞれの意味がワークフローに関連付けられている。しかし、このアプローチの問題は、人間の言語は非常に表現力があり、人々は同じ意図を持っていても、異なる方法で要求を表現できることである。これは、ルーティングエンジンが効果的で、送信された要求の大部分を正しく処理するには、特定のサービスの要求を表現するための全ての考えられる(又は少なくとも最も可能性の高い)方法についてトレーニングする必要があるということを意味する。これは、サービス要求をルーティングするためのトレーニング済みモデルを使用して、包括的なトレーニングデータを取得することを希望する会社又はブランドに負担をかける。それでも、所望のレベルの成功を達成するための信頼度は低く、多くの場合、ルーティングエンジンの精度については、期待像が不明確である。
別の例として、本開示/出願の譲受人は、「Predict」と呼ばれるカスタマーサービス要求問題分類サービス/モデルを開発した。Predictはサーバ側のテキスト分類エンジンであり、着信サービス要求の最も可能性の高いラベル(通常はカテゴリ又はルーティング先)を決定することを目的としている。しかし、その結果はユーザに公開されず、プラットフォーム内の内部ルーティングにのみ使用される。Predictモデルのトレーニングに使用される入力は、複数のペアのデータであり、各ペアはラベルとユーザの最初のサービス要求メッセージとを含んで構成される。モデルは、教師ありのMLアルゴリズムを使用してこれらのペアでトレーニングされる。Predictモデルがトレーニングされると、新しいユーザの最初のメッセージを入力として受信するように動作し、それに応じて、そのメッセージの正しいラベルがどうあるべきかについての予測を出力として提供する。分類/予測に十分に高い信頼度が関連付けられている場合、メッセージは出力ラベルに対応するグループ又は部門に自動的にルーティングされる。
但し、このアプローチの限界は、Predictがサーバ側又はサービスプラットフォームでの要求の正しい「ラベル」を予測するように動作することである。このアーキテクチャの不幸な結果は、ラベルにワークフローが関連付けられている場合、エンドユーザはすぐにボット又はルーチン(又は他の形式のハンドラー)に移動してワークフローを実行することである。これは、分類又はラベルが正しくない状況では、苛立たしく非効率的である可能性があるため、ユーザにとって深刻な問題になり得る。さらに、説明されている他のアプローチと同様に、Predict処理フローの結果として起きる可能性のある問題は1つ以上ある。
1.Predictは、その予測に高い信頼性があることが期待されるため、新しいメッセージを分類するための信頼レベルが事前設定された閾値を超えると、システムはモデルの出力を要求/チケットに自動的に適用する。これは、メッセージの分類とルーティングに使用されるラベルは、組織が希望する要求の処理を正確に反映する必要があることを意味する。また、組織が実際に要求を処理している方法を反映するために、ラベル(したがってルーティングの可能性)を定期的に検討及び修正又は更新する必要があることも意味する。
2.Predictに関連付けられたワークフローは、エンドユーザからの承認やその他のフィードバックなしに自動的に呼び出されるが、エンドユーザの要求の意図又は目標は異なっている可能性がある。これは、顧客/ユーザの側の不満や失望につながる可能性がある。
いくつかの実施形態では、本明細書に記載の提案された解決策及び処理は、既存の解決策によって代表されるアプローチ間にある種の妥協点を提供するとともに、それらを改善することによって、これらの欠点を克服する。いくつかの実施形態では、ユーザの支援の要求は、「意図」に関連付けられ、意図は、ユーザが支援を求める意図又は目的(又は、場合によっては、意図によって表現されたシステムとの対話の目標)を反映する問題のトピック、主題、又はカテゴリである。通常、問い合わせに応答したり、顧客が意図を達成するのを支援したりする場合、ワークフローが関連付けられ、そのワークフローは、ボット、ワークフロー、ルーチン、又は人等の「ハンドラー」によって実行され得る。本明細書に記載の提案された解決策では、意図の異なるカテゴリ、サブカテゴリ、又は分類間の関係を表す意図の階層又は配置(又はデータ構造)を「意図木」と呼ぶ。
いくつかの実施形態では、本明細書に記載のシステム、装置、及び方法は、エンドユーザに、1つ以上のユーザインターフェイス表示、ユーザインターフェイス要素(選択可能な「意図」、階層意図木、及び/又は、テキスト入力フィールド等)、並びに基礎となるデータ処理及びユーザ入力処理ロジックを提供するとともに、以下を含み得る。
●動的な(つまり、更新又は変更可能な)ユーザインターフェイス(Ul)。動的なユーザインターフェイスは、ユーザ/顧客に問題/意図カテゴリのセットをナビゲートする複数の方法と、支援を求める問題又は目的に最適なカテゴリ、又は実行したいタスク、機能、又は操作等を見つけるのに役立つ方法と、を提供する。
○これは、エンドユーザが各カテゴリのタイトルの意味、又はどのタイトルが自らの問題に最も適したカテゴリ又はワークフローを表しているかを理解することを期待又は要求されないことを意味するため、有益である。
●新しい意図/カテゴリを表示できる動的なUl。
○これは、ユーザ/顧客に提示される問題カテゴリのリストが静的ではなく、ユーザが後のセッションで会話型Ulを開いたときに、異なる又は更新された意図のリストを表示できることを意味する。
●いくつかの実施形態では、意図又は意図木構造の更新又は改訂されたリストは、顧客の以前のカスタマーサービスとの対話(顧客がイディオムやスラングを使用して要求を表現した方法、又は以前の要求が表現され、後に分類された方法等)、会社の更新された意図木モデル、会社の更新されたテキストメッセージ解釈モデル等に基づいて構築され得る。
●いくつかの実施形態では、UIは、ユーザ/顧客に意図(すなわち、割り当てられた又は選択されたカテゴリが、自身の問題又は所望の操作に対処するための正しいカテゴリであること)を明示的に承認するように要求し得る。
○これは、エンドユーザがその問題カテゴリに関連付けられたワークフローを見て驚かないことを意味する。例えば、ワークフローは、解決手順(パスワードを忘れた等)やFAQ(「配送ポリシーは何ですか?」)をきちんと「説明する」ボットにすることも、人間のエージェントが応答する(例えば、虐待の報告)待ち行列に要求を割り当てることもできる。
●意図木表示(又はリスト、階層、テーブル等、考えられる意図のセットを表す他の形式)をナビゲートした結果、ユーザが目的の意図を特定/選択しない場合は、クライアントアプリケーション及び/又はリモートシステムプラットフォームにより、ユーザはフィールド又はユーザインターフェイス要素にテキストを入力し、トレーニング済み分類モデルを利用して、テキストに「最もよく」一致するものを見つけようとすることができる。トレーニング済みモデルは、ユーザのテキストに一致する1つ以上の意図を見つけようとし、選択可能なこのリスト又は意図のセットをユーザに提示するように働く。したがって、いくつかの実施形態のこの態様では、ユーザによって入力されたテキストは、トレーニング済みモデルへの入力として提供され、モデルの出力は、モデルが入力されたテキストを表すものとして分類した1つ以上の「意図」である。但し、ユーザのテキストが既存の意図ラベルと十分に「一致」しない場合、又はエンドユーザがトレーニング済みモデルによって提案された意図を選択又は承認しないことに決めた場合、実施形態では、ユーザは全テキストの質問又は彼らが望むもの、又は必要とするものを特定するフレーズを入力できる。
○いくつかの実施形態では、一致は、例えば、テキストに完全に一致するものを見つけること、テキストに十分に近い一致を見つけること、テキストの同義語(又は他の表現方法)に一致すること等によって決まり得る。
○全テキストの質問又はフレーズは、サーバ側で処理され(一部の実施形態では、テキストの人間による解釈が含まれる場合がある)、最も関連性の高い既存の意図ラベル又はトピックを特定する試みが行われる。特定の状況下では、プロセスにより、会社又はブランドがタイトルを割り当てる新しい意図カテゴリ又はサブカテゴリが作成され、顧客からの将来の支援要求で使用するために意図木に追加される場合がある。
●サーバ側の処理で、要求を既存の意図ラベル又はカテゴリに関連付ける必要があると判断された場合、顧客からの最初の要求と既存の(正しい)ラベルとを、その特定の会社の要求を処理するために使用される分類モデルのための追加のトレーニングデータとして使用できる。
図1を参照してより詳細に説明するように、本明細書に記載のユーザインターフェイス及びサポート処理の実施形態は、支援を要求する所望の意図又は目的を選択又は特定できるようにすることの一部として、ユーザ/顧客が利用可能なナビゲーションの3つの経路又はシーケンスを提供する。本明細書に記載の実施形態は、ユーザがカスタマーサポート支援を求めている状況で会話型UIを使用する例を表すが、本明細書に記載のシステム及び方法を利用してユーザ及びユーザの支援要求を受信している組織に利益を提供できる他のユースケース及び状況が存在することに留意されたい。これらのユースケースと状況には、商取引、金融、及びその他のサービスや製品の選択が含まれるが、これらに限定されない。状況によっては、説明されているユーザインターフェイスと基礎となるロジックは、ユーザがサービス要求を送信したり、関心のあるサービスや製品を見つけたり、トランザクションを開始又は完了したり、情報を見つけたり、ワークフローを選択して目標や目的を達成したりするのに役立つ。
図1は、本明細書に記載のシステム及び方法のいくつかの実施形態による、ユーザの意図又はユーザからの問合せの目的を決定するためにサービスを要求するユーザメッセージを処理するための例示的なコンピュータ実装方法、操作、機能、又はプロセスのフローチャート又はフロー図である。図に示すように、最初のステップは、機械学習モデルのトレーニングに使用されるトレーニングデータのセットを収集又は形成することである(ステップ120で提案されている)。一実施形態では、トレーニングデータセットは、各メッセージに割り当てられたラベル又は分類とともに、複数のユーザ/顧客によって送信される最初のメッセージ又は要求のセットで構成される。ラベル又は分類は、顧客がメッセージを生成したブランド又は会社が使用するルーティングカテゴリ及び分類に精通している人によってキュレートされた、メッセージの「正しい」カテゴリ又はルーティングを表す。
したがって、本実施形態では、機械学習モデルは、エンドユーザから特定の会社、企業、ベンダー、又は組織(本明細書では「会社」と呼ばれる)への着信サービス要求を処理する際に使用するようにトレーニングされる。この例では、会社は、着信要求を処理して特定のワークグループ又は部門にルーティングするために使用される独自のタイトル又はタスクカテゴリを持つことができる。これらのタイトル又はタスクカテゴリは、メッセージ又は要求に関連付けられた「正しい」ラベル又は注釈に反映される。典型的な実施形態では、このトレーニングデータの取得及び機械学習モデルのトレーニングは、サーバ又はプラットフォーム上で行われる。
いくつかの例では、機械学習モデルのトレーニングは、図1に示されている処理フローの他の機能を提供するエンティティによって実行又は支援され得る。例えば、システム又はサービスプラットフォームを操作してメッセージ処理及びルーティングサービスを提供する同じエンティティが、会社がカスタマーサービス要求メッセージのサンプルをアップロードし、それらのメッセージに会社の従業員が適切な注釈又はラベルを提供できるようにするツールを提供してもよい。アップロードされたメッセージ及びラベルは、サービスプラットフォームプロバイダがその会社のトレーニング済み機械学習モデルを作成するために使用できる。トレーニング済みモデルは、本明細書に記載のように会社の顧客に提供される。他の例では、会社自体がトレーニング済みモデルを生成し、サービスプラットフォームを運用しているエンティティに提供してもよい。
したがって、いくつかの実施形態では、カスタマーサービス要求を処理するためにサービスプラットフォームを操作する(又は別のエンティティによって操作されるマルチテナントプラットフォームを介してそのサービスを提供する)エンティティは、プラットフォーム上で管理する各アカウントを介してサービスのセットを提供してもよい。図5~図7を参照して説明するように、各アカウントには機能及びサービスのセットを提供できる。機能及びサービスには、次の1つ以上を含むことができる。
●会社又は組織から文書のコーパス(顧客が生成したメッセージ等)を取得するプロセス又はサービス。
○いくつかの例では、コーパスは、会社又は組織によって受信された(又は受信されると予想される)カスタマーサービス要求の例のソースから取得されてもよい。
●文書のコーパス内の各文書からキーフレーズを生成するプロセス又はサービス。
●文書のコーパス内の各文書から単語又はトークンの埋め込みを生成するプロセス又はサービス。
●単語又はトークンの埋め込みに対してクラスタリング操作を実行するプロセス又はサービス。
●コーパス内の各文書をクラスタに割り当て、各クラスタのキュレーションとラベル付けを可能にするプロセス又はサービス。
●クラスタ内の最も関連性の高い文書とそのクラスタに割り当てられたラベルを使用して機械学習モデルをトレーニングするプロセス又はサービス。
●顧客が支援を要求したり、カスタマーサポートアドレスにメッセージを送信したり、カスタマーサービスアプリケーションを開始したりする(又はその他の方法で支援の必要性を示す)ときに、会社の顧客に、支援を求める可能性のあるカテゴリの「意図木」を表すトレーニング済みモデル及びデータ構造を提供するプロセス又はサービス。
●アプリケーション(まだ提供されていない場合)を会社の顧客に提供して、顧客が意図木を表示して「ナビゲート」し、希望する意図又は支援のカテゴリを選択し、選択した意図を承認できるようにし、顧客がテキストを挿入し、そのテキストをトレーニング済みモデルによって分類できるようにし、トレーニング済みモデルによって作成された分類の受け入れを承認するプロセス又はサービス。
●顧客がテキスト、フレーズ、質問、又は文(例として)をユーザインターフェイスのフィールドに挿入し、フィールドの中身をサーバ/プラットフォームに提供してさらに評価及び処理(通常は人による)できるようにするプロセス又はサービス。
●メッセージ又は要求を、支援を要求する際の顧客の意図又は目標の決定後、解決のために適切な「ハンドラー」、タスク、ワークフロー、ボット、URL、会社の個人又は部門にルーティングするためのメカニズムを(通常はアプリケーション又はプラットフォーム上のサービスのいずれかを介して)提供するプロセス又はサービス。
モデルは、トレーニングデータのセットを使用してトレーニングされるため、ユーザ/顧客からテキスト又はその他の形式のメッセージを入力として受信し、それに応じて、入力メッセージのラベル又は分類を出力するように動作する。ラベル又は分類は、要求又はカスタマーサービストピックの正しいカテゴリを表し、要求のルーティング先を特定する。したがって、トレーニング済みモデルは、ユーザのサービス要求又はメッセージを受信し、ユーザのサービス要求又はメッセージの意図又は目的を特定する働きをする(ステップ122)。
トレーニング済みモデルは、サービスを要求する顧客に提供するために会社に利用可能になり、及び/又は、メッセージ/要求処理等のサービスプラットフォームの他の機能を提供するエンティティによって顧客に提供され得る。典型的な例では、会社又はシステム/プラットフォームは、顧客からの支援を要求するテキスト又は他の形式のメッセージを受信する(ステップ又はステージ123で提案されているように)。いくつかの実施形態では、テキスト又はメッセージは、クライアント側のアプリケーションを使用して、顧客によってサーバに送信され得る。例えば、顧客は、カスタマーサービス番号に送信されたテキストメッセージを使用して、カスタマーサービス支援を求めていることをブランド又は会社に通知してもよい。いくつかの実施形態では、顧客は、代わりに、テキストの断片をカスタマーサービスの電子メールアドレスに送信してもよい。いくつかの実施形態では、テキストメッセージ又はテキスト断片は、サービスプラットフォーム上のアカウントに(再)転送されてもよい。いくつかの実施形態では、会社は、テキストメッセージ又はテキスト断片を受信し、それをサービスプラットフォームにルーティングしてもよい。
顧客の要求に応じて、システム/プラットフォーム又は会社は、トレーニング済み意図分類モデルを顧客のクライアントデバイスに転送する(ステップ124)。顧客のクライアントデバイスにまだインストールされていない場合、システム/プラットフォーム又は会社は、カスタマーサービスアプリケーションをダウンロードしてデバイスにインストールするように顧客に指示し得る。クライアントデバイスは、トレーニング済みモデルをロードし、意図グループ又はカテゴリとそれらの関係とを示す表示又は画面を生成することにより、意図木を顧客に表示する(通常は視覚的及び階層的な形式であるが、複数のレベルを持つリスト等、他の形式を使用することも可能である)(ステップ126)。いくつかの実施形態では、顧客がクライアント側アプリケーションを起動するとき、システム/プラットフォームは、会社の意図木を表すトレーニング済みモデル及びデータを顧客に転送し得る。
ユーザ又は顧客は、デバイス上のユーザインターフェイス要素又はコントロールを使用して、表示された意図木をナビゲートでき、必要に応じて、サービス要求又はメッセージの意図又は目的に最もよく対応するカテゴリ又はサブジェクトタイトル/ラベルを選択できる(ステップ128)。ユーザがサービスの要求に対応する意図を選択した場合、要求は、会社によって直接、又はサービスプラットフォームを介して間接的に、適切な部門にルーティングされる(ステップ135で提案されているように)。
ユーザ/顧客が表示された意図グループ又は特定の意図タイプのいずれかを選択できない、又は選択しないことに決めた場合、テキストを入力し、そのテキストを意図木のラベルとの「一致」を見つけるための基礎として使用してもよい。いくつかの実施形態では、これは、ユーザが表示されるテキストボックス又はフィールドにテキストを入力できるようにすることによって行ってもよい。入力されたテキストは、サービス要求の主題又は対話の目的(トランザクションの開始、製品の検索、製品又はサービス等に関する特定の情報の検索等)を説明しているとユーザが考える部分的又は全体的なフレーズ(1つ以上の単語等)にすることができる。ユーザがテキストを入力しているとき(又は単語やフレーズの入力後)、転送された分類モデルが呼び出されて、入力されたテキストとの1つ以上の潜在的な一致を生成するために使用され、その一致又はそれらの一致がクライアントデバイス上でユーザに表示される(ステップ130)。いくつかの実施形態では、説明された「一致」処理は、ラベルとユーザのテキストとの間の1つ以上の完全な一致、ユーザのテキストとの十分な類似性、及び/又は、ユーザのテキストとの同義語(又は他の表現方法)に基づく一致のうちの1つ以上に基づくことができる。
いくつかの実施形態では、トレーニング済みモデルは、代わりにサーバ又はプラットフォーム側で実行されてもよい。これらの実施形態では、トレーニング済みモデルをクライアントに提供する必要はない。代わりに、ユーザのテキストがクライアントからサーバに転送され、意図とのマッチングがサーバ側で実行され、そのマッチングの結果が、デバイス上に表示するためにクライアントに提供される。
ユーザには、表示された意図の1つがサービス要求の意図又は目的に対応していることを選択及び/又は承認する機会が提供される。ユーザがサービス要求に対応する意図を承認した場合、要求はサーバ又はプラットフォームによって適切な部門にルーティングされる(ステップ135で提案されているように)。ユーザ/顧客が表示された意図又はカテゴリを選択した場合、又は入力テキストに対応する可能性の最も高い意図又はカテゴリを表す出力を1つ以上提供するように構成されているトレーニング済みモデルによって分類されたテキストをユーザが入力した場合に、承認ステージ又はステップが提供され得ることに留意されたい。
ユーザが、表示された意図の1つ、又はトレーニング済みモデルによって提案された意図の1つを選択/承認できない、又はしたくない場合は、表示されたフィールドに全テキストメッセージを入力できる(ステップ132)。全テキストメッセージは、分類モデルをホストしているサーバ又はプラットフォームに転送され、最終的にユーザを支援するためにルーティング及び/又は人間による評価の対象となる。さらに、転送されたメッセージは、モデルのトレーニング、意図の特性の更新、意図構造への新しい意図の追加、クラスタリング又は他の機械学習モデルを使用した処理による、ユーザのメッセージを既存のグループ又はサブジェクト等に関連付ける必要があるかどうかの判断等の目的で使用できる(ステップ134)。場合によっては、全テキスト要求は、人間の「ハンドラー」又はキュレーターによって評価され、要求を既存のカテゴリ又はラベルに関連付ける必要があるかどうか(必要に応じて、モデルのトレーニングデータとして使用する必要があるかどうか)、又は新しいカテゴリの場合、会社のモデルのトレーニングの一環として、顧客の最初のメッセージで使用する、サブカテゴリ、又はラベルを提案する必要があるかどうかを決定する。
いくつかの実施形態では、サービスプラットフォームを運用するエンティティ(本出願の譲受人等)は、(a)顧客メッセージング、(b)顧客による意図木表示及び意図選択、及び(c)会社の顧客へのトレーニング済みモデルを使用した顧客テキスト入力に基づく意図分類、のための機能又は能力を提供する。前述のように、モデルのトレーニングに使用されるデータ(以前に受信した顧客メッセージ)及びデータラベルは、サービスプラットフォームを運用するエンティティによって実行されるモデルトレーニングとともに、会社又はその支援によって提供される。データラベルは、エンティティが意図木又はその他の考えられる意図のリスト又は構造を構築するためにも使用される。いくつかの実施形態では、意図木構造が構築され、キュレートされ、モデルトレーニング処理のラベル付け/注釈の一部として使用される。
いくつかの実施形態では、意図木は、顧客がサービス要求を開始したときにサーバによってクライアントに提供された意図木データに基づいて表示される。これらの実施形態では、顧客がアプリケーションのメッセージングフィールドにテキストを入力し始めると(又はカーソルを特定のフィールドに置く、又はカスタマーサービスアプリケーションの起動等による支援の必要性を示す場合)、アプリケーションは、意図木構造(例えば、階層リスト)を示す表示を自動的に生成し得る。したがって、これらの実施形態では、ダウンロードされたクライアントアプリケーションは、意図木及びトレーニング済みモデルを顧客のデバイスにロードする。アプリケーションは意図木をリスト形式で表示するが、他の形式(例えば、グラフィック表示)を使用することもできる。ユーザ/顧客は、木構造をナビゲートし、意図した要求に最もよく対応する意図を選択できる。これらの実施形態では、トレーニング済みモデルは、ユーザが1つ以上のユーザインターフェイス要素又はコントロールを使用して意図木をナビゲートしているときには利用されない。
顧客が木のナビゲーションから意図を選択せずにテキストを入力した場合、トレーニング済みモデルが呼び出され、トレーニング済みモデルは、入力されたテキストと意図との一致を見つけるために使用される。この状況では、顧客が入力したテキストはモデル入力として扱われ、トレーニング済みモデルは、入力のラベル又は分類を表す出力を生成するように動作する。ラベル又は分類は、入力テキストに関連付けられた意図のモデルの「最良の」推定に対応する。クライアントアプリケーションは、クライアントデバイス上にマッチングプロセスの結果から最も関連性の高い意図を表示する。顧客が意図木構造のナビゲーション又はマッチングプロセスの結果から意図を選択した場合、ユーザは意図の承認を求められることがあり、要求はサーバ又はプラットフォームによって適切なハンドラーにルーティングされる(ステップ又はステージ135によって提案される)。ユーザが意図を選択及び/又は承認しない場合(表示された意図木構造から、又はトレーニング済みモデルの出力によって提供されるかどうかにかかわらず)、ユーザ提供のメッセージは、クラスタリングアルゴリズムのフィードバック又は追加のトレーニングデータとして使用され得る。
いくつかの実施形態では、意図木は、意図の名前、ならびにそれらの構成及びレイアウト(例えば、それらの階層構造及び関係)に関する情報を含んでいる。トレーニング済みモデルは、ユーザが提供した(入力した)テキスト又はメッセージに基づいて意図木を検索するときに使用される。特定のユーザテキスト入力に対して最も可能性の高い意図を明らかにするために、モデル(最も一致する意図を見つけるため)と意図木(意図名及び階層情報のため)とが使用される。
図2Aは、本明細書に記載のシステム及び方法のいくつかの実施形態による、トレーニングデータを処理し、機械学習モデルをトレーニングして、意図又はユーザからの問合せの目的を特定するための、例示的なコンピュータ実装方法、操作、機能、又はプロセスのフローチャート又はフロー図である。図に示され、以下の説明で参照される各「ブロック」又はモジュールは、プログラムされた電子プロセッサによるソフトウェア命令のセットの実行によって実装されるルーチン、サブルーチン、アプリケーション等を表し得ることに留意されたい。いくつかの実施形態では、複数のプログラムされた電子プロセッサは、対応するソフトウェア命令を全体的又は部分的に実行することによって、図示されたブロック又はモジュールに関連する機能を実装し得る。したがって、いくつかの実施形態では、それぞれが別個のデバイス、サーバ、又はシステムの一部である複数の電子プロセッサが、図示のブロック又はモジュールに含まれるソフトウェア命令の全部又は一部の実行を担当し得る。
図に示すように、ブロック102で、設定された文書のテキストが、機械学習モデルをトレーニングするための処理フローに入力される。いくつかの実施形態では、文書は、テキストベースの会話体験の環境で送信されたメッセージに対応する。モデルのトレーニングに使用される文書の一群は、コーパスと呼ばれる。本明細書に記載のシステム及び方法の典型的な使用法では、コーパスは特定の会社又は企業から取得され、モデルはその会社又は企業の顧客が使用するためにトレーニングされている。
いくつかの実施形態では、コーパスは、トレーニング済みモデルを提供するエンティティによって収集された1つ以上の会社からのメッセージのデータベースから取得し得る。このような場合、複数の会社から提供されたメッセージのセットを使用して、カスタマーサービス要求の種類と表現との多様性を高めることができる。例えば、ある会社に十分な数のメッセージのコーパスがない場合、同様の業界の他の会社からのメッセージは、モデルをトレーニングするための適切なコーパスを提供し得る。
ブロック104によって示唆されるように、文書のテキストは前処理されてもよい。前処理中に、次の操作の1つ以上を各文書に対して実行し得る。
1.HTML、URL、数字、絵文字を削除する。
2.文書を文に分割する。
3.文を単語に分割する。
4.単一の文字を削除する。
5.言語によって異なる参照リストに基づいてストップワードを削除する。
次に、ブロック106では、この時点ではユニグラム(1つの単語)のリストである、前処理されたデータを利用して、文書ごとに全ての考えられるバイグラム(連続した2つの単語の組み合わせ、すなわち、互いに隣接して現れる2つの単語)及びトリグラム(連続した3つの単語の組み合わせ)を構築する。コーパス全体で考えられるnグラム(この例ではnは3に等しいが、異なる数であってもよい)は全て、キーフレーズ候補(つまり、考えられるキーフレーズ)とされる。用語頻度-逆文書頻度(tf-idf)スコアリングを使用して、全てのn-gramキーフレーズ候補をランク付けする(但し、他のスコアリング又は評価方法を使用することもできる)。このランキングの上位(例えば、1,000又は別の十分な数)のキーフレーズがクラスタリング用に選択される。選択されるキーフレーズの適切又は最適な数は、アプリケーションだけでなく、コーパスに固有のさまざまな主題によっても異なる。
一般に、クラスタリング用に選択されるキーワードの量又は数は、コーパスで遭遇するユースケースと多様性とによって異なる。例えば、発明者の研究に基づくと、キーフレーズが1000個あれば、カスタマーサポートのユースケースにとって望ましい妥協点となることが証明された。但し、発明者が学んだように、キーフレーズが少なすぎると、達成できる粒度(つまり、関連するが異なる意図を分離する能力)が制限され得る。同様に、キーフレーズが多すぎると、ノイズが増加し、最終的な意図の分離と意図への文書の割り当ての品質が低下し得る。
文書のコーパスからキーフレーズを抽出又は特定するための他の方法が利用可能であり、それらの方法も(又は代わりに)使用できることに留意されたい。モデル開発者は、使用する抽出方法を決定する際に、選択されるキーフレーズの適切な数は、アプリケーション、及びコーパスに固有のさまざまな主題によって異なる(依存する)ことを考慮する必要がある。例として、キーフレーズのリストは、コーパス内の全ての主要な主題を網羅している必要があるが、各キーフレーズは、これらの主題の1つ以上に関連している必要がある。
本明細書に記載のアプローチは、得られた結果と、実際の実装及び使用上の考慮事項を含む、手法が使用されていた状況と、の考察に(少なくとも部分的に)基づいている。これらの実際的な考慮事項には、実装が比較的容易であること、スケーリング指標が解釈可能あること、並びに、結果がビジネスアプリケーション(カスタマーサービス)及び「意図の明確化」プロセスに適切と考えられる複数の言語で再現可能であることが含まれる。
ブロック108において、プロセスは、前処理された文書のコーパスを使用して、単語の密な数値表現である単語の埋め込みを構築する。単語の埋め込みは、Word2vec(自然言語処理の手法であり、Word2vecアルゴリズムはニューラルネットワークモデルを使用して、大規模なテキストのコーパスから単語の関連付けを学習する)、又はその機能を実行するために使用され得る同様のアプリケーションを使用して構築できる。Word2vecアルゴリズムは、入力コーパスの全ての(前処理された)文書に適用される。それらが文書に表示されている場合、106で選択されたキーフレーズは、処理中に単一のトークンと見なされる。そのため、Word2vecアルゴリズムは、キーフレーズを含む、コーパス内の一意のトークンごとに個別の埋め込みベクトルを提供する(したがって、異なる文書内の同一のトークンは同じ埋め込みベクトルを持つ)。トークンはテキストの個々の単位であり、最も一般的には単語であるが、複数単語のフレーズを表すこともできることに留意されたい。それから、キーフレーズの最終的な埋め込みベクトルが正規化され、クラスタリング操作が実行される。その操作中に、キーフレーズはkクラスタに分割される。
Word2vecアルゴリズムは、(前処理された)入力コーパスでトレーニングされる。ブロック110は、ブロック106で選択されたキーフレーズの正規化された単語の埋め込みに対してクラスタリング操作を実行し、それらをkクラスタにクラスタリングする。本開示では、単語の埋め込みは、単語間の類似性を捉える方法でテキストを表すために使用されている。そのため、類似又は関連する文脈又は主題を持つ単語は、埋め込みスペースに密接に配置される。結果として、単語の埋め込みをクラスタリングすると、主題に応じてキーフレーズがグループ化され得る。キーフレーズは処理フェーズではトークンと見なされ、Word2vecアルゴリズムはコーパス内のトークンごとに1つの埋め込みベクトルを提供することに留意されたい。したがって、処理の単語の埋め込み段階の後、トークン(キーフレーズを含む)の埋め込みベクトルへの1対1のマッピングが行われる。
いくつかの実施形態では、プロセスは、KMeansアルゴリズムを使用して、埋め込みスペース(すなわち、各キーフレーズの埋め込みベクトル)で表現されるようにキーフレーズをクラスタリングする。一実施形態では、標準のKMeansクラスタリングは、関連する指標としてコサイン類似性を利用するように修正される。クラスタリングプロセスの出力は、各入力キーフレーズのクラスタへの一意の割り当てである。
次に、各文書は、文書に存在するキーフレーズに基づいてクラスタに割り当てられる。一実施形態では、文書に存在する各キーフレーズについて、プロセスは、tf-idfスコア及びそのクラスタ割り当てを記録する。特定の文書について、クラスタの割り当てに基づいてキーフレーズのtf-idfスコアを合計することにより、クラスタごとに累積tf-idfスコアが計算される。一例示的な実施形態では、文書は、文書内のキーフレーズの最高の累積tf-idfスコアを提供するクラスタに割り当てられる。これは、文書が割り当てられるクラスタが、文書内のキーフレーズに最も類似していることがわかったキーフレーズ/埋め込みを含むクラスタであることを意味する。
いくつかの実施形態では、クラスタリングは、いくつかのレイヤ又は階層で実行され得る。第1のクラスタリングは、キーフレーズ群全体に対して実行され得る。追加のレイヤの場合、結果として生じるクラスタのそれぞれは、同様の方法で再びクラスタリングされ得る。しかし、クラスタリングプロセスへの入力は、最初のクラスタリングプロセス中にそれぞれの親クラスタに割り当てられたキーフレーズの正規化された単語の埋め込みに制限される。
「意図木」/「意図階層」を作成するために他の手法/アルゴリズムを使用してもよいことに留意されたい。本出願に記載の一般的なプロセス及び目標の場合、使用される特定のクラスタリング/グループ化アルゴリズムは、記載のアプローチに制約されない。主題に基づいて文書のグループ化を提供する別のアプローチも適用可能であり、使用し得る。本明細書に記載のアプローチが選択されたのは、特定のユースケースと対象のデータセットとについて評価された他のアプローチよりも優れていたためである。
深さ及び/又は幅の観点からのクラスタリングプロセスの出力は、入力コーパスのプロパティ、及び結果として得られるトレーニング済みモデルのアプリケーションの環境によって異なる(依存する)。例えば、過度にきめ細かいクラスタリングは、冗長なクラスタ(つまり、同じ一般的な主題を共有又は表す複数のクラスタ)を生む可能性がある、あるいはビジネスの観点から望ましくない場合がある(つまり、エンドユーザによる効率的なナビゲーションのための選択肢を制限する可能性がある)。過度に粗いクラスタリングは、関連のない主題を持つキーフレーズを同じクラスタにグループ化し、混乱又はあいまいさの原因となる可能性がある。
クラスタリングの各レイヤについて、クラスタリングの出力又は結果は、キーフレーズと関連文書とのクラスタへの一意の割り当てである。クラスタリングの結果として生じる意図木又は階層の例は、図の「意図木」というラベルの付いたボックスに示されている。図示されるように、文書のセットは、意図及び下位の意図の階層的配列に割り当てられ、各意図及び下位の意図は、1つ以上のキーフレーズ及び文書に関連付けられる。ブロック112において、プロセスは、このキーフレーズ及び文書のグループ化を意図キュレーションに使用する。各クラスタについて、そのクラスタに割り当てられたキーフレーズと文書の人力による(又は一部の実施形態では半自動又は完全自動の)検査は、キュレーター(例えば、文書を提供した会社のカスタマーサポートプロセスの運用フローに精通している人)にクラスタの一般的な「意図」を通知する。
前述のように、いくつかの実施形態では、本明細書に記載のシステム及びプロセスは、キュレーターを務める人の理解及び入力を使用して、クラスタに簡潔で説明的なタイトルを割り当てることができる。いくつかの実施形態では、このラベル付け又はキュレーションは、トレーニング済み機械学習モデルを使用して、自動化又は半自動化された方法で実行され得る。一実施形態では、自動化又は半自動化されたアプローチは、以下を含むことができる。
●最も代表的なキーフレーズによるクラスタのラベル付け、
●クラスタに割り当てられた文書で最も頻繁に使用される単語(又はフレーズ)を使用した、クラスタのラベルを付け、又は
●クラスタに割り当てられた文書にテキスト要約手法を適用した、クラスタラベルの決定。
一例では、意図木又は意図階層は、ボトムアップアプローチを使用して構築し得る。ボトムアップアプローチでは、最初に、クラスタリングの最も細かい(最下部)レイヤにあるクラスタに名前を付ける。必要に応じて、これらの意図はいくつかのグループ又は「親」カテゴリにグループ化されてもよい。命名又は明確化の目的で、これらの親又は上位レベルの意図のカテゴリは、それらの中にグループ化されたキュレートされた意図の集合体と見なされる。
この結果、各クラスタに意図又はラベルが割り当てられる。また、各クラスタは、ブロック110で実行された文書割り当てクラスタリングの結果として、その意図に対応する最も関連性の高い文書のリストを有する。この情報は、各クラスタのラベル付きトレーニングデータセットを構築するために使用される。ブロック114は、各クラスタに最も関連性の高い文書を最も細かい(又は最下部の)レベルで取得し、ブロック112でキュレートされた適切な意図を使用してそれらにラベルを付ける。これらの「意図文書」ペアは、単純ベイズ(Naive Bayes)原理に基づく教師ありテキスト分類アルゴリズムを使用してモデルをトレーニングするために使用される(但し、他の分類手法を追加で又は代わりに使用することもできる)。その結果が、入力された文書/メッセージを評価し、出力として文書の分類を生成するように動作する、トレーニング済みテキスト分類モデル又は機械学習モデルであり、この分類は、文書の適切な意図を特定する(例えば、アカウントで顧客支援を求める等)。
いくつかの例では、単純ベイズ法が使用されているが、代わりに(あるいはまた)他の教師ありテキスト分類アルゴリズムを使用してもよいことに留意されたい。さらに、代替となる教師ありテキスト分類アルゴリズムは、単純ベイズ法を使用する例について本明細書に記載するように、用語-意図マトリックスを使用できない。代わりに、そして特定のアルゴリズムに応じて、それらは他の方法を利用して予測モデルをエンコードできる。その場合、本明細書に及び他の図を参照して説明されるように、トレーニング、予測、更新、及びその他のプロセスに違いが及ぶ可能性がある。
結果として得られるトレーニング済みテキスト分類モデルは、用語-意図マトリックスと意図階層によって表される。この状況では、「用語」は通常「トークン」又は「単語」と同等であることに留意されたい(一部の言語又はフレーズでは、各トークンは通常、別の言語で単語と見なされるもの以外のものを表す場合がある)。「単語-意図マトリックス」は、モデル内の全ての「意図」にわたるモデル内の全ての「単語」の相対的な重要性をエンコードする単純ベイズアルゴリズムの一態様である。したがって、「単語-意図マトリックス」の概念は、同様のタスクを実行するために選択される可能性のある他の分類モデル又はアプローチには適用されない場合があることに留意されたい。いくつかの実施形態では、実装が比較的容易であり、実行が比較的速く、モデルサイズを制御できるため、単純ベイズアルゴリズムが実装用に選択される。これらの全ての態様は、分類処理のオンデバイス実行に適している。
いくつかの実施形態では、用語-意図マトリックス及び意図階層(階層木又はリスト等のデータ構造によって表される)は、テキストベースの会話体験がクライアント側で開始されるときに、ブロック116で顧客のクライアントデバイスに転送される。クライアント側のテキスト入力は、用語-意図マトリックスを使用して、トレーニング済みモデルによって評価され、それにより、入力の全ての意図にわたる確率分布が提供される。次に、意図のセットが視覚的にクライアントに表示される。このセットは確率スコアに従ってランク付けされ、ユーザのテキスト入力に対応する最も可能性の高い意図の提案として機能する。
ユーザインターフェイス(UI)表示、及び基礎となる処理ロジックは、本出願で先に参照された「ユーザフィードバックを伴うテキストベースの会話体験においてユーザに意図提案を提供するためのユーザインターフェイス及びプロセスフロー(User Interface and Process Flow for Providing an Intent Suggestion to a User in a Text-Based Conversational Experience with User Feedback)」と題された米国仮特許出願第62/964,539号に記載されている。前述のように、ある場合には、ユーザは、表示された意図木又はその他のデータ構造から意図を特定又は選択して、問合せの目標を示し得る。他の場合には、ユーザインターフェイスのテキスト入力フィールドにテキストを入力し、説明されているように、トレーニング済みモデルを使用して入力されたテキストを評価し、1つ以上の意図に「一致」させようとする。
図2Bは、本明細書に記載のシステム及び方法のいくつかの実施形態による、ユーザからの問合せの意図又は目的を特定するプロセスのクライアント側操作及びイベント更新フローのための例示的なコンピュータ実装方法、操作、機能又はプロセスのフローチャート又はフロー図である。図2Bに示すように、クライアント側のテキスト入力は、図2Aを参照して説明した用語-意図マトリックスを使用してブロック202で評価される。用語-意図マトリックスは、入力テキストの全ての意図にわたる確率分布を提供する。次に、意図は、クライアントデバイス上のユーザに、確率スコアに従ってランク付けされた視覚的表示又はその他の適切な方法で提示される。表示された意図の1つがユーザの意図と一致する場合、ユーザはその意図を選択し、選択された意図に対応するように調整された下流のワークフロー又は体験を開始し得る(ブロック204)。ワークフローは、例えば、FAQページへのユーザの誘導、情報収集のためのプログラムされたチャットボットプロセスの開始、又はヒューマンサービスエージェントへのメッセージの提供を含み得る。
ユーザが意図を選択する前に入力した単語(テキストフラグメント)は、最終的に選択された意図とともに、サーバ側のブロック206に記録されてもよい。このテキストフラグメントと選択された意図とのペアリングは、トレーニング済みテキスト分類子を更新するためのラベル付きトレーニングの例と見なすことができる。モデルの更新プロセスは、ブロック208において、自動化された方法で定期的に実行される。結果として得られる更新された用語-意図マトリックス、及び改訂された意図木又は他の意図階層は、テキストベースの会話体験がクライアント側で開始されるときに、ブロック220でクライアントに転送される。いくつかの実施形態では、これがブロック202へのループを閉じる。
ユーザが下流のワークフロー又は体験に参加しないことを選択する場合、これはおそらく顧客が表示された意図の1つを選択せず、一致する意図(又はユーザの意見での十分に一致した意図)が提示又は表示されなかったためであるが、ユーザはメッセージを送信してテキストベースの会話を開始し得る(ブロック210)。このようなメッセージは、サーバ側で記録及びプールされる(ブロック212)。定期的に又はイベントカウント間隔で、この記録されたメッセージ(意図が添付されていないもの)のプールは、現状の意図木に現在表示されていない新しい意図を検出するために使用され得る(ブロック214)。この検出は、自動化された、半自動化された、又は完全に人間主導のプロセスで実行されてよい。
新しい意図が検出された場合、送信されたメッセージのプールから新しい意図に割り当てられた最も関連性の高いメッセージを使用して、この意図のラベル付きトレーニングデータを定義する(ブロック216)。一実施形態では、人間の理解能力をキュレーターとして使用して、簡潔で説明的なタイトルを新しい意図に割り当て、それらを既存の意図木又は他の形式の階層の適切な場所及びレベルに配置する。新しいトレーニングデータとラベルとを既存のモデル(ブロック218)と組み合わせることにより、新しい意図を含む更新されたモデルが作成される。結果として得られる更新された用語-意図マトリックス及び意図階層は、テキストベースの会話体験がクライアント側で開始されるときに、ブロック220でクライアントに提供される。いくつかの実施形態では、これがブロック202へのループを閉じる。
前述のように、いくつかの実施形態では、本発明のシステム及び方法は、処理要素及び実行可能命令のセットを含む装置の形態で実施され得る。実行可能命令は、ソフトウェアアプリケーションの一部であり、ソフトウェアアーキテクチャとして整備され得る。一般に、本発明の実施形態は、適切にプログラムされた処理要素(GPU、CPU、マイクロプロセッサ、プロセッサ、コントローラ、コンピューティングデバイス等)によって実行されるように設計されたソフトウェア命令のセットを使用して実装され得る。複雑なアプリケーション又はシステムでは、このような命令は通常「モジュール」として整備され、各モジュールは通常、特定のタスク、プロセス、機能、又は操作を実行する。モジュールのセット全体は、オペレーティングシステム(OS)又は他の形式の組織プラットフォームによってその動作を制御又は調整されてもよい。
各アプリケーションモジュール又はサブモジュールは、モジュール又はサブモジュールによって実装される特定の機能、方法、プロセス、又は操作に対応し得る。そのような機能、方法、プロセス、又は操作は、本発明のシステム及び方法の1つ以上の態様を実施するために使用されるものを含んでもよい。アプリケーションモジュール及び/又はサブモジュールは、プログラミング言語に対応するコンピュータ実行可能コード等の、任意の適切なコンピュータ実行可能コード又は命令セット(例えば、適切にプログラムされたプロセッサ、マイクロプロセッサ、又はCPUによって実行されるもの)を含んでもよい。例えば、プログラミング言語のソースコードは、コンピュータで実行可能なコードにコンパイルされてもよい。あるいは、又はさらに、プログラミング言語は、スクリプト言語等のインタープリタ型プログラミング言語であってもよい。
上記のように、本開示の一実施形態を実施するためのシステム、装置、方法、プロセス、機能、及び/又は操作は、中央処理装置(CPU)又はマイクロプロセッサのような1つ以上のプログラムされたコンピュータプロセッサによって実行される命令セットの形で全体的又は部分的に実施され得る。このようなプロセッサは、システムの他のコンポーネントによって動作するか又はシステムの他のコンポーネントと通信する装置、サーバ、クライアント、又は他のコンピューティング又はデータ処理デバイスに組み込まれてもよい。一例として、図3は、本発明の実施形態による方法、プロセス、機能、又は操作を実施するように構成されたシステム、サーバ、プラットフォーム、又はコンピューティングデバイス300に存在し得る要素又はコンポーネントを示す図である。
図3に示すサブシステム群は、システムバス314を介して相互接続される。追加のサブシステムには、入力/出力デバイス322、通信要素324、及び追加のメモリ又はデータストレージデバイス326が含まれ得る。システムバス314を介した相互接続により、1つ以上のプロセッサ330は、各サブシステムと通信し、メモリ320内のモジュール302に格納され得る命令の実行とサブシステム間の情報交換とを制御することが可能になる。システムメモリ320及び/又はメモリデバイス326は、有形のコンピュータ可読媒体を体現し得る。
モジュール302はそれぞれ、コンピュータ実行可能な命令セットを含んでもよく、命令セットがプログラムされたプロセッサ330によって実行されると、命令セットは、システム、サーバ、プラットフォーム、又はデバイス300に1つ以上の操作又は機能を実行させる。前述のように、通常、モジュール302は、命令が実行され得るように、命令のセットへのアクセス及び転送に関与する機能を実行するオペレーティングシステム303を含む。
モジュール302に含まれる命令の実行によって実行される機能は、リモートサーバ又はプラットフォーム、クライアントデバイス、あるいはその両方に配置された電子処理要素による命令セットの実行の結果であり得ることに留意されたい。モジュール302は、テキストのコーパスの取得304(実行時に、図2Aのブロック102に関連する操作の一部又は全てを実行する命令を含む)、コーパスモジュールの各文書/メッセージの前処理305(実行時に、図2Aのブロック104に関連する操作の一部又は全てを実行する命令を含む)、考えられるキーフレーズモジュールの生成及びランク付け306(実行時に、図2Aのブロック106に関連する操作の一部又は全てを実行する命令を含む)、コーパスモジュールからの単語又はトークンの埋め込みの生成308(実行時に、図2Aのブロック108に関連する操作の一部又は全てを実行する命令を含む)、単語又はトークン埋め込みモジュールにクラスタリングの実行309(実行時に、図2Aのブロック110に関連する操作の一部又は全てを実行する命令を含む)、コーパス内の各文書/メッセージのクラスタへの割り当て及び各クラスタモジュールの「ラベル付け」310(実行時に、意図木の構築と図2Aのブロック112に関連する操作の一部又は全てを実行する命令を含む)、並びに各クラスタとクラスタラベルとにおいて最も関連性の高い文書を使用したテキスト分類モデルモジュールのトレーニング312(実行時に、図2Aのブロック114に関連する操作の一部又は全てを実行する命令を含む)を含んでもよい。
前述のように、各モジュールは、コンピュータで実行可能な命令のセットを含み得る。命令セットは、サーバ、クライアントデバイス、ネットワーク要素、システム、プラットフォーム、又はその他のコンポーネントに含まれるプログラムされたプロセッサによって実行されてもよい。モジュールは、サーバ、クライアントデバイス、ネットワーク要素、システム、プラットフォーム、又はその他のコンポーネントのうちの複数に含まれるプロセッサによって実行される命令を含んでもよい。したがって、いくつかの実施形態では、それぞれが別個のデバイス、サーバ、又はシステムの一部である複数の電子プロセッサが、図示されたモジュールに含まれるソフトウェア命令の全部又は一部の実行を担当してもよい。
いくつかの実施形態では、本明細書に記載のシステム及び方法によって提供される機能及びサービスは、サーバ又はサービスプラットフォームによって維持されるアカウントにアクセスすることによって、複数のユーザに利用可能にされうる。このようなサーバ又はサービスプラットフォームは、Software-as-a-Service(SaaS)の形式と呼ばれることがある。図5は、本発明/開示の実施形態を実施し得るSaaSシステムを示す図である。図6は、本発明/開示の実施形態を実施し得る例示的な動作環境の要素又はコンポーネントを示す図である。図7は、本発明/発明の実施形態を実施し得る図6のマルチテナント分散コンピューティングサービスプラットフォームの要素又はコンポーネントの追加の詳細を示す図である。
いくつかの実施形態では、本明細書に記載のコーパス処理及びテキスト分類モデルトレーニング処理システム又はサービスは、メッセージ又はサービス要求の送信に応答して実行されるマイクロサービス、プロセス、ワークフロー又は機能として実装され得る。マイクロサービス、プロセス、ワークフロー、又は機能は、サーバ、データ処理要素、プラットフォーム、又はシステムによって実行され得る。いくつかの実施形態では、サービスは、「クラウド内」に配置されたサービスプラットフォームによって提供されてもよい。このような実施形態では、プラットフォームは、API及びSDKを介してアクセス可能である。記載されたコーパス処理及びテキスト分類モデルのトレーニングサービスは、複数のユーザ又は会社のそれぞれに対してプラットフォーム内のマイクロサービスとして提供され、これらの会社はそれぞれ、支援を求める顧客に対しダウンロード可能な特定のトレーニング済みモデル及びアプリケーションを持つ。マイクロサービスへのインターフェイスは、REST及びGraphQLエンドポイントによって定義され得る。管理コンソールにより、ユーザ又は管理者は、基礎となる要求及び応答データに安全にアクセスし、アカウントとアクセスとを管理し、場合によっては、処理ワークフロー又は構成を変更できる。
図5~7は、ビジネス関連又はその他のアプリケーションやサービスを複数のアカウント/ユーザに配信するために使用し得るマルチテナント又はSaaSアーキテクチャを示しているが、このようなアーキテクチャは、他のタイプのデータ処理サービスを配信し、他のアプリケーションへのアクセスを提供するためにも使用し得ることに留意されたい。例えば、このようなアーキテクチャを使用して、コーパス処理及びテキスト分類モデルのトレーニングサービスを提供し、エンドユーザがカスタマーサポートの要求を解決するのを支援してもよい。いくつかの実施形態では、図5~7に示されるタイプのプラットフォーム又はシステムは、特定のビジネス関連アプリケーションのセットを提供するためにサードパーティプロバイダによって操作され得るが、他の実施形態では、プラットフォームは、プロバイダによって運営され、さまざまな企業が、プラットフォームを通じてユーザにアプリケーション又はサービスを提供してもよい。例えば、図5~7を参照して説明した機能及びサービスの一部は、トレーニング済みモデル及びクライアントアプリケーションのプロバイダがトレーニング済みモデルを使用してその会社の顧客にサービスを提供する各会社又は企業のプラットフォーム上のアカウントを維持することにより、サードパーティによって提供されてもよい。
図5は、本発明の実施形態を実施し得るか、又は本明細書に記載のコーパス処理及びテキスト分類モデルトレーニングサービスの実施形態にアクセスし得るシステム500を示す図である。アプリケーションサービスプロバイダ(ASP)ホスト型ビジネスサービスシステム(マルチテナントデータ処理プラットフォーム等)の利点に従って、本明細書に記載のサービスのユーザは、個人、企業、店舗、組織等を含みうる。ユーザは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スキャナ、スマートフォン等を含むがこれらに限定されない、任意の適切なクライアントを使用してサービスにアクセスし得る。一般に、インターネットにアクセスできるクライアントデバイスであれば、要求又はカスタマーサポートサービスを要求するテキストメッセージを提供し、意図木モデルを受信して表示するのに使用し得る。ユーザは、インターネット513又は別の適切な通信ネットワーク又はネットワークの組み合わせを介してサービスプラットフォームと接続する。適切なクライアントデバイスの例としては、デスクトップコンピュータ503、スマートフォン504、タブレットコンピュータ505、又はラップトップコンピュータ506が含まれる。
第三者によってホストされ得るコーパス処理及びテキスト分類モデルトレーニングシステム510は、図5に示されるような結合された、コーパス処理及びテキスト分類モデルトレーニングサービス512とウェブインターフェイスサーバ514とのセットを含み得る。図5ではそれぞれ単一のユニットとして表されているが、コーパス処理及びテキスト分類モデルトレーニングサービス512とウェブインターフェイスサーバ514とのいずれか又は両方が、1つ以上の異なるハードウェアシステム及びコンポーネントに実装されてもよいことを理解されたい。コーパス処理及びテキスト分類モデルトレーニングサービス512は、受信したテキストのコーパスを処理し、特定の会社又は組織にカスタマーサポートサービスを提供する際に使用するためのトレーニング済みテキスト分類モデルを生成するための機能又は操作を1つ以上含み得る。
いくつかの実施形態では、会社が利用できるアプリケーションのセットは、本明細書に記載の、会社又は組織からの文書/メッセージのコーパスの受信、コーパス内の各文書/メッセージの前処理、考えられるキーフレーズの生成とランク付け、コーパスからの単語の埋め込みの生成、単語の埋め込みのクラスタリングの実行、コーパス内の各文書/メッセージのクラスタへの割り当てと各クラスタのラベル付け、及び各クラスタとクラスタラベルとで最も関連性の高い文書を使用した会社又は組織のテキスト分類モデルのトレーニングのための機能及び方法を実行する1つ以上のアプリケーションを含み得る。前述したように、これらの機能又は処理ワークフローを使用すれば、顧客の問い合わせ又はカスタマーサポートの要求に対して、より効率的かつ効果的な対応を顧客に提供し得る。
例として、いくつかの実施形態では、プラットフォーム又はシステム510を介して利用可能になるアプリケーション、機能、操作、又はサービスのセットは、以下を含み得る。
●アカウント管理サービス516、例えば、
○プラットフォームのサービス及び機能を利用したい顧客、会社、又は組織を認証するプロセス又はサービス、
○会社又は組織からの要求を受信し、カスタマーサービスの要求に応答する際に使用されるトレーニング済みテキスト分類/機械学習モデルの生成に使用する文書/メッセージのコーパスをプラットフォームに提供するプロセス又はサービス、
○要求されたサービスの価格又はサービス契約に対する料金を生成するオプションのプロセス又はサービス、
○要求者のためのコーパス処理及びモデルトレーニングプロセスのコンテナ又はインスタンスを生成するプロセス又はサービスであり、インスタンスは特定の会社のワークフロー又は処理の必要性(例えば、文書から特定の情報を削除したり、ラベルに特定の形式を使用したりする等)に合わせてカスタマイズし得るプロセス又はサービス、及び
○他の形式のアカウント管理サービス。
●会社又は企業のためのトレーニング済み機械学習モデルを生成するプロセス又はサービス518、例えば、
○会社から文書(顧客が生成したメッセージ等)のコーパスを取得するプロセス又はサービス、
○文書のコーパス内の各文書からキーフレーズを生成するプロセス又はサービス、
○文書のコーパス内の各文書から単語又はトークンの埋め込みを生成するプロセス又はサービス、
○単語又はトークンの埋め込みに対してクラスタリング操作を実行するプロセス又はサービス、
○コーパス内の各文書をクラスタに割り当て、各クラスタのキュレーションとラベル付けとを可能にするプロセス又はサービス、及び
○クラスタ内の最も関連性の高い文書と、そのクラスタに割り当てられたラベルとを使用して機械学習モデルをトレーニングするプロセス又はサービス。
●特定の会社のテキスト分類モデルのトレーニング後、プラットフォームは、適切なメッセージ分類モデルにアクセスしてそれを顧客のクライアントデバイスに提供するプロセス又はサービス520によって、顧客のサービス要求又はクライアントデバイスアプリケーションの起動に対応し得る。例えば、
○顧客に提供する正しいトレーニング済みモデルを特定するプロセス又はサービス。
●この場合、「正しい」モデルは、顧客が支援を要求している会社に対応するモデルである(そして、顧客が使用したアプリケーションによって示され得る)。
○意図木データと適切なトレーニング済みモデルとを、意図木データ構造の表示と対話とを可能にするサポートアプリケーション(必要であり、まだ提供されていない場合)とともに、要求者のクライアントデバイスに提供するプロセス又はサービス。
●顧客の選択、モデル出力、又は顧客テキスト入力を処理するプロセス又はサービス522、例えば、
○ユーザが選択した意図、又はユーザインターフェイスのテキスト入力フィールドに入力されたテキストに基づいて「予測された」又は要求者の最も正しい可能性が高い意図を表すクライアントアプリケーション又はトレーニング済みモデルから予測又は分類を受信するプロセス又はサービス。
○要求者が意図木から意図を選択できない場合、又はトレーニング済みモデルを使用して意図に最適なものを決定できない場合に、要求者からの入力の一部又は全テキストを受信して処理するプロセス又はサービス。
●決定された意図に基づく(顧客の選択、トレーニング済みモデルの操作、又は要求者が提供した部分又は全テキストの人又はプロセスによる処理の結果としての)要求ルーティングプロセス又はサービス524、例えば、
○顧客の選択、モデルによって決定/予測された意図、又は顧客のテキスト入力のさらなる処理(通常、評価者としての役割を果たす人による)に基づいて、部門、ボット、タスク又はワークフロー、アプリケーション、URL、又は人等の適切なハンドラーに要求をルーティングするように機能するプロセス又はサービス。
●トレーニング済みモデルのさらなるトレーニング及び/又は考えられる改善の評価に使用するための追加データをシステム/プラットフォームに提供するプロセス又はサービス526、例えば、
○顧客の最初のメッセージ(及び該当する場合は、それらのより詳細なテキストメッセージ)及び決定された意図/ラベルを、意図木及びトレーニング済みモデルをトレーニング及び更新するプロセスに提供するプロセス又はサービス。
●管理サービス528、例えば、
○カスタマーサービス要求処理及びルーティングサービスのプロバイダ及び/又はプラットフォームが要求者に提供されるプロセス及びサービスを管理及び構成することを可能にするプロセス又はサービス。
図5を参照して説明された機能又はサービスの一部(サービス又は機能522及び/又は524等)は、顧客のデバイスにダウンロードされたアプリケーションによって全部又は部分的に実行され得ることに留意されたい。
図5に示すプラットフォーム又はシステムは、少なくとも1台の、但しおそらくは複数の「サーバ」で構成される分散コンピューティングシステムでホストされ得る。サーバは、例えばインターネット等のパブリックネットワークを介してサーバとデータ通信している他のコンピュータのユーザのニーズに対応することを目的とした、1つ以上のソフトウェアアプリケーション又はサービスのデータストレージと実行環境を提供するための専用の物理コンピュータである。サーバ、及びサーバが提供するサービスは、「ホスト」及びリモートコンピュータと呼ばれることがあり、提供されているリモートコンピュータで実行されているソフトウェアアプリケーションは、「クライアント」と呼ばれることがある。提供するコンピューティングサービスに応じて、サーバは、データベースサーバ、データストレージサーバ、ファイルサーバ、メールサーバ、プリントサーバ、Webサーバ等と呼ばれることがある。Webサーバは、ほとんどの場合、ハードウェアとソフトウェアの組み合わせであり、通常はWebサイトをホストすることにより、インターネット経由でWebサーバにアクセスするクライアントWebブラウザにコンテンツを配信するのを支援する。
図6は、本発明の実施形態を実施し得る例示的な動作環境600の要素又はコンポーネントを示す図である。図示されるように、様々なコンピューティングデバイスを組み込む及び/又はそれらに組み込まれる様々なクライアント602は、1つ以上のネットワーク614を介してマルチテナントサービスプラットフォーム608と通信し得る。例えば、クライアントは、1つ以上のコンピューティングデバイスによって少なくとも部分的に実装されるクライアントアプリケーション(例えば、ソフトウェア)を組み込む、及び/又はそのようなクライアントアプリケーションに組み込まれることができる。適切なコンピューティングデバイスの例には、パーソナルコンピュータ、サーバコンピュータ604、デスクトップコンピュータ606、ラップトップコンピュータ607、ノートブックコンピュータ、タブレットコンピュータ又はパーソナルデジタルアシスタント(PDA)610、スマートフォン612、携帯電話、及び1つ以上のコンピューティングデバイスコンポーネントを組み込んだ家庭用電子機器が含まれる。コンピューティングデバイスコンポーネントとは、1つ以上の電子プロセッサ、マイクロプロセッサ、中央処理装置(CPU)、又はコントローラ等である。適切なネットワーク614の例には、有線及び/又は無線の通信技術を利用するネットワーク、ならびに任意の適切なネットワーク及び/又は通信プロトコル(例えば、インターネット)に従って動作するネットワークが含まれる。
分散コンピューティングサービス/プラットフォーム(マルチテナントデータ処理プラットフォームとも呼ばれる)608は、ユーザインターフェイス層616、アプリケーションサーバ層620、及びデータストレージ層624を含む複数の処理層を含み得る。ユーザインターフェイス層616は、グラフィカルユーザインターフェイス及び/又はウェブベースのインターフェイスを含む、複数のユーザインターフェイス617を維持し得る。ユーザインターフェイスには、ユーザ又はサービスの「テナント」(図では「サービスUI」として示されている)にアプリケーションとデータとへのアクセスを提供するサービスのデフォルトユーザインターフェイスと、ユーザ固有の要件に応じて特殊化/カスタマイズされている1つ以上のユーザインターフェイス(例えば、図では「テナントA UI」・・・「テナントZ UI」で表され、1つ以上のAPIを介してアクセスし得る)と、が含まれ得る。
デフォルトのユーザインターフェイスは、サービスプラットフォームによって提供される機能へのテナントのアクセスと使用をテナントが管理できるようにするユーザインターフェイスコンポーネントを含み得る。これには、テナントデータへのアクセス、特定のアプリケーションのインスタンスの起動、特定のデータ処理操作の実行等が含まれ得る。図示されている各アプリケーションサーバ又は処理層622は、コンピュータ及び/又はコンピュータサーバとプロセッサを含むコンポーネントのセットで実装でき、ソフトウェアアプリケーション又は命令セットの実行によって決定されるさまざまな機能、方法、プロセス、又は操作を実行し得る。データストレージ層624は、1つ以上のデータストアを含み得、データストアは、サービスデータストア625及び1つ以上のテナントデータストア626を含み得る。データストアは、構造化照会言語(SQL)ベースのリレーショナルデータベース管理システム(RDBMS)を含む、任意の適切なデータストレージテクノロジを使用して実装できる。
サービスプラットフォーム608は、マルチテナントであり得、ビジネス関連又は他のデータ処理アプリケーション、データストレージ、及び機能のセットを複数のテナントに提供するために、エンティティによって操作され得る。例えば、アプリケーション及び機能は、エンドユーザにサービスを提供するために企業が使用する機能へのWebベースのアクセスを提供することを含み得る。これにより、ブラウザとインターネット又はイントラネット接続を使用するユーザが、特定の種類の情報を閲覧、入力、処理、又は変更し得る。そのような機能又はアプリケーションは、通常、プラットフォームのアプリケーションサーバ層620の一部である1つ以上のサーバ622上で維持及び実行されるソフトウェアコード/命令の1つ以上のモジュールによって実装される。図5に関して述べたように、図6に示すプラットフォームシステムは、少なくとも1台の、但し通常は複数の、「サーバ」で構成される分散コンピューティングシステム上でホストされてもよい。
前述のように、企業は、そのようなプラットフォーム又はシステム自体を構築及び保守するのではなく、サードパーティが提供するシステムを利用し得る。サードパーティは、マルチテナントプラットフォームの環境で、上記のビジネスシステム/プラットフォームを実装してもよい。企業のデータ処理ワークフロー(本明細書に記載のメッセージ/要求の処理やルーティング等)の個々のインスタンスがユーザに提供され、各企業はプラットフォームのテナントを表す。このようなマルチテナントプラットフォームの利点の1つは、各テナントがデータ処理ワークフローのインスタンスをそのテナントの特定のビジネスニーズ又は運用方法に合わせてカスタマイズできることである。各テナントは、マルチテナントプラットフォームを使用して、複数のユーザにビジネスサービスと機能とを提供する企業又はエンティティであり得る。
図7は、本発明の実施形態を実施し得る、図6のマルチテナント分散コンピューティングサービスプラットフォームの要素又はコンポーネントの追加の詳細を示す図である。図7に示されるソフトウェアアーキテクチャは、本発明の実施形態を実施するために使用し得るアーキテクチャの例を表す。一般に、本発明の実施形態は、適切にプログラムされた処理要素(CPU、マイクロプロセッサ、プロセッサ、コントローラ、コンピューティングデバイス等)によって実行されるように設計されたソフトウェアの命令セットを使用して実施し得る。複雑なシステムでは、そのような命令は、通常、「モジュール」に分けられ、各モジュールは、特定のタスク、プロセス、機能、又は操作を実行する。モジュールのセット全体は、オペレーティングシステム(OS)又は他の形式の組織プラットフォームによって操作を制御又は調整されてもよい。
前述のように、図7は、本発明の実施形態を実施し得る、マルチテナント分散コンピューティングサービスプラットフォームの要素又はコンポーネント700の追加の詳細を示す図である。例示的なアーキテクチャは、1つ以上のユーザインターフェイス703を有するユーザインターフェイスレイヤ又は層702を含む。このようなユーザインターフェイスの例には、グラフィカルユーザインターフェイス及びアプリケーションプログラミングインターフェイス(API)が含まれる。各ユーザインターフェイスは、1つ以上のインターフェイス要素704を含み得る。例えば、ユーザは、例示的なアーキテクチャのアプリケーション及び/又はデータストレージレイヤによって提供される機能及び/又はデータにアクセスするために、インターフェイス要素と対話し得る。グラフィカルユーザインターフェイス要素の例には、ボタン、メニュー、チェックボックス、ドロップダウンリスト、スクロールバー、スライダ、スピナー、テキストボックス、アイコン、ラベル、プログレスバー、ステータスバー、ツールバー、ウィンドウ、ハイパーリンク、ダイアログボックスが含まれる。アプリケーションプログラミングインターフェイスは、ローカル又はリモートであってもよく、パラメータ化されたプロシージャコール、プログラムオブジェクト、メッセージングプロトコル等のインターフェイス要素を含み得る。
アプリケーションレイヤ710は、1つ以上のサブモジュール712をそれぞれが有する1つ以上のアプリケーションモジュール711を含み得る。各アプリケーションモジュール711又はサブモジュール712は、モジュール又はサブモジュールによって実施される機能、方法、プロセス、又は操作(例えば、ビジネス関連のデータ処理及びサービスをプラットフォームのユーザに提供することに関連する機能又はプロセス)に対応し得る。そのような機能、方法、プロセス、又は操作は、図1、図2A、図2B、図3、及び図5を参照して説明される1つ以上のプロセス又は機能等のために、本発明のシステム及び方法の1つ以上の態様を実施するのに使用されるものを含み得る。
●会社又は組織から文書のコーパス(顧客が生成したメッセージ等)を取得するプロセス又はサービス。
○いくつかの例では、コーパスは、会社又は組織によって受信された(又は受信されると予想される)カスタマーサービス要求の例のソースから取得され得る。
●文書のコーパス内の各文書からキーフレーズを生成するプロセス又はサービス。
●文書のコーパス内の各文書から単語又はトークンの埋め込みを生成するプロセス又はサービス。
●単語又はトークンの埋め込みに対してクラスタリング操作を実行するプロセス又はサービス。
●コーパス内の各文書をクラスタに割り当て、各クラスタのキュレーションとラベル付けとを可能にするプロセス又はサービス。
●クラスタ内の最も関連性の高い文書とそのクラスタに割り当てられたラベルとを使用して機械学習モデルをトレーニングするプロセス又はサービス。
●会社の顧客が支援を要求したり、カスタマーサポートアドレスにメッセージを送信したり、カスタマーアプリケーションを開始したりする(又はその他の方法で支援の必要性を示す)ときに、トレーニング済みモデルと支援が求められる可能性のあるカテゴリの「意図木」を表すデータ構造とを顧客に提供するプロセス又はサービス;
●アプリケーションを会社の顧客に提供し(まだ提供されていない場合)、顧客が意図木を表示して「ナビゲート」できるようにし、目的の意図又は支援のカテゴリを選択し、選択した意図を承認できるようにし、顧客がテキストを挿入し、そのテキストをトレーニング済みモデルによって分類できるようにし、トレーニング済みモデルによって作成された分類の受け入れを承認するプロセス又はサービス。
○この場合、アプリケーションが、意図木と、選択、テキスト入力、承認、及びその他の機能を有効にするためのユーザインターフェイス要素とを含む表示又はユーザインターフェイスを生成するように構成されている。
●顧客がテキスト、フレーズ、質問、又は文(例として)をユーザインターフェイスのフィールドに挿入し、フィールドのコンテンツをサーバ/プラットフォームに提供してさらに評価及び処理(通常は人による)できるようにするプロセス又はサービス。
●顧客の初期メッセージ(及び該当する場合は、より詳細なテキストメッセージ)と、決定された意図/ラベルとを、意図木及びトレーニング済みモデルをトレーニング及び更新するプロセスに提供するプロセス又はサービス。
●支援を要求する際の顧客の意図又は目標を決定した後、解決のため、顧客のメッセージ又は要求を会社の適切な「ハンドラー」、タスク、ワークフロー、ボット、URL、個人又は部門に提供するメカニズムを(通常はプラットフォーム上のアプリケーション又はサービスのいずれかを介して)提供するプロセス又はサービス。
アプリケーションモジュール及び/又はサブモジュールは、プログラミング言語に対応するコンピュータ実行可能コード等の、任意の適切なコンピュータ実行可能コード又は命令セット(例えば、適切にプログラムされたプロセッサ、マイクロプロセッサ、又はCPUによって実行されるもの)を含み得る。例えば、プログラミング言語のソースコードは、コンピュータ実行可能コードにコンパイルされてもよい。あるいは、又はさらに、プログラミング言語は、スクリプト言語等のインタープリタ型プログラミング言語であってもよい。各アプリケーションサーバ(例えば、図6の要素622で表される)は、各アプリケーションモジュールを含んでもよい。あるいは、異なるアプリケーションサーバが、異なるアプリケーションモジュールのセットを含んでもよい。このようなセットは、要素が共通しなくても、重複していてもよい。
データストレージレイヤ720は、それぞれが属性及び/又は挙動等の1つ以上のデータオブジェクトコンポーネント721を有する1つ以上のデータオブジェクト722を含み得る。例えば、データオブジェクトはリレーショナルデータベースのテーブルに対応し、データオブジェクトコンポーネントはそのようなテーブルの列又はフィールドに対応してもよい。あるいは、又はさらに、データオブジェクトは、フィールド及び関連するサービスを有するデータレコードに対応してもよい。あるいは、又はさらに、データオブジェクトは、構造やクラス等のプログラムデータオブジェクトの永続的なインスタンスに対応してもよい。データストレージレイヤの各データストアは、各データオブジェクトを含んでもよい。あるいは、異なるデータストアが異なるデータオブジェクトのセットを含んでもよい。このようなセットは、要素が共通しなくても、重複していてもよい。
図5~7に示されている例示的なコンピューティング環境は、限定的な例を意図したものではないことに留意されたい。本発明の実施形態が全体的又は部分的に実施され得るさらなる環境は、デバイス(モバイルデバイスを含む)、ソフトウェアアプリケーション、システム、装置、ネットワーク、SaaSプラットフォーム、laaS(サービスとしてのインフラストラクチャ)プラットフォーム、又はデータ入力、データ処理、アプリケーション実行、又はデータレビューのために複数のユーザが使用できるその他の構成可能なコンポーネントを含み得る。
前述した本発明は、モジュール式又は統合された方法でコンピュータソフトウェアを使用する制御ロジックの形で実施し得ることを理解されたい。本明細書で提供される開示及び教示に基づいて、当業者は、ハードウェア及びハードウェアとソフトウェアの組み合わせを使用して本発明を実施するための他の方法及び/又は方法を知り、理解するであろう。
いくつかの実施形態では、本明細書に記載の方法、モデル、又は機能のいくつかは、トレーニング済みニューラルネットワークの形で具体化され得、ネットワークは、コンピュータ実行可能命令のセットの実行又はデータ構造の表示によって実装される。命令は、非一時的なコンピュータ可読媒体内(又は上)に保存され、プログラムされたプロセッサ又は処理要素によって実行され得る。トレーニング済みニューラルネットワーク、トレーニング済み機械学習モデル、又は他の形式の決定又は分類プロセスを使用して、本明細書に記載の方法、機能、プロセス又は操作の1つ以上を実装し得る。ニューラルネットワーク又は深層学習モデルは、ノードを含むレイヤのセットを表すデータが格納され、入力を操作して決定又は値を出力として提供する異なるレイヤのノード間結合が作成(又は形成)されるデータ構造の形式で特徴付けられ得ることに留意されたい。
一般的に、ニューラルネットワークは、相互にメッセージを交換する人工「ニューロン」が相互に結合されたシステムと見なし得る。結合は、トレーニングプロセス中に「調整」される数値の重みを有し、これにより、適切にトレーニングされたネットワークは、認識できる画像又はパターン(例えば)が提示されたときに正しく応答する。この特性評価では、ネットワークは特徴を検出する「ニューロン」の複数のレイヤで構成されている。各レイヤには、前のレイヤからの入力のさまざまな組み合わせに応答するニューロンがある。ネットワークのトレーニングは、意図された出力応答に関連付けられたさまざまな代表的な入力パターンの入力の「ラベル付き」データセットを使用して実行される。トレーニングは、汎用の方法を使用して、中間及び最終の特徴ニューロンの重みを繰り返し決定する。計算モデルの観点から、各ニューロンは入力と重みとの内積を計算し、バイアスを追加し、非線形トリガー又は活性化関数を適用する(例えば、シグモイド応答関数を使用する)。
機械学習(ML)は、データの分析を可能にし、複数の業界での意思決定を支援するためにますます使用されている。機械学習を使用するメリットを享受するために、機械学習アルゴリズムがトレーニングデータとラベルのセットに適用され、アルゴリズムのアプリケーションがトレーニングデータから「学習」した内容を表す「モデル」が生成される。トレーニングデータのセットの各要素(又は、例えば、1つ以上のパラメータ、変数、特性、又は「特徴」の形式)は、トレーニング済みモデルによって要素を分類する方法を定義するラベル又は注釈に関連付けられる。機械学習モデルは、入力データのサンプルに関する決定(分類等)を行うために動作する、結合されたニューロンのレイヤのセットである。トレーニングされると(つまり、ニューロンを結合する重みが収束して安定するか、許容可能な変動量の範囲内になると)、モデルは入力データの新しい要素を操作し、正しいラベル又は分類を出力として生成する。
本開示は、以下の番号付きの項目を含む。
項目1.顧客に支援を提供する方法であって、
文書のセットを取得し、
文書のセット内の各文書から考えられるキーフレーズのセットを生成し、
文書のセット内の各文書から単語又はトークンの埋め込みのセットを生成し、
クラスタリング操作を実行して、単語又はトークンの埋め込みのセットからクラスタのセットを生成し、クラスタのセットの各クラスタは、単語又はトークンの埋め込みのセットに単語又はトークンの埋め込みを1つ以上含み、
文書のセット内の各文書を、生成されたクラスタのセットの1つに割り当て、
生成された各クラスタにラベルを割り当て、
テキスト分類モデルのトレーニングデータのセットを形成し、トレーニングデータは、文書のセット内の文書と、その文書が割り当てられているクラスタのラベルとのペアを複数含み、
トレーニングデータのセットを使用してテキスト分類モデルをトレーニングすることにより、
トレーニング済みテキスト分類モデルを作成することと、
トレーニング済みテキスト分類モデルを顧客に提供することと、
デバイス上に表示を生成することであって、表示がラベルのセットを表示し、各ラベルが単語又はトークンの埋め込みから生成されたクラスタの1つに対応することと、
顧客によりラベルのセットの1つが選択されたことを受信することに応じて、顧客に支援を提供するために適切なプロセスへのアクセスを提供することを含む方法。
項目2.文書のセットが複数のテキストメッセージを含む、項目1の方法。
項目3.考えられるキーフレーズのセットを生成することが、さらに、各文書に対してnグラムのセットを構築することを含み、各nグラムは、考えられるキーフレーズである、項目1に記載の方法。
項目4.クラスタリング操作の前に、各キーフレーズが、用語頻度-逆文書頻度(tf-idf)スコアリングを使用してランク付けされ、生成された各クラスタへのラベルの割り当てが、少なくとも部分的にクラスタのキーフレーズに関連付けられたスコアに依存する、項目1の方法。
項目5.生成された表示がラベルの階層である、項目1の方法。
項目6.顧客からラベルのセットの1つを選択したことを受信しない場合、さらに、顧客によってテキスト入力フィールドに入力されたテキストが既存のラベルに対応するかどうかを、トレーニング済みモデルを使用して入力されたテキストを分類することにより決定することを含む、項目1の方法。
項目7.テキスト分類モデルが単純ベイズアルゴリズムを使用して開発される、項目1の方法。
項目8.文書のセット内の各文書を前処理することをさらに含み、前処理が、html、URL、数字、及び絵文字を削除すること、文書を文に分割すること、各文を単語に分割すること、単一の文字を削除すること、及びストップワードを削除することのうちの1つ以上を含む、項目1の方法。
項目9.顧客によって入力されたテキストが、顧客が承認する既存のラベルに対応しない場合、さらに、入力されたテキスト又は顧客によって提供された別のテキストのセットをキュレーターに提供し、入力されたテキスト又はその他のテキストのセットとキュレーターによって提供されたラベルを、テキスト分類モデルのトレーニングデータとして使用することを含む、項目6の方法。
項目10.顧客に支援を提供するために適切なプロセスへのアクセスを提供することが、さらに、ユーザからのメッセージを人又はボットへ提供すること、アプリケーションを起動すること、又はユーザに支援を提供するウェブページにユーザを誘導することを含み、人、ボット、アプリケーション、又はウェブページが、顧客が選択したラベル、トレーニング済みモデルによって生成された分類、又はキュレーターによって提供されたラベルに関連付けられている、項目6に記載の方法。
項目11.ユーザがサービスを取得するのを支援するためのシステムであって、
リモートサーバとは別のコンピューティングデバイスにインストールされ、リモートサーバからトレーニング済みのテキスト分類モデルを受信し、ユーザがトレーニング済みモデルと対話するためのユーザインターフェイスを生成するように構成されたアプリケーションと、
リモートサーバと、を備え、リモートサーバは、
文書のセットを取得し、
文書のセット内の各文書から考えられるキーフレーズのセットを生成し、
文書のセット内の各文書から単語又はトークンの埋め込みのセットを生成し、
クラスタリング操作を実行して、単語又はトークンの埋め込みのセットからクラスタのセットを生成し、クラスタのセットの各クラスタは、単語又はトークンの埋め込みのセットに単語又はトークンの埋め込みを1つ以上含み、
文書のセット内の各文書を、生成されたクラスタのセットの1つに割り当て、
生成された各クラスタにラベルを割り当て、
テキスト分類モデルのトレーニングデータのセットを形成し、トレーニングデータは、文書のセット内の文書と、文書が割り当てられているクラスタのラベルとのペアを複数含み、
トレーニングデータのセットを使用してテキスト分類モデルをトレーニングすることにより、
トレーニング済みテキスト分類モデルを作成し、
トレーニング済みテキスト分類モデルを顧客に提供するように構成され、
アプリケーションは、さらに、デバイス上に表示を生成するように構成され、表示がラベルのセットを表示し、各ラベルが単語又はトークンの埋め込みから生成されたクラスタの1つに対応し、リモートサーバは、さらに、ユーザによるラベルのセットの1つの選択を受信することに応じて、ユーザにサービスを提供するための適切なプロセスへのアクセスを提供するように構成されるシステム。
項目12.文書のセットが複数のテキストメッセージを含む、項目11に記載のシステム。
項目13.考えられるキーフレーズのセットを生成することが、さらに、各文書に対してnグラムのセットを構築することを含み、各nグラムは、考えられるキーフレーズである、項目11に記載のシステム。
項目14.クラスタリング操作の前に、各キーフレーズが、用語頻度-逆文書頻度(tf-idf)スコアリングを使用してランク付けされ、生成された各クラスタへのラベルの割り当てが、少なくとも部分的にクラスタのキーフレーズに関連付けられたスコアによって異なる、項目11のシステム。
項目15.生成された表示がラベルの階層である、項目11のシステム。
項目16.ユーザからラベルのセットの1つの選択を受信しない場合、アプリケーションは、ユーザによってテキスト入力フィールドに入力されたテキストが既存のラベルに対応するかどうかを、トレーニング済みモデルを使用して入力されたテキストを分類することにより決定するように構成される、項目11のシステム。
項目17.リモートサーバは、ユーザからのメッセージを人又はボットに提供する、アプリケーションを起動する、又はユーザに支援を提供するウェブページにユーザを誘導することによって、顧客にサービスを提供するための適切なプロセスへのアクセスを提供するように構成され、人、ボット、アプリケーション、又はウェブページが、顧客が選択したラベル、トレーニング済みモデルによって生成された分類、又はキュレーターによって提供されたラベルに関連付けられている、項目16のシステム。
項目18.コンピュータ実行可能命令のセットを含む1つ以上の非一時的なコンピュータ可読媒体であって、コンピュータ実行可能命令のセットは、1つ以上のプログラムされた電子プロセッサによって実行されると、以下を実行することにより、プロセッサに顧客に支援を提供させる、1つ以上の非一時的なコンピュータ可読媒体。
文書のセットを取得し、
文書のセット内の各文書から考えられるキーフレーズのセットを生成し、
文書のセット内の各文書から単語又はトークンの埋め込みのセットを生成し、
クラスタリング操作を実行して、単語又はトークンの埋め込みのセットからクラスタのセットを生成し、クラスタのセットの各クラスタは、単語又はトークンの埋め込みのセットに単語又はトークンの埋め込みを1つ以上含み、
文書のセット内の各文書を、生成されたクラスタのセットの1つに割り当て、
生成された各クラスタにラベルを割り当て、
テキスト分類モデルのトレーニングデータのセットを形成し、トレーニングデータは、文書のセット内の文書と、文書が割り当てられているクラスタのラベルとのペアを複数含み、そして
トレーニングデータのセットを使用してテキスト分類モデルをトレーニングすることによって、
トレーニング済みテキスト分類モデルを作成し、
トレーニング済みテキスト分類モデルを顧客に提供し、
デバイス上に表示を生成し、表示がラベルのセットを表示し、各ラベルが単語又はトークンの埋め込みから生成されたクラスタの1つに対応し、そして
顧客によりラベルのセットの1つが選択されたことを受信することに応じて、顧客に支援を提供するために適切なプロセスへのアクセスを提供する。
項目19.顧客からラベルのセットの1つを選択したことを受信しない場合、1つ以上のプロセッサが、顧客によりテキスト入力フィールドに入力されたテキストが既存のラベルに対応するかどうかを、トレーニング済みモデルを使用して入力されたテキストを分類することにより決定するように構成される、項目18に記載の1つ以上の非一時的なコンピュータ可読媒体。
項目20.1つ以上のプロセッサが、ユーザからのメッセージを人又はボットに提供する、アプリケーションを起動する、又はユーザに支援を提供するウェブページにユーザを誘導することによって、顧客に支援を提供するために適切なプロセスへのアクセスを提供するように構成され、人、ボット、アプリケーション、又はウェブページが、顧客が選択したラベル、トレーニング済みモデルによって生成された分類、又はキュレーターによって提供されたラベルに関連付けられている、項目18に記載の1つ以上の非一時的なコンピュータ可読媒体。
項目21.顧客に支援を提供する方法であって、
支援を要求する顧客からのメッセージを受信し、
メッセージの受信に応答して、トレーニング済みテキスト分類モデルを顧客に提供し、トレーニング済みモデルは、モデルへのテキスト入力を分類するように構成され、分類は、メッセージに対応するカテゴリを表し、
カテゴリのセットの表示をデバイス上に生成し、各カテゴリは、考えられる支援のタイプに対応し、
顧客によって表示されたカテゴリのセットの1つが選択されることに応じて、顧客に支援を提供するために適切なプロセスへのアクセスを提供し、
ユーザからカテゴリのセットの1つの選択を受信しない場合、トレーニング済みモデルを使用して入力したテキストを分類することにより、顧客がテキスト入力フィールドに入力したテキストがカテゴリに対応するかどうかを判断することを含む方法。
項目22.顧客に支援を提供するために適切なプロセスへのアクセスを提供することが、さらに、顧客によって生成されたメッセージを、顧客によって選択されたカテゴリ、トレーニング済みモデルによって生成された分類、又はキュレーターによって提供されたカテゴリに関連するプロセス、ボット、アプリケーション、又は人にルーティングすることを含む、項目21の方法。
項目23.さらに、デバイス上に表示を生成するように構成されたアプリケーションを顧客に提供することを含む、項目21に記載の方法。
項目24.さらに、表示を生成するために使用されるデータのセットを顧客に提供することを含む、項目21の方法。
項目25.カテゴリのセットの表示がリスト又は階層表示の形式である、項目21に記載の方法。
本出願に記載のソフトウェアコンポーネント、プロセス、又は機能のいずれも、従来の手法又はオブジェクト指向の手法を使用する、Python、Java、JavaScript、C++又はPerl等の任意の適切なコンピュータ言語を使用するプロセッサによって実行されるソフトウェアコードとして実装され得る。ソフトウェアコードは、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)等の非一時的なコンピュータ可読媒体、ハードドライブやフロッピーディスク(登録商標)等の磁気媒体、又はCD-ROM等の光学媒体内に(又はその上に)一連の命令又はコマンドとして格納され得る。この状況において、非一時的なコンピュータ可読媒体は、一時的な波形以外のデータ又は命令セットの格納に適したほとんど全ての媒体といえる。そのようなコンピュータ可読媒体のいずれも、単一の計算装置上又はその内に存在してよく、システム又はネットワーク内の異なる計算装置上又はその内に存在してよい。
一例示的な実装によれば、本明細書で使用される処理要素又はプロセッサという用語は、中央処理装置(CPU)であってもよく、又はCPU(仮想マシン等)として概念化されてもよい。本例示的な実装では、CPU又はCPUが組み込まれているデバイスは、ディスプレイ等の1つ以上の周辺デバイスと、結合され、接続され、及び/又は通信し得る。別の例示的な実装では、処理要素又はプロセッサは、スマートフォン又はタブレットコンピュータ等のモバイルコンピューティングデバイスに組み込まれ得る。
本明細書で言及される非一時的なコンピュータ可読記憶媒体は、独立ディスクの冗長アレイ(RAID)、フロッピーディスクドライブ、フラッシュメモリ、USBフラッシュドライブ、外付けハードディスクドライブ、サムドライブ、ペンドライブ、キードライブ、高密度デジタル多用途ディスク(HD-DVD)光ディスクドライブ、内蔵ハードディスクドライブ、ブルーレイ光ディスクドライブ、又はホログラフィックデジタルデータストレージ(HDDS)光ディスクドライブ、同期動的ランダムアクセスメモリ(SDRAM)、又は同様のデバイスあるいは同様の技術に基づく他の形式のメモリ等の、いくつかの物理ドライブユニットを含み得る。そのようなコンピュータ可読記憶媒体は、処理要素又はプロセッサが、リムーバブル及び非リムーバブルメモリメディアに格納されたコンピュータ実行可能プロセスステップ、アプリケーションプログラム等にアクセスし、デバイスからデータをオフロードする、又はデバイスにデータをアップロードすることを可能にする。前述のように、本明細書に記載の実施形態に関して、非一時的なコンピュータ可読媒体は、一時的な波形又は同様の媒体を除く、ほとんど全ての構造、技術、又は方法を含み得る。
開示された技術の特定の実装が、システムのブロック図、及び/又は、機能、操作、プロセス、又は方法のフローチャート又はフロー図を参照して本明細書で説明されている。ブロック図の1つ以上のブロック、又はフローチャート又はフロー図の1つ以上の段階又はステップ、ならびにブロック図におけるブロック及びフローチャート又はフロー図の段階又はステップの組み合わせは、それぞれ、コンピュータで実行可能なプログラム命令によって実装され得ることが理解されよう。いくつかの実施形態では、1つ以上のブロック、又はステージ又はステップは、必ずしも提示された順序で実行されなくてもよく、あるいは全く実行されなくてもよいことに留意されたい。
これらのコンピュータ実行可能プログラム命令は、汎用コンピュータ、専用コンピュータ、プロセッサ、又は他のプログラム可能なデータ処理装置にロードされて、コンピュータ、プロセッサ、又は他のプログラム可能なデータ処理装置によって実行される命令が、本明細書に記載の機能、操作、プロセス、又は方法のうちの1つ以上を実装するための手段を作成する。これらのコンピュータプログラム命令はまた、コンピュータ又は他のプログラム可能なデータ処理装置に特定の方法で機能するように指示し得るコンピュータ可読メモリに格納され得、その結果、コンピュータ可読メモリに格納された命令は、本明細書に記載の機能、操作、プロセス、又は方法の1つ以上を実装する命令手段を含む製品を生成する。
開示された技術の特定の実装を、現在最も実用的で様々な実装であると考えられているものに関連して説明してきたが、開示された技術は開示された実装に限定されないことを理解されたい。代わりに、開示された実装は、添付の特許請求の範囲内に含まれる様々な修正及び同等の構成に及ぶことを意図している。本明細書では特定の用語が使用されているが、それらは一般的かつ説明的な意味でのみ使用されており、限定の目的では使用されていない。
本明細書に記載の説明は、例を使用して、開示された技術の特定の実装を開示し、また、任意のデバイス又はシステムの作成及び使用、ならびに任意の組み込まれた方法の実施を含む、開示された技術の特定の実装をいずれの当業者も実践できるようにしている。開示された技術の特定の実施の特許性のある範囲は、特許請求の範囲に定義されており、当業者が想到する他の例を含み得る。このような他の例は、請求項の文言と異ならない構造的及び/又は機能的要素を有する場合、又は請求項の文言と実質的でない差異を有する構造的及び/又は機能的要素を含む場合、請求項の範囲内にあることが意図される。
刊行物、特許出願、及び特許を含む、本明細書において引用された全ての参考文献は、各参考文献が個別にかつ具体的に参照により組み込まれることが示され、及び/又は、その全体が本明細書に記載される場合と同程度に、参照により本明細書に組み込まれる。
本明細書及び以下の特許請求の範囲における「1つの(a)」及び「1つの(an)」及び「その(the)」という用語及び同様の指示対象の使用は、本明細書で別段の指示がない限り、又は文脈によって明確に矛盾しない限り、単数形及び複数形の両方に及ぶと解釈されるべきである。本明細書及び以下の特許請求の範囲における「有する(having)」、「含む(including)」、「包含する(containing)」という用語及び同様の指示対象は、特に断りのない限り、制限のない用語として解釈されるべきである(例えば、「含むが、これに限定されない」を意味する)。本明細書の値の範囲の記載は、本明細書に別段の記載がない限り、範囲内に含まれる各個別の値を個別に参照する簡略化された方法として機能するように意図されているに過ぎず、個別の各値は、本明細書に個別に記載されているかのように本明細書に組み込まれる。本明細書に記載の全ての方法は、本明細書に別段の記載がない限り、又は文脈によって明確に矛盾しない限り、任意の適切な順序で実施し得る。本明細書で提供されるありとあらゆる例、又は例示的な文言(例えば、「等(such as)」)の使用は、単に本発明の実施形態をよりよく明らかにすることを意図し、別段主張されない限り、本発明の範囲を限定しない。本明細書におけるいかなる文言も、請求項に記載されていない要素が本発明の各実施形態に不可欠であることを示すものとして解釈されるべきでない。
図示されている又は上記されているコンポーネントの異なる配置、ならびに図示又は記載されていないコンポーネント及びステップもまた可能である。同様に、いくつかの特徴とサブコンビネーションは有用であり、他の特徴とサブコンビネーショを参照せずに使用し得る。本発明の実施形態は、制限する目的ではなく例示の目的で記載されており、この特許の読者には、代替の実施形態が明らかになるであろう。したがって、本発明は、上記の実施形態又は図面に示されている実施形態に限定されず、以下の特許請求の範囲から逸脱することなく、様々な実施形態及び修正を行うことができる。

Claims (20)

  1. 顧客に支援を提供する方法であって、
    文書のセットを取得し、
    前記文書のセット内の各文書から考えられるキーフレーズのセットを生成し、
    前記文書のセット内の各文書から単語又はトークンの埋め込みのセットを生成し、
    クラスタリング操作を実行して、前記単語又はトークンの埋め込みのセットからクラスタのセットを生成し、該クラスタのセットの各クラスタは、前記単語又はトークンの埋め込みのセットに前記単語又はトークンの埋め込みを1つ以上含み、
    前記文書のセット内の各文書を、前記生成されたクラスタのセットの1つに割り当て、
    前記生成された各クラスタにラベルを割り当て、
    テキスト分類モデルのトレーニングデータのセットを形成し、該トレーニングデータは、前記文書のセット内の文書と、その文書が割り当てられているクラスタのラベルとのペアを複数含み、
    前記トレーニングデータのセットを使用して前記テキスト分類モデルをトレーニングすることにより、
    トレーニング済みテキスト分類モデルを作成することと、
    前記トレーニング済みテキスト分類モデルを前記顧客に提供することと、
    デバイス上に表示を生成することであって、該表示がラベルのセットを表示し、各ラベルが前記単語又はトークンの埋め込みから生成されたクラスタの1つに対応することと、
    前記顧客により前記ラベルのセットの1つが選択されたことを受信することに応じて、前記顧客に支援を提供するために適切なプロセスへのアクセスを提供することと、
    を含む方法。
  2. 前記文書のセットが複数のテキストメッセージを含む、請求項1に記載の方法。
  3. 前記考えられるキーフレーズのセットを生成することが、さらに、各文書に対してnグラムのセットを構築することを含み、各nグラムは、考えられるキーフレーズである、請求項1に記載の方法。
  4. 前記クラスタリング操作の前に、各キーフレーズが、用語頻度-逆文書頻度(tf-idf)スコアリングを使用してランク付けされ、前記生成された各クラスタへのラベルの割り当てが、少なくとも部分的に前記クラスタのキーフレーズに関連付けられたスコアに依存する、請求項1に記載の方法。
  5. 前記生成された表示がラベルの階層である、請求項1に記載の方法。
  6. 前記顧客から前記ラベルのセットの1つを選択したことを受信しない場合、さらに、前記顧客によってテキスト入力フィールドに入力されたテキストが既存のラベルに対応するかどうかを、前記トレーニング済みモデルを使用して前記入力されたテキストを分類することにより決定することを含む、請求項1に記載の方法。
  7. 前記テキスト分類モデルが、単純ベイズアルゴリズムを使用して開発される、請求項1に記載の方法。
  8. 前記文書のセット内の各文書を前処理することをさらに含み、前記前処理が、html、URL、数字、及び絵文字を削除すること、前記文書を文に分割すること、各文を単語に分割すること、単一の文字を削除すること、及びストップワードを削除することのうちの1つ以上を含む、請求項1に記載の方法。
  9. 前記顧客によって入力されたテキストが、該顧客が承認する既存のラベルに対応しない場合、さらに、当該入力されたテキスト又は当該顧客によって提供された別のテキストのセットをキュレーターに提供し、当該入力されたテキスト又はその他のテキストのセットと前記キュレーターによって提供されたラベルとを、前記テキスト分類モデルのトレーニングデータとして使用することを含む、請求項6に記載の方法。
  10. 前記顧客に支援を提供するために適切なプロセスへのアクセスを提供することが、さらに、前記ユーザからのメッセージを人又はボットへ提供すること、アプリケーションを起動すること、又は前記ユーザに支援を提供するウェブページに前記ユーザを誘導することを含み、前記人、ボット、アプリケーション、又はウェブページが、前記顧客が選択したラベル、前記トレーニング済みモデルによって生成された分類、又はキュレーターによって提供されたラベルに関連付けられている、請求項6に記載の方法。
  11. ユーザがサービスを取得するのを支援するためのシステムであって、
    リモートサーバとは別のコンピューティングデバイスにインストールされ、該リモートサーバからトレーニング済みのテキスト分類モデルを受信し、前記ユーザが前記トレーニング済みモデルと対話するためのユーザインターフェイスを生成するように構成されたアプリケーションと、
    前記リモートサーバと、を備え、前記リモートサーバは、
    文書のセットを取得し、
    前記文書のセット内の各文書から考えられるキーフレーズのセットを生成し、
    前記文書のセット内の各文書から単語又はトークンの埋め込みのセットを生成し、
    クラスタリング操作を実行して、前記単語又はトークンの埋め込みのセットからクラスタのセットを生成し、該クラスタのセットの各クラスタは、前記単語又はトークンの埋め込みのセットに前記単語又はトークンの埋め込みを1つ以上含み、
    前記文書のセット内の各文書を、前記生成されたクラスタのセットの1つに割り当て、
    前記生成された各クラスタにラベルを割り当て、
    テキスト分類モデルのトレーニングデータのセットを形成し、該トレーニングデータは、前記文書のセット内の文書と、前記文書が割り当てられているクラスタのラベルとのペアを複数含み、
    前記トレーニングデータのセットを使用して前記テキスト分類モデルをトレーニングすることにより、
    前記トレーニング済みテキスト分類モデルを作成し、
    前記トレーニング済みテキスト分類モデルを前記顧客に提供するように構成され、
    前記アプリケーションは、さらに、前記デバイス上に表示を生成するように構成され、該表示がラベルのセットを表示し、各ラベルが前記単語又はトークンの埋め込みから生成されたクラスタの1つに対応し、前記リモートサーバは、さらに、前記ユーザによる前記ラベルのセットの1つの選択を受信することに応じて、前記ユーザに前記サービスを提供するための適切なプロセスへのアクセスを提供するように構成されるシステム。
  12. 前記文書のセットが複数のテキストメッセージを含む、請求項11に記載のシステム。
  13. 前記考えられるキーフレーズのセットを生成することが、さらに、各文書に対してnグラムのセットを構築することを含み、各nグラムは、考えられるキーフレーズである、請求項11に記載のシステム。
  14. 前記クラスタリング操作の前に、各キーフレーズが、用語頻度-逆文書頻度(tf-idf)スコアリングを使用してランク付けされ、前記生成された各クラスタへのラベルの割り当てが、少なくとも部分的に前記クラスタのキーフレーズに関連付けられたスコアに依存する、請求項11に記載のシステム。
  15. 前記生成された表示がラベルの階層である、請求項11に記載のシステム。
  16. 前記ユーザから前記ラベルのセットの1つの選択を受信しない場合、前記アプリケーションは、前記ユーザによってテキスト入力フィールドに入力されたテキストが既存のラベルに対応するかどうかを、前記トレーニング済みモデルを使用して前記入力されたテキストを分類することにより決定するように構成される、請求項11に記載のシステム。
  17. 前記リモートサーバは、前記ユーザからのメッセージを人又はボットに提供する、アプリケーションを起動する、又は前記ユーザに支援を提供するウェブページに前記ユーザを誘導することによって、前記顧客に前記サービスを提供するための適切なプロセスへのアクセスを提供するように構成され、前記人、ボット、アプリケーション、又はウェブページが、前記顧客が選択したラベル、前記トレーニング済みモデルによって生成された分類、又はキュレーターによって提供されたラベルに関連付けられている、請求項16に記載のシステム。
  18. コンピュータ実行可能命令のセットを含む1つ以上の非一時的なコンピュータ可読媒体であって、前記コンピュータ実行可能命令のセットは、1つ以上のプログラムされた電子プロセッサによって実行されると、以下を実行することにより、前記プロセッサに顧客に支援を提供させる、1つ以上の非一時的なコンピュータ可読媒体。
    文書のセットを取得し、
    前記文書のセット内の各文書から考えられるキーフレーズのセットを生成し、
    前記文書のセット内の各文書から単語又はトークンの埋め込みのセットを生成し、
    クラスタリング操作を実行して、前記単語又はトークンの埋め込みのセットからクラスタのセットを生成し、前記クラスタのセットの各クラスタは、前記単語又はトークンの埋め込みのセットに前記単語又はトークンの埋め込みを1つ以上含み、
    前記文書のセット内の各文書を、前記生成されたクラスタのセットの1つに割り当て、
    前記生成された各クラスタにラベルを割り当て、
    テキスト分類モデルのトレーニングデータのセットを形成し、前記トレーニングデータは、前記文書のセット内の文書と、前記文書が割り当てられているクラスタのラベルとのペアを複数含み、そして
    前記トレーニングデータのセットを使用して前記テキスト分類モデルをトレーニングすることによって、
    トレーニング済みテキスト分類モデルを作成し、
    前記トレーニング済みテキスト分類モデルを前記顧客に提供し、
    デバイス上に表示を生成し、前記表示がラベルのセットを表示し、各ラベルが前記単語又はトークンの埋め込みから生成されたクラスタの1つに対応し、そして
    前記顧客により前記ラベルのセットの1つが選択されたことを受信することに応じて、前記顧客に支援を提供するために適切なプロセスへのアクセスを提供する。
  19. 前記顧客から前記ラベルのセットの1つを選択したことを受信しない場合、前記1つ以上のプロセッサが、前記顧客によりテキスト入力フィールドに入力されたテキストが既存のラベルに対応するかどうかを、前記トレーニング済みモデルを使用して前記入力されたテキストを分類することにより決定するように構成される、請求項18に記載の1つ以上の非一時的なコンピュータ可読媒体。
  20. 前記1つ以上のプロセッサが、前記ユーザからのメッセージを人又はボットに提供する、アプリケーションを起動する、又は前記ユーザに支援を提供するウェブページに前記ユーザを誘導することによって、前記顧客に支援を提供するために適切なプロセスへのアクセスを提供するように構成され、前記人、ボット、アプリケーション、又はウェブページが、前記顧客が選択したラベル、前記トレーニング済みモデルによって生成された分類、又はキュレーターによって提供されたラベルに関連付けられている、請求項18に記載の1つ以上の非一時的なコンピュータ可読媒体。
JP2022545130A 2020-01-22 2021-01-20 ユーザフィードバックを伴うテキストベースの会話体験においてユーザに意図提案を提供するためのシステム、装置、及び方法 Withdrawn JP2023511600A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062964539P 2020-01-22 2020-01-22
US202062964548P 2020-01-22 2020-01-22
US62/964,548 2020-01-22
US62/964,539 2020-01-22
PCT/US2021/014158 WO2021150591A1 (en) 2020-01-22 2021-01-20 System, apparatus and methods for providing an intent suggestion to a user in a text-based conversational experience with user feedback

Publications (1)

Publication Number Publication Date
JP2023511600A true JP2023511600A (ja) 2023-03-20

Family

ID=76857075

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022545133A Withdrawn JP2023511601A (ja) 2020-01-22 2021-01-20 テキストベースの会話におけるユーザへの意図提案を提供するためのユーザインターフェイス、及びプロセスフロー
JP2022545130A Withdrawn JP2023511600A (ja) 2020-01-22 2021-01-20 ユーザフィードバックを伴うテキストベースの会話体験においてユーザに意図提案を提供するためのシステム、装置、及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2022545133A Withdrawn JP2023511601A (ja) 2020-01-22 2021-01-20 テキストベースの会話におけるユーザへの意図提案を提供するためのユーザインターフェイス、及びプロセスフロー

Country Status (5)

Country Link
US (2) US11983746B2 (ja)
EP (2) EP4094137A4 (ja)
JP (2) JP2023511601A (ja)
CA (2) CA3164413A1 (ja)
WO (2) WO2021150568A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984080B1 (en) 2013-04-09 2015-03-17 Kabam, Inc. Facilitating user configured assistance requests through a chat in a virtual space
US9332043B1 (en) 2013-04-12 2016-05-03 Kabam, Inc. System and method for facilitating user interaction with a virtual space through a graphical chat interface
US11347756B2 (en) 2019-08-26 2022-05-31 Microsoft Technology Licensing, Llc Deep command search within and across applications
GB2603678A (en) * 2019-09-02 2022-08-10 Ozecom Pty Ltd A text classification method
US11587095B2 (en) * 2019-10-15 2023-02-21 Microsoft Technology Licensing, Llc Semantic sweeping of metadata enriched service data
US11562264B2 (en) * 2020-01-29 2023-01-24 Accenture Global Solutions Limited System and method for using machine learning to select one or more submissions from a plurality of submissions
US11620575B2 (en) * 2020-06-17 2023-04-04 At&T Intellectual Property I, L.P. Interactive and dynamic mapping engine (iDME)
US11811719B1 (en) * 2020-06-30 2023-11-07 United Services Automobile Association (Usaa) Routing incoming service messages to service representatives
US11314725B2 (en) * 2020-07-28 2022-04-26 Adobe Inc. Integrated review and revision of digital content
US11900046B2 (en) * 2020-08-07 2024-02-13 Microsoft Technology Licensing, Llc Intelligent feature identification and presentation
US11206179B1 (en) * 2020-12-16 2021-12-21 American Express Travel Related Services Company, Inc. Computer-based systems for management of big data development platforms based on machine learning techniques and methods of use thereof
US11507757B2 (en) * 2021-04-16 2022-11-22 Capital One Services, Llc Systems and methods for generating dynamic conversational responses based on historical and dynamically updated information
US20220382601A1 (en) * 2021-05-28 2022-12-01 Salesforce.Com, Inc. Configuration map based sharding for containers in a machine learning serving infrastructure
US11323570B1 (en) * 2021-07-29 2022-05-03 Intuit Inc. Multi-channel hybrid models for efficient routing
US11855933B2 (en) * 2021-08-20 2023-12-26 Kyndryl, Inc. Enhanced content submissions for support chats
US20230259990A1 (en) * 2022-02-14 2023-08-17 State Farm Mutual Automobile Insurance Company Hybrid Machine Learning and Natural Language Processing Analysis for Customized Interactions
US20230289817A1 (en) * 2022-03-14 2023-09-14 HelpShift, Inc. Systems and Methods for Providing Decentralized Support Services in a Virtual Environment
WO2023177619A1 (en) * 2022-03-14 2023-09-21 HelpShift, Inc. Systems and methods for providing support services in a virtual environment
US11909737B2 (en) * 2022-07-20 2024-02-20 Citizens Financial Group, Inc. AI-driven integration platform and user-adaptive interface for business relationship orchestration
US20240105346A1 (en) * 2022-09-22 2024-03-28 Providence St. Joseph Health Optimizing messaging to service principals using machine learning
US11803358B1 (en) * 2022-09-29 2023-10-31 Atlassian Pty Ltd. Adaptive issue type identification platform
US11803402B1 (en) * 2022-12-12 2023-10-31 Sap Se Recommendations for information technology service management tickets

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182581B1 (en) * 2000-08-18 2005-01-26 Exalead Searching tool and process for unified search using categories and keywords
US8560948B2 (en) * 2005-12-23 2013-10-15 Michael Hu User support system integrating FAQ and helpdesk features and FAQ maintenance capabilities
US8019760B2 (en) * 2007-07-09 2011-09-13 Vivisimo, Inc. Clustering system and method
US20150169285A1 (en) * 2013-12-18 2015-06-18 Microsoft Corporation Intent-based user experience
US10467630B2 (en) * 2015-01-06 2019-11-05 Adobe Inc. Organizing and classifying social media conversations to improve customer service
US20180285775A1 (en) * 2017-04-03 2018-10-04 Salesforce.Com, Inc. Systems and methods for machine learning classifiers for support-based group
US11223540B1 (en) * 2017-10-12 2022-01-11 United Services Automobile Association (Usaa) Predictive routing for service sessions
US11568231B2 (en) * 2017-12-08 2023-01-31 Raytheon Bbn Technologies Corp. Waypoint detection for a contact center analysis system
US10754912B2 (en) 2018-03-12 2020-08-25 Microsoft Technology Licensing, Llc Machine learning model to preload search results
US11610064B2 (en) * 2018-12-10 2023-03-21 Asapp, Inc. Clarification of natural language requests using neural networks
CA3143020A1 (en) * 2019-06-12 2020-12-17 Liveperson, Inc. Systems and methods for communication system intent analysis

Also Published As

Publication number Publication date
EP4094253A1 (en) 2022-11-30
WO2021150591A1 (en) 2021-07-29
JP2023511601A (ja) 2023-03-20
WO2021150568A1 (en) 2021-07-29
EP4094137A1 (en) 2022-11-30
EP4094137A4 (en) 2024-03-13
US11983746B2 (en) 2024-05-14
CA3160730A1 (en) 2021-07-29
EP4094253A4 (en) 2024-03-13
CA3164413A1 (en) 2021-07-29
US20210224306A1 (en) 2021-07-22
US20210224818A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
JP2023511600A (ja) ユーザフィードバックを伴うテキストベースの会話体験においてユーザに意図提案を提供するためのシステム、装置、及び方法
JP7324772B2 (ja) 補助システムとのユーザ対話のための個人化されたジェスチャー認識
US11380305B2 (en) System and method for using a question and answer engine
AU2019261735B2 (en) System and method for recommending automation solutions for technology infrastructure issues
EP3707861B1 (en) Providing and leveraging implicit signals reflecting user-to-bot interaction
US10990645B1 (en) System and methods for performing automatic data aggregation
CA3129745A1 (en) Neural network system for text classification
US20170103439A1 (en) Searching Evidence to Recommend Organizations
JP2020537224A (ja) 名前付きエンティティの構文解析および識別に基づくクロスドキュメントの修辞的つながりの判断
US11573995B2 (en) Analyzing the tone of textual data
US20210263978A1 (en) Intelligent interface accelerating
US11514124B2 (en) Personalizing a search query using social media
US11397952B2 (en) Semi-supervised, deep-learning approach for removing irrelevant sentences from text in a customer-support system
US20200302505A1 (en) Multi-Perceptual Similarity Detection and Resolution
CA3057495A1 (en) Method and apparatus for notifying customers of agent's availability
US20200410056A1 (en) Generating machine learning training data for natural language processing tasks
US20200226209A1 (en) Methods and systems for auto-filling fields of electronic documents
US20210264480A1 (en) Text processing based interface accelerating
US11558471B1 (en) Multimedia content differentiation
US11055345B2 (en) Constructing, evaluating, and improving a search string for retrieving images indicating item use
Dash et al. Evolving of Smart Banking with NLP and Deep Learning
Lee et al. Smartphone help contents re-organization considering user specification via conditional GAN
US20240177172A1 (en) System And Method of Using Generative AI for Customer Support
US20230376537A1 (en) Multi-chunk relationship extraction and maximization of query answer coherence
US20240169147A1 (en) Reference driven nlp-based topic categorization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220914

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20221130