JP2021089742A - 広告を選択する方法、ユーザを分類する方法、およびプログラム - Google Patents
広告を選択する方法、ユーザを分類する方法、およびプログラム Download PDFInfo
- Publication number
- JP2021089742A JP2021089742A JP2021002974A JP2021002974A JP2021089742A JP 2021089742 A JP2021089742 A JP 2021089742A JP 2021002974 A JP2021002974 A JP 2021002974A JP 2021002974 A JP2021002974 A JP 2021002974A JP 2021089742 A JP2021089742 A JP 2021089742A
- Authority
- JP
- Japan
- Prior art keywords
- classification
- user
- grammar
- domain
- virtual assistant
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000008449 language Effects 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims description 20
- 238000010801 machine learning Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000002372 labelling Methods 0.000 abstract description 2
- 238000010187 selection method Methods 0.000 abstract 1
- 230000014509 gene expression Effects 0.000 description 32
- 238000007635 classification algorithm Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 241001122767 Theaceae Species 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 210000000078 claw Anatomy 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 235000012976 tarts Nutrition 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/24—Credit schemes, i.e. "pay after"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】ユーザIDに関連付けられたユーザの分類を提供するための技術を提供する。【解決手段】コンピュータによって実施される方法が提供される。広告を選択する方法は、ユーザIDを含む分類要求を仮想アシスタントプロバイダのウェブAPIに送信するステップと、ウェブAPIから、ユーザIDに対応する分類を受信するステップと、少なくとも部分的に前記分類に応じて、複数の広告のうちの1つを選択するステップと、を含む。ユーザを分類する方法は、ドメインプロバイダによって作成された自然言語文法のスロットに対してユーザが表現した値のベクトルに基づいて、識別されたユーザを分類するステップと、を含み、分類するステップは、複数の他のユーザの各々の、自然言語文法のスロット値とクラスラベルを用い、スロットの値のベクトルの類似性に基づいて、前記識別されたユーザにラベル付けすることを含み、ベクトルは、興味のあるクラスに分類される。【選択図】図5
Description
発明の分野
本発明は、機械学習の分野に属し、特に、ユーザが自然言語を理解するシステムに対して話したことに基づいてユーザを分類する分野に属する。
本発明は、機械学習の分野に属し、特に、ユーザが自然言語を理解するシステムに対して話したことに基づいてユーザを分類する分野に属する。
背景
ドメインと文法
SoundHound Hound(登録商標)、Okay Google(登録商標)、Amazon Alexa(登録商標)、Baidu Duer(登録商標)、Apple Siri(登録商標)、Line Clova(登録商標)、Microsoft Cortana(登録商標)、KT Giga Genie(登録商標)、SK Telecom NUGU(登録商標)などの仮想アシスタントを使用するユーザが増えている。これらのシステムは、天気、ニュース、豆知識、レストラン、数学、ウィキペディア(Wikipedia)などの様々なドメインの知識を有する。また、これらのシステムは、サーモスタット、照明制御、音楽演奏、SMSテキスティング、およびカレンダー予約のような様々なドメインの機能を有する。一部の仮想アシスタントは、各々の会社が利用可能なドメインを制御できるため、クローズドシステムである。これによって、友好的なユーザ体験を確保することができる。また、一部の仮想アシスタントは、第三者がドメインを作成できるため、オープンシステムである。
ドメインと文法
SoundHound Hound(登録商標)、Okay Google(登録商標)、Amazon Alexa(登録商標)、Baidu Duer(登録商標)、Apple Siri(登録商標)、Line Clova(登録商標)、Microsoft Cortana(登録商標)、KT Giga Genie(登録商標)、SK Telecom NUGU(登録商標)などの仮想アシスタントを使用するユーザが増えている。これらのシステムは、天気、ニュース、豆知識、レストラン、数学、ウィキペディア(Wikipedia)などの様々なドメインの知識を有する。また、これらのシステムは、サーモスタット、照明制御、音楽演奏、SMSテキスティング、およびカレンダー予約のような様々なドメインの機能を有する。一部の仮想アシスタントは、各々の会社が利用可能なドメインを制御できるため、クローズドシステムである。これによって、友好的なユーザ体験を確保することができる。また、一部の仮想アシスタントは、第三者がドメインを作成できるため、オープンシステムである。
一部のシステムは、数千の第三者ドメインプロバイダを含む。その多くは、中小企業または個人のプログラマーである。多くのドメインは、特定の情報または動的情報を利用するもしくは要求した動作を実行するために、ウェブアプリケーションプログラミングインターフェイス(API)にアクセスする。たとえば、一部の天気ドメインは、天気予報情報を取得するために、国立気象局のAPIにアクセスする。
多くのAPIは、要求者ID(requester ID)の提供を要求し、APIプロバイダは、各要求者IDに割り当てられたクレジット数(信用度)を保存する。APIに対する各々の要求は、一定量のクレジットを消費する。これらのAPIは、各要求者のクレジットを追跡し、各要求者を特定のクレジット数に制限する。一部のAPIは、毎日に一定数のクレジットを提供する。場合によって、要求者は、クレジットを購入することができる。
多くの仮想アシスタントシステムは、クライアント−サーバアーキテクチャを使用する。このクライアント−サーバアーキテクチャにおいて、クライアント装置がユーザインターフェイスを提供し、サーバが高性能の処理および大量データの利用を提供する。様々なシステムは、電話、車、ロボット、ショッピングキオスクおよび電気製品などのネットワーク接続装置から、音声または他の自然言語表現を受け取る。
ドメインの知識および機能に対するユーザアクセスを容易にするために、各ドメインは、文法を含む。文法は、単語および熟語の集合であり、自然言語処理システムは、文法を用いて、ドメインに提供されたユーザ表現を構文解析する。文法は、文法スロット上で動作する文法規則を有し、システムは、表現から得られた情報を用いて文法スロットを埋める。
例えば、天気予報を提供するための文法は、<位置>スロット(<location>)および<時間>スロット(<time>)を有する。ユーザが「明日、Timbuktuの天気は如何ですか」と質問する場合、システムは、<位置>スロットに値「Timbuctoo」を入れ、<時間>スロットに値「明日」を入れる。ユーザが「少なくとも4つ星の最も近いフランスレストランはどこですか」と質問する場合、システムは、レストランドメインの文法を用いて、<料理種類>スロット(<food style>)に値「フランス」を入れ、<星評価>スロット(<star rating>)に値「少なくとも4つ」を入れる。ユーザが「あなたを愛しているというメッセージをお母さんに送信してください」と言う場合、システムは、SMSテキスティングドメインの文法スロットを用いて、<受信者>スロット(<recipient>)に「お母さん」を入れ、<メッセージ>スロット(<message>)に「あなたを愛している」を入れる。ユーザが「猫はいくつの爪を持っていますか」と質問する場合、システムは、動物ドメイン文法を用いて、<種>スロット(<species>)に値「猫」を入れ、<属性>スロット(<attribute>)に「爪」を入れ、<問題>スロット(<question>)に「いくつ」を入れる。一部のシステムは、ユーザ表現の履歴を保存する。
一般的に、仮想アシスタントは、より多くのドメインを持つと、より多くのユーザに好かれる。仮想アシスタントがより多くのユーザに好かれると、ドメインプロバイダがドメインを作成および改善する意欲がより強くなる。
分類
分類は、教師あり機械学習アルゴリズムの有用なタイプである。教師あり機械学習アルゴリズムは、既知であり且つラベル付けられているクラス要素の値を含む訓練データセットに基づいて、未知値が属するクラスセットの確率を計算する。分類の結果は、確率分布である。しかしながら、一部のアルゴリズムは、最確値のみを出力する。例えば、フォルクスワーゲン(登録商標)またはフェラーリ(登録商標)などのブランドでラベル付けされ、且つ赤色または銀色などの色でラベル付けられた各々の車を含む大きなデータセットを例とする。見たことの無いフェラーリに対して、分類アルゴリズムは、その車が赤色である確率およびその車が銀色である確率を計算することができる。見たことの無い赤色車に対して、分類アルゴリズムは、その車がフェラーリである確率およびその車がフォルクスワーゲンである確率を計算することができる。
分類は、教師あり機械学習アルゴリズムの有用なタイプである。教師あり機械学習アルゴリズムは、既知であり且つラベル付けられているクラス要素の値を含む訓練データセットに基づいて、未知値が属するクラスセットの確率を計算する。分類の結果は、確率分布である。しかしながら、一部のアルゴリズムは、最確値のみを出力する。例えば、フォルクスワーゲン(登録商標)またはフェラーリ(登録商標)などのブランドでラベル付けされ、且つ赤色または銀色などの色でラベル付けられた各々の車を含む大きなデータセットを例とする。見たことの無いフェラーリに対して、分類アルゴリズムは、その車が赤色である確率およびその車が銀色である確率を計算することができる。見たことの無い赤色車に対して、分類アルゴリズムは、その車がフェラーリである確率およびその車がフォルクスワーゲンである確率を計算することができる。
人の分類は、多くの目的のために有用である。広告は、その一例である。例えば、男性と女性とは、一部の広告に対して異なる関心レベルで反応する。人の名前および性別を含む大きなデータセットが与えられる場合、システムは、新しいユーザの名前を分かると、そのユーザが男性であるまたは女性である確率を計算することができる。その結果、システムは、関心レベル最も高いの広告を選択して表示することができる。
JIANBO YUAN, et al., Solving Cold-Start Problem in Large-scale Recommendation Engines: A Deep Learning Approach, IEEE International Conference on Big Data, 16 Nov 2016 arXiv:1611.05480v1 [cs.IR] 16 Nov 2016.
SANDER DIELMAN, Recommending music on Spotify with deep learning, blog post, http://benanne.github.io/2014/08/05/spotify-cnns.html, August 05, 2014.
XIAOXUE ZHAO, Cold-Start Collaborative Filtering, PhD dissertation, University College London, 18 January 2016.
ALES TAVCAR, et al., Recommender System for Virtual Assistant Supported Museum Tours, Informatica 40 pages 279-284, 2016.
XIAOHU LIU, et al., Personalized Natural Language Understanding, Interspeech, July 22, 2016.
YUN-NUNG CHEN, et al., Unsupervised induction and filling of semantic slots for spoken dialogue systems using frame-semantic parsing, IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU), pages 120-125, 11-2013.
DAVID BAMMAN, People-Centric Natural Language Processing, PhD Thesis, Carnegie Mellon University, School of Computer Science, Language Technologies Institute, 2015.
PASQUALE LOPS, et al., Improving Social Filtering Techniques Through WordNet-Based User Profiles, International Conference on User Modeling 2007, pp. 268-277, 2007.
MAARTEN SAP, et al., Developing Age and Gender Predictive Lexica over Social Media, Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 1146-1151, October 25-29, 2014, Doha, Qatar.
JULIA HIRSCHBERG, et al., Advances in natural language processing, SCIENCE Magazine, 17 JULY 2015, Vol. 349, Issue 6245, page 261-266.
発明の概要
本開示は、機械学習アルゴリズムを適用することによって、文法スロットの値に基づいて仮想アシスタントのユーザを分類するためのシステムおよび方法ならびにコンピュータ可読媒体に関する。また、本開示は、高価値の分類を達成するために訓練データを提供することによって、クライアントの分類を行うためのシステム、方法およびコンピュータ可読媒体に関する。さらに、本開示は、分類を用いて、自然言語表現の解釈精度を改善するためのシステム、方法およびコンピュータ可読媒体に関する。
本開示は、機械学習アルゴリズムを適用することによって、文法スロットの値に基づいて仮想アシスタントのユーザを分類するためのシステムおよび方法ならびにコンピュータ可読媒体に関する。また、本開示は、高価値の分類を達成するために訓練データを提供することによって、クライアントの分類を行うためのシステム、方法およびコンピュータ可読媒体に関する。さらに、本開示は、分類を用いて、自然言語表現の解釈精度を改善するためのシステム、方法およびコンピュータ可読媒体に関する。
詳細な説明
様々な企業は、仮想アシスタントプロバイダである。多くの物は、仮想アシスタントとして使用される。例えば、一部の仮想アシスタントは、携帯電話のアプリである。一部の仮想アシスタントは、室内の固定スピーカ装置である。一部の仮想アシスタントは、公衆自動販売機である。一部の仮想アシスタントは、自動車である。
様々な企業は、仮想アシスタントプロバイダである。多くの物は、仮想アシスタントとして使用される。例えば、一部の仮想アシスタントは、携帯電話のアプリである。一部の仮想アシスタントは、室内の固定スピーカ装置である。一部の仮想アシスタントは、公衆自動販売機である。一部の仮想アシスタントは、自動車である。
一部の仮想アシスタントは、タイピングまたはジェスチャーを利用し、表示画面を有するインターフェイスを備える。一部の仮想アシスタントは、ユーザから取得した音声に対する音声認識を利用し、テキストを音声に変換するモジュールを介して音声を提供する音声インターフェイスを備える。一部の仮想アシスタントは、神経活動の検出および刺激などの他のインターフェイスを使用する。一部の仮想アシスタントは、複数モードのユーザインターフェイスを使用する。
図1は、いくつかの実施形態に従って、分類を行うことができる仮想アシスタントプロバイダ11との間の情報の流れを高いレベルで示す図である。仮想アシスタントのユーザは、仮想アシスタントプロバイダ11に表現を入れ、応答(言語、視覚、動作、または任意の組み合わせ)を得る。ドメインプロバイダは、文法を生成し、仮想アシスタントプロバイダ11は、生成された文法を用いて、ユーザ表現を解釈する。図1には、ユーザ表現に応じて、仮想アシスタントによって呼び出すことができるデータソースまたは動作サービスへのアクセスを示していない。
さらに、仮想アシスタントプロバイダ11は、分類を行うことができる。仮想アシスタントプロバイダは、分類クライアントから得られた、特定のユーザに関する情報の要求に応じて、分類情報を分類クライアントに提供する。いくつかの実施形態は、要求に応じて、リアルタイムでユーザの分類を行う。いくつかの実施形態は、ユーザ分類情報を計算して保存しており、分類要求に応答して結果を検索する。
仮想アシスタントプロバイダによるユーザ分類の利点は、分類クライアントにユーザの個人情報を与えることなく、特定のユーザに関する非常に価値のある分類情報を分類クライアントに提供することである。
文法に基づいた仮想アシスタント
いくつかの実施形態は、モジュール式ドメイン特有の文法を使用する。殆どの仮想アシスタントプロバイダは、自ら少なくともいくつかのドメイン文法を作成する。オープンシステムのプロバイダは、第三者ドメインプロバイダが有用な文法を作成することを許可する(およびそれに依存する)。一般的に、このような文法は、仮想アシスタントに指示して、文法が解釈できる表現に対して有用な方法で応答させる。一般的に、このような応答は、ウェブAPIにアクセスして、望ましい情報を要求するまたは所望の動作を実行することである。
いくつかの実施形態は、モジュール式ドメイン特有の文法を使用する。殆どの仮想アシスタントプロバイダは、自ら少なくともいくつかのドメイン文法を作成する。オープンシステムのプロバイダは、第三者ドメインプロバイダが有用な文法を作成することを許可する(およびそれに依存する)。一般的に、このような文法は、仮想アシスタントに指示して、文法が解釈できる表現に対して有用な方法で応答させる。一般的に、このような応答は、ウェブAPIにアクセスして、望ましい情報を要求するまたは所望の動作を実行することである。
図2は、モジュール式仮想アシスタント21の一実施形態を示す。仮想アシスタント21は、ユーザ表現を受け取り、文法に従って、自然言語理解を用いてユーザ表現を解釈する。仮想アシスタント21は、ウィキペディア(Wikipedia)から入手可能な情報を要求する表現を解釈するのに有用な文法規則を提供する文法22を受け取る。仮想アシスタント21は、文法22に最も関連する表現を解釈すると、ウィキペディア23にAPI要求を送信し、ユーザが要求した情報と共にAPI応答を受信する。次に、仮想アシスタント21は、応答を作成してユーザに出力する。
また、図2の実施形態において、仮想アシスタント21は、株式市場に関連する文法24からの文法規則を使用する。文法24に最も関連する表現があった場合、仮想アシスタント21は、API要求を株価データソース25に送信する。データソース25は、API応答を提供し、仮想アシスタント21は、このAPI応答をユーザ応答として提供する。
さらに、図2の実施形態において、仮想アシスタント21は、SMSテキストメッセージの送信に関する文法26からの文法規則を使用する。表現がSMSメッセージの送信に最も関連する場合、仮想アシスタント21は、SMS送信サービス27にAPI要求を送信し、SMS送信サービス27は、要求されたSMS送信動作を実行する。
一部の仮想アシスタントは、数千個のドメインをサポートする。これらのドメインは、文法を含み、多くの場合、関連する情報源または動作機能を含む。
スロット値の取得
図3は、仮想アシスタント31の構成要素を示す。仮想アシスタント31は、ユーザ表現を受け取り、一組のドメイン文法32から文法規則を読み込む。自然言語構文解析モジュール33は、文法規則に従って表現を構文解析することによって、各表現の可能な解釈および尤度スコアの集合を生成する。尤度スコアは、規則に従って表現を解釈するユーザの意図を表す可能性を示す。例えば、「アップルタルトを注文する」ことは、製パン分野では高いスコアを有し、科学技術分野では低いスコアを有するであろう。一方、「アップルパーツを注文する」ことは、科学技術分野では高いスコアを有し、製パン分野では低いスコアを有するであろう。例えば、「アップル花屋」は、草花分野では高いスコアを有し、科学技術分野では低いスコアを有するであろう。一方、「アップル電話」は、科学技術分野では高いスコアを有し、草花分野では低いスコアを有するであろう。
図3は、仮想アシスタント31の構成要素を示す。仮想アシスタント31は、ユーザ表現を受け取り、一組のドメイン文法32から文法規則を読み込む。自然言語構文解析モジュール33は、文法規則に従って表現を構文解析することによって、各表現の可能な解釈および尤度スコアの集合を生成する。尤度スコアは、規則に従って表現を解釈するユーザの意図を表す可能性を示す。例えば、「アップルタルトを注文する」ことは、製パン分野では高いスコアを有し、科学技術分野では低いスコアを有するであろう。一方、「アップルパーツを注文する」ことは、科学技術分野では高いスコアを有し、製パン分野では低いスコアを有するであろう。例えば、「アップル花屋」は、草花分野では高いスコアを有し、科学技術分野では低いスコアを有するであろう。一方、「アップル電話」は、科学技術分野では高いスコアを有し、草花分野では低いスコアを有するであろう。
選択モジュール34は、解釈およびスコアを取り込み、スコアに従って1つの解釈を選択し、選択した解釈を出力する。APIアクセスモジュール35は、インターネットなどのネットワークを介して、API要求を送信し、API応答を受信することを含むウェブAPIヒットを行う。
解釈は、当該解釈を作成した文法規則によって特定された文法スロットの値を含む。一般的に、文法スロットの値は、APIヒットの引数である。
図3の実施形態において、仮想アシスタント31は、各ユーザ表現と共にユーザID(UID)を受信する。仮想アシスタント31は、解釈の選択に応じて、選択された解釈のUIDおよびスロット値を出力する。
ユーザの特定
各ユーザは、固有番号、ユーザ名、または電子メールアドレスなどのUIDを有する。一部のシステムは、個人装置のユーザを識別するために有効な装置ID、例えば、装置シリアル番号またはIMEI(国際携帯電話端末識別情報:International Mobile Equipment Identity)番号などを使用する。Facebook Connect(登録商標)API、Google+(登録商標)サインインAPI、QQまたはRenrenソーシャルログインAPIは、サービスまたは装置システム間のユーザを識別するシームレスな方法を提供する。音声ID、網膜スキャン、電話RFID、政府識別番号、およびクレジットカード番号は、ユーザを識別するために使用できる追加的または代替的な他の方法である。
各ユーザは、固有番号、ユーザ名、または電子メールアドレスなどのUIDを有する。一部のシステムは、個人装置のユーザを識別するために有効な装置ID、例えば、装置シリアル番号またはIMEI(国際携帯電話端末識別情報:International Mobile Equipment Identity)番号などを使用する。Facebook Connect(登録商標)API、Google+(登録商標)サインインAPI、QQまたはRenrenソーシャルログインAPIは、サービスまたは装置システム間のユーザを識別するシームレスな方法を提供する。音声ID、網膜スキャン、電話RFID、政府識別番号、およびクレジットカード番号は、ユーザを識別するために使用できる追加的または代替的な他の方法である。
ユーザのラベル付け
図4は、分類システム40の一実施形態を示す。システム40は、仮想アシスタント41を含み、仮想アシスタント41は、表現およびUIDを受信し、ドメイン文法42に従って表現を構文解析し、スロット値およびUIDの対を生成する。システム40は、対応するUIDに関連してスロット値をスロット値データベース43に格納する。
図4は、分類システム40の一実施形態を示す。システム40は、仮想アシスタント41を含み、仮想アシスタント41は、表現およびUIDを受信し、ドメイン文法42に従って表現を構文解析し、スロット値およびUIDの対を生成する。システム40は、対応するUIDに関連してスロット値をスロット値データベース43に格納する。
クラスデータベース44は、クラスラベルおよびUIDの対を受信して格納する。分類アルゴリズム45は、データベース43からユーザ毎のスロット値およびデータベース44から既知ユーザのクラスを取得し、データベース43内のスロット値ベクトル間の類似性に基づいて、要求されているまたは要求可能なラベル付けられていない各UIDの分類を計算する。
いくつかの実施形態は、全てのユーザのうちごく一部、例えば、1万人のうち100人または1億人のうち1万人のみがラベルを必要とする。いくつかの実施形態において、殆どのUIDがラベルを有するため、全てのユーザのうちごく一部のみを分類する必要がある。一般的に、ユーザ間でクラス変動のランダム分布を有するユーザ属性の場合、データベース44がより多くのラベル付きデータを有すると、分類がより精確になる。
一部のユーザは、自分にラベルを付ける。例えば、ユーザは、氏名、性別、住所、生年月日または婚姻状況を入力すると、多くの分類クライアント要求に有用な情報を提供する。いくつかの実施形態において、人間は、UIDにラベルを付ける。例えば、いくつかの実施形態は、人間データラベラを用いてユーザの音声を聞き取り、ユーザの性別およびアクセントを入力する。いくつかの実施形態において、このようなデータラベラを用いて、文法スロット値に従って、音声認識エラーを修正することによって、分類の精度を改善する。一部のUIDは、機械によってラベル付けられる。例えば、いくつかのシステムは、モバイル装置から、ユーザ表現と共にジオロケーションデータを受信する。いくつかのシステムは、ユーザの音声に対して音響処理を行うことによって、ユーザの性別、アクセント、年齢範囲および環境ノイズを識別する。いくつかの実施形態は、例えば俗語または会話体などの言語使いを分析することによって、ユーザに言語ラベルを付ける。いくつかの実施形態は、文法スロット値によってユーザを分類する。例えば、好きなスポーツチームまたは天気クエリの興味のある場所によって、ユーザを分類することも可能である。
分類サービス
図5は、いくつかの実施形態に従って、分類サービスによるデータの流れを示す。分類サービス51は、ユーザの文法スロット値およびラベル付きユーザ分類のデータベースを含む。分類サービス51は、分類クライアントから、要求UIDを含む分類要求を受信する。分類サービス51は、必要に応じて、分類を行うまたは予め計算した分類を検索する。次に、分類サービス51は、分類クライアントに分類応答を提供する。この分類応答は、一般的に使用される属性に従った分類に対して適切である。広告を提供するいくつかの実施形態において、性別、年齢、アクセントおよび場所は、有用な共通属性である。
図5は、いくつかの実施形態に従って、分類サービスによるデータの流れを示す。分類サービス51は、ユーザの文法スロット値およびラベル付きユーザ分類のデータベースを含む。分類サービス51は、分類クライアントから、要求UIDを含む分類要求を受信する。分類サービス51は、必要に応じて、分類を行うまたは予め計算した分類を検索する。次に、分類サービス51は、分類クライアントに分類応答を提供する。この分類応答は、一般的に使用される属性に従った分類に対して適切である。広告を提供するいくつかの実施形態において、性別、年齢、アクセントおよび場所は、有用な共通属性である。
いくつかの実施形態において、分類サービス51は、分類クライアントからラベル付きUIDを取得する。このことは、珍しい属性または専有属性を有する分類クライアントにとって便利である。一部の分類クライアントは、ユーザ調査を実施することによって、UIDにラベルを付ける。いくつかの実施形態は、ユーザの行動を観察し、ユーザ属性の帰納的な結論を出すことによって、UIDにラベルを付ける。
様々な周知の機械学習分類アルゴリズムは、様々な実施形態に適している。いくつかの実施形態は、特異値分解法またはその殆どが実質的に行列因数分解法である他の方法、例えば協調フィルタリング法を使用する。様々なオープンソースおよび広く使用されている専用ソフトウェアフレームワークは、様々な実施形態に適している。一部の例として、Tensorflow、Caffe、Spark MLLib、Theano、Torch、Keras、およびScikit-Learnが挙げられる。
いくつかの実施形態において、実用的な処理性能で可能な実行時間を達成するために、次元削減を適用する。次元削減を行うための1つの方法は、所望の属性に従って、分類を行うために最も有効的な文法スロットを手動で選択することである。いくつかの実施形態は、分類クライアントが文法スロットを選択したか否かまたは分類のために選択した文法スロットの数に従って、クレジット累算器において、ドメインプロバイダに割り当てられたクレジットを加算する。これによって、多様な関心を有し、特に異なるユーザ属性をターゲットにするドメインを作成する意欲をドメインプロバイダに提供する。
いくつかの実施形態は、文法スロットと属性分類との間のクラスタリングを計算し、その後、最大の識別能力を有する文法スロットを選択することによって、次元削減を適用する。様々な既知の次元削減アルゴリズムが、様々な実施形態に適している。
いくつかの実施形態は、分類クライアントにクレジットを請求する。いくつかの実施形態は、クレジット累算器からの値に比例してドメインプロバイダに報酬を支払う。
いくつかの実施形態は、分類要求に応じて、直ちに分類を計算する。迅速な分類応答を提供する必要によって、利用可能な時間内に処理できるデータ量が制限され、その結果、達成可能な精度も制限される。いくつかの実施形態は、例えば、1日に1回または1週間に1回などの低い頻度で分類を計算する。これによって、アルゴリズムは、より精確な結果を得るために、より多くの時間および処理労力を費やすことができる。しかしながら、低い頻度で分類を計算することは、新たなデータが考慮されていないことを意味する。これは、新規ユーザがシステムに入り、文法スロット値が分からないまたはごく僅かしか分からない場合、特に問題になる。これは、冷態始動問題として知られている。
いくつかの実施形態において、最近取得した文法スロット値を用いて高精度の分類および分類を提供するために、最近取得した文法スロット値を用いて迅速分類を計算することによって、各クラスの確率を生成し、その後、これらの確率を用いて、過去に計算した分類分布のスケールを変更する。
例示的な実施形態
図6Aは、天気に関するユーザの問い合わせを理解するように仮想アシスタントサーバに使用された例示的な英語の文法規則を示す。この文法規則は、場所引数および時間引数を必要とするAPIに適用され、天気予報で応答する。この文法規則は、「天気ドメイン」という名前を有する文法の定義から始まる。
図6Aは、天気に関するユーザの問い合わせを理解するように仮想アシスタントサーバに使用された例示的な英語の文法規則を示す。この文法規則は、場所引数および時間引数を必要とするAPIに適用され、天気予報で応答する。この文法規則は、「天気ドメイン」という名前を有する文法の定義から始まる。
次のセクションは、2つの文法スロットにデフォルト値を割り当てる。スロット$lには、関数current_location()から返される値が割り当てられる。このデータ構造は、表現を提供するユーザの現在位置を表している。いくつかの実施形態において、この位置は、緯度および経度を含む。この位置は、ユーザ表現の音声データをサーバに提供するモバイルクライアント装置から得られる。
2番目の文法スロット$tには、関数current_time()から返される値が割り当てられる。このデータ構造は、ユーザが表現を提供する時間を概ね表している。
この文法規則の次のセクションにおいて、ユーザは、表現を提供し、自然言語仮想アシスタントは、この表現を用いて位置および時間の一方または両方を検出するまたはどちらも検出しない。縦バーで区切られた小括弧内のテキスト部分は、別の形式の表現を示す。大括弧内のテキスト部分は、表現のオプション部分を示す。山括弧内のテキスト部分は、API引数および引数に渡すローカル変数を示す。したがって、図示された規則は、認識可能な表現から「天気は如何ですか」、「天気はどうですか」、「明日の天気は如何ですか」、「パリの天気はどうですか」、「来週にエッフェル塔の天気は如何ですか」などの語句を認識するだろう。
図7は、図6Aおよび6Bの天気ドメイン文法規則に有用なユーザスロット値データベース70の内容の一部を示す表である。最初の10人のユーザは、天気ドメインにおいて、位置値「北京」または位置値「オランダ」に対応する表現を各々提供した。また、各ユーザは、現在の天気「現在」または明日の天気「明日」を問い合わせた。また、表には、10人のユーザの各々の性別(「M」または「F」)または好きな飲み物(「コーヒー」または「お茶」)もしくは性別および好きな飲み物の両方のラベルが示されている。新しいユーザNは、仮想アシスタントに北京の現在の天気を問い合わせる。分類クライアントは、コーヒーを好む人またはお茶を好む人としてユーザNを分類するように要求する。したがって、分類サービスは、スロット値データに対して分類アルゴリズムを実行し、ユーザNがコーヒーを好む確率が1/4であり、ユーザNが茶を好む確率が3/4であると計算する。その結果、分類クライアントは、ユーザNにドリンクの電子メニューを表示する時に、お茶の種類をコーヒーの種類の前に示すようにソートする。
天気は、一部の仮想アシスタントにとって最も頻繁に使用されるドメインである。レストラン評論、音楽再生、SMSメッセージも良く使用される。多くのモジュール式仮想アシスタントの場合、大企業は、これらのドメインを作成して、ユーザトラフィックを企業のAPIに誘導する。仮想アシスタントプロバイダの中には、中小企業、学術機関および個人が、大きな商業価値を有さず、一部のユーザにとって興味深い情報を提供するドメインを作成できるようにするものもある。
図8Cは、計算を実行する単純なドメインの文法規則の一例を示す。このドメインは、人の体重、運動の種類および時間を受け入れ、その時間にその運動をした人によって消費されたエネルギーを返す。例えば、「how much energy is used by a 137 pound person doing running for 15 minutes」(「体重137ポンドの人が15分間ランニングをした場合に消費されたエネルギーはいくらですか」)というユーザ表現に対して、ドメインプロバイダのAPIは、「141カロリー」であると応答する。
図9は、運動およびラテン名ドメインに有用なユーザスロット値データベース90の内容の一部を示す表である。10人のユーザは、お茶またはコーヒーのいすれかとして、飲み物の好みによってラベル付けられる。各ユーザは、「ランニング」、「バイキング」もしくは「ウォーキング」のいずれかの運動を表現したか、または、運動ドメインを使用していなかった。各ユーザは、「植物」もしくは「動物」界にある種のラテン名を要求した、または、ラテン名ドメインを使用していなかった。ラベル付きUIDをスロット値に関連することによって、機械学習分類アルゴリズムは、「ランニング」運動を行った新しいユーザNがお茶を好む確率が3/4であり、コーヒーを好む確率が1/4であると計算することができる。その後、ユーザNが植物のラテン名を求める場合、機械学習アルゴリズムは、ユーザNがお茶を好む確率が2/3、コーヒーを好む確率が1/3であると再分類することができる。
多数のユーザ、多数の文法スロットまたは多数のラベル付き属性を有する実施形態において、データ保存および分類処理は、システムの実用限界にストレスをかけることがある。この場合、いくつかの実施形態は、Hadoop分散ファイルシステム(Hadoop Distributed File System:HDFS)または他の適切なフレームワークを用いて、分散保存およびデータ処理を行う。
スロット履歴
いくつかの実施形態は、各スロット値の履歴をユーザ毎に保存する。第1のユーザが1つの都市の天気を常に問い合わせ、第2のユーザが2つの異なる都市の天気を頻繁に問い合わせ、および第3のユーザが様々な都市の天気を問い合わせると仮定する。好きなスポーツチームでユーザを分類するために、分類アルゴリズムはおそらく、第1のユーザが1つの都市のスポーツチームを好む確率を高く計算するであろう。第2のユーザの場合、分類アルゴリズムはおそらく、他の全てのチームに比べて2つの都市のチームを好む確率を高く計算するであろう。第3のユーザの場合、分類アルゴリズムはおそらく、他の全てのチームよりも強く好むチームを計算しないであろう。
いくつかの実施形態は、各スロット値の履歴をユーザ毎に保存する。第1のユーザが1つの都市の天気を常に問い合わせ、第2のユーザが2つの異なる都市の天気を頻繁に問い合わせ、および第3のユーザが様々な都市の天気を問い合わせると仮定する。好きなスポーツチームでユーザを分類するために、分類アルゴリズムはおそらく、第1のユーザが1つの都市のスポーツチームを好む確率を高く計算するであろう。第2のユーザの場合、分類アルゴリズムはおそらく、他の全てのチームに比べて2つの都市のチームを好む確率を高く計算するであろう。第3のユーザの場合、分類アルゴリズムはおそらく、他の全てのチームよりも強く好むチームを計算しないであろう。
同様の3人のユーザの場合、第3のユーザが様々な都市の天気に対する問い合わせをするため、広告分類クライアントはおそらく、第3のユーザが旅行関連広告をクリックする確率を高く計算し、第1のユーザが複数の都市の天気に対する問い合わせをしないため、第1のユーザが旅行関連広告をクリックする確率を低く計算するだろう。
専門家にとって明らかなことは、様々な方法で文法スロット値の履歴を使用することができる。いくつかの実施形態において、分類の前に、統計分散値、最頻値および複数の異なるスロット履歴値のうち1つ以上を計算し、1つ以上の統計値に従って、場合によって最新のスロット値または最も共通のスロット値に従って、分類を行う。
いくつかの実施形態は、各履歴スロット値と共に、スロット値を提供するときのタイムスタンプを保存する。いくつかの実施形態は、一定の時間よりも古い表現値を廃棄する。いくつかの実施形態は、表現の時刻に基づいて履歴値をフィルタリングする。
動作モデル
いくつかの実施形態において、法的理由または倫理的理由により、文法スロット値などの特定のユーザデータを第三者と共有しないことが重要であるが、分類などの派生情報を第三者に提供してもよい。いずれにせよ、多くのベンダ、広告主および他の分類クライアントは、ユーザデータを所有しても、分類以外の目的には使用しないだろう。したがって、分類APIまたは分類データを配信する他のものは、一部の分類クライアントにとって非常に有用である。その結果、分類クライアントは、有用な分類データ、特に高精度の分類を提供する仮想アシスタントプロバイダに喜んで報酬を支払う。これによって、仮想アシスタントプロバイダは、最も有用なドメイン文法を提供する第三者のドメインプロバイダに報酬を支払うことができる。
いくつかの実施形態において、法的理由または倫理的理由により、文法スロット値などの特定のユーザデータを第三者と共有しないことが重要であるが、分類などの派生情報を第三者に提供してもよい。いずれにせよ、多くのベンダ、広告主および他の分類クライアントは、ユーザデータを所有しても、分類以外の目的には使用しないだろう。したがって、分類APIまたは分類データを配信する他のものは、一部の分類クライアントにとって非常に有用である。その結果、分類クライアントは、有用な分類データ、特に高精度の分類を提供する仮想アシスタントプロバイダに喜んで報酬を支払う。これによって、仮想アシスタントプロバイダは、最も有用なドメイン文法を提供する第三者のドメインプロバイダに報酬を支払うことができる。
いくつかの実施形態によれば、多くの要因が分類の精度および価値に影響を及ぼすことができる。いくつかの実施形態において、一般的に、ドメインの数が多くなると、文法スロットの数が多くなり、分類の精度および価値が改善される。いくつかの実施形態において、ドメインの範囲が多様になると、特にユーザを区別するスロットを有する広範囲のユーザにアピールするドメインを含むドメイン範囲が多様になると、分類の精度および価値が改善される。いくつかの実施形態において、ドメインが依存性を有する場合、ユーザに多くの表現を示させ、分類の精度および価値を改善する。いくつかの実施形態において、広く認識されたドメインが、複数のユーザを招き、分類の精度および価値を改善する。一般的に、仮想アシスタントの様々な実施形態において、ドメインがより面白くなると、より多くのユーザを招き、より多くのユーザを招くことにより、ドメインプロバイダがドメインを作成し改善する意欲が強くなるというネットワーク効果が存在する。
いくつかの実施形態において、仮想アシスタントをサポートするように、より有用なドメインを提供するドメインプロバイダの意欲を高めるために、1つ以上のドメインプロバイダを評価するようにより効率的な評価計画を仮想アシスタントプロバイダに提供する必要がある。いくつかの実施形態において、仮想アシスタントプロバイダは、1つ以上のドメインプロバイダの各々の固有識別子に関連して格納されるクレジット重みを1つ以上のドメインプロバイダの各々に割り当てる。このクレジット重みは、1つ以上のドメインプロバイダの各々の寄与を反映する。いくつかの実施形態において、このクレジット重みは、各ドメインプロバイダに対応するクレジット累算器の増分量を変更する。いくつかの実施形態において、このクレジット重みは、ドメインプロバイダの文法規則が提供する分類の範囲に比例する。
いくつかの実施形態において、仮想アシスタントプロバイダと1つ以上のドメインプロバイダとは、分類クライアントからの分類要求による報酬を共有する。仮想アシスタントプロバイダと1つ以上のドメインプロバイダとは、各要求に対する分類クライアントのクレジットを減算し、ドメインプロバイダに対応するクレジット累算器を増分することによって、報酬を共有する。いくつかの実施形態において、報酬は、全てのドメインプロバイダに与えられる。いくつかの実施形態において、文法規則が提供する分類の範囲に比例してドメインプロバイダに報酬を支払う。いくつかの実施形態において、報酬は、金銭的であり、仮想アシスタントプロバイダは、クレジット数を増加するように分類クライアントに命令する。いくつかの実施形態において、仮想アシスタントプロバイダは、割り当てられたクレジット重みに従って、1つ以上のドメインプロバイダの各々に報酬を支払う。いくつかの実施形態において、クレジット重みは、ドメインプロバイダに報酬を支払うべき金額に比例する。いくつかの実施形態において、クレジット重み自身の価値は、金額に等しい。
いくつかの実施形態において、分類クライアントは、分類のために使用される全てのドメインのサブセットを選択することができ、選択されたドメインのみのドメインプロバイダに対応するクレジット累算器は、分類要求に応答して増分する。いくつかの実施形態において、分類クライアントは、ドメインのサブセットを選択し、ラベル付きデータのテストセットを提供することによって、有用なドメインのサブセットを見つけることができる。仮想アシスタントプロバイダは、分類クライアントが選択したドメインの数に基づいて、分類クライアントに料金を請求する。
いくつかのこのような実施形態において、分類クライアントによって提供されるラベル付きデータセットに対して最大の区別能力を有するドメインを自動的に計算し、文法スロット値のデータベースが与えられたときに、ユーザを区別する能力の順序でドメインのリストを提供する。また、いくつかのこのような実施形態において、分類クライアントによって選択されたサブセットの精度を推定することができる。いくつかのこのような実施形態において、分類クライアントがドメインを選択した後、選択されたドメインに加えて、残りのドメインの増分利益に従ってリストを再度並べ替える。例えば、2つの競合する天気ドメインが最も有用な分類を提供できるが、分類クライアントが一方の天気ドメインを選択した後、他方の天気ドメインは、選択された天気ドメインの値を超える分類精度の改善にほぼ寄与しないであろう。
いくつかの実施形態は、ドメインプロバイダに既存のスロット値のリストを提供し、他のスロット値を作成するように新しいドメインプロバイダを促す。例えば、天気ドメインが位置スロット値を提供する場合、新しいドメインプロバイダは、他の位置スロット値を作成し、他の有用なスロット値と共に文法規則を作成するように促される。
いくつかの実施形態は、ドメインプロバイダに作成してもらいたい所望のスロットのリストを提供する。いくつかのそのような実施形態は、精選されたリスト(専門家によって選択されたリスト)を提供する。いくつかのそのような実施形態において、分類クライアントは、ドメインプロバイダが実行するための所望の文法スロット、殆どの場合価値のある文法スロットをリストすることができる。これにより、ドメインおよび文法スロットの市場が形成される。
いくつかの実施形態において、分類クライアントは、仮想アシスタントが使用する文法スロットの機能を作成することができる。例えば、分類クライアントは、運動文法スロットに値「ランニング」を与えたユーザのみに対して、気象位置である分類スロットを作成することを望むことがある。
ドメイン選択の加重
いくつかの実施形態は、文法スロットによる分類を用いて、仮想アシスタントの自然言語処理を改善する。これによって、表現解釈の成功率を改善し、ユーザ満足度および成功率を改善する。
いくつかの実施形態は、文法スロットによる分類を用いて、仮想アシスタントの自然言語処理を改善する。これによって、表現解釈の成功率を改善し、ユーザ満足度および成功率を改善する。
図10は、仮想アシスタントの構成要素を示す。仮想アシスタントは、ユーザ表現を受け取り、一組のドメイン文法102から文法規則を読み込む。自然言語構文解析モジュール103は、文法規則に従って表現を構文解析することによって、各表現の可能な解釈および尤度スコアのセットを生成する。
選択モジュール104は、解釈およびスコアを取得し、スコアに従って1つの解釈を選択し、選択された解釈を出力する。APIアクセスモジュール105は、インターネットなどのネットワークを介して、文法スロットからの値と共にAPI要求を送信し、API応答を受信することを含むウェブAPIヒットを行う。
図10の実施形態において、仮想アシスタントは、各ユーザ表現と共にユーザID(UID)を受信する。仮想アシスタントは、解釈の選択に応じて、選択された解釈のUIDおよびスロット値を出力する。システムは、各表現のUIDおよびユーザ毎のドメイン106のデータベースから選択された当該UIDのドメインを蓄積する。分類アルゴリズム107は、ドメインデータベース106からのデータを処理することによって、UIDに対応するドメイン確率分布を生成する。システムは、ドメイン確率分布を重み値の集合として選択器104に提供し、解釈スコアをスケーリングすることによって、選択器104による解釈の選択に影響を与える。
いくつかの実施形態において、分類ドメインの重みは、単に、UIDに対応する各ドメインに取り込まれた表現の履歴頻度である。しかしながら、これには冷態始動問題がある。いくつかの実施形態において、分類アルゴリズムは、ドメイン間の重みの円滑な分布を計算する。分類アルゴリズムは、たとえシステムがあるユーザに関するデータを殆ど取得しなくても、既知のドメイン頻度を他の類似するユーザのドメイン頻度と比較することによって、ドメイン間の重みの円滑な分布を計算する。様々な機械学習分類アルゴリズムは、様々な実施形態に適している。
物理的な実施形態
図11は、クライアント−サーバ型のアーキテクチャを使用する実施形態を示す。ユーザ111は、装置112と対話する。装置112は、ネットワーク113を介してサーバ114と通信するクライアントとして機能する。サーバ114は、仮想アシスタントとして動作し、ネットワーク113を介して装置112に応答を提供する。また、サーバ114は、分類クライアント115に分類を提供する。
図11は、クライアント−サーバ型のアーキテクチャを使用する実施形態を示す。ユーザ111は、装置112と対話する。装置112は、ネットワーク113を介してサーバ114と通信するクライアントとして機能する。サーバ114は、仮想アシスタントとして動作し、ネットワーク113を介して装置112に応答を提供する。また、サーバ114は、分類クライアント115に分類を提供する。
サーバ114は、プロセッサ116を含み、プロセッサ116は、装置112からの自然言語要求を処理し、応答を生成し、分類アルゴリズムを実行することによって、分類結果を生成し、分類クライアント115に与える。プロセッサ116は、非一時的コンピュータ可読媒体117に格納されたコードを実行する。プロセッサ116は、データベース118に格納されたドメイン文法規則に従って、自然言語表現を処理する。さらに、プロセッサ116は、ユーザスロット値およびユーザラベルをデータベース118に格納する。
図12Aは、いくつかの実施形態に従って、非一時的なコンピュータ可読媒体である回転ディスク121を示す。
図12Bは、いくつかの実施形態に従って、非一時的なコンピュータ可読媒体であるフラッシュメモリチップ122を示す。
図12Cは、プリント回路基板に半田付けられるボールグリッドアレイを備えたパッケージ型システムオンチップ装置123の底面を示す。システムオンチップ123は、いくつかの実施形態に係るプロセッサである。
図12Dは、システムオンチップ装置123の上面を示す。
図13Aは、いくつかの実施形態に従って、ラック型マルチプロセッササーバ130を示す。
図13Aは、いくつかの実施形態に従って、ラック型マルチプロセッササーバ130を示す。
図13Bは、いくつかの実施形態に従って、プロセッサチップ131内の機能要素を示すブロック図である。中央処理装置(CPU)132およびグラフィックス処理装置(GPU)133は、相互接続134を介して一時データを記憶するためのランダムアクセスメモリ(RAM)135と通信し、ネットワークインターフェイス136を介して他のサーバおよび装置と通信することによって処理を行い、媒体インターフェイス137を介してユーザから入力を受け取り、出力をユーザに提供する。
Claims (15)
- コンピュータによって実施される、広告を選択する方法であって、
ユーザIDを含む分類要求を仮想アシスタントプロバイダのウェブAPIに送信するステップと、
前記ウェブAPIから、前記ユーザIDに対応する分類を受信するステップと、
少なくとも部分的に前記分類に応じて、複数の広告のうちの1つを選択するステップと、を含む、方法。 - 前記仮想アシスタントプロバイダからのAPIクレジットの要求を受信するステップをさらに含む、請求項1に記載の方法。
- 興味のある特性でラベル付けた複数のユーザのユーザIDデータを前記仮想アシスタントプロバイダに提供するステップをさらに含む、請求項1または請求項2に記載の方法。
- 分類に使用される文法スロットのサブセットを選択するステップをさらに含む、請求項1〜請求項3のいずれか1項に記載の方法。
- 複数の文法スロットのサブセットに対する分類要求を検査するステップをさらに含む、請求項1〜請求項3のいずれか1項に記載の方法。
- 前記分類は、前記仮想アシスタントプロバイダにおいてユーザID毎に保存された、文法スロットのスロット値の履歴に基づく、請求項1〜請求項5のいずれか1項に記載の方法。
- 前記分類は、
前記ユーザIDの前記履歴がしばしば1つの都市の天気を問い合わせるものであるときには、当該1つの都市のスポーツチームのスポーツチームを好む確率が高いことを表し、
前記ユーザIDの前記履歴が2つの異なる都市の天気を頻繁に問い合わせるものであるときには、当該2つの都市のチームを他の全てのチームよりも好む確率が高いことを表す、請求項6に記載の方法。 - 前記分類は、
前記ユーザIDの前記履歴がしばしば1つの都市の天気を問い合わせるものであるときには、旅行関連広告をクリックする確率が低いことを表し、
前記ユーザIDの前記履歴が様々な都市の天気を問い合わせるものであるときには、旅行関連広告をクリックする確率が高いことを表す、請求項6または請求項7に記載の方法。 - 前記分類は、前記ユーザIDに関連付けられたユーザが女性であるかまたは男性である確率を表す、請求項1〜請求項8のいずれか1項に記載の方法。
- コンピュータによって実施される方法であって、
ドメインプロバイダによって作成された自然言語文法のスロットに対してユーザが表現した値のベクトルに基づいて、識別されたユーザを分類するステップと、を含み、
前記分類するステップは、複数の他のユーザの各々の、前記自然言語文法のスロット値とクラスラベルを用い、スロットの値のベクトルの類似性に基づいて、前記識別されたユーザにラベル付けすることを含み、
前記ベクトルは、興味のあるクラスに分類される、方法。 - 前記分類の実行に応じて、前記ドメインプロバイダに報酬を支払うステップをさらに含む、請求項10に記載の方法。
- 前記分類するステップは、前記複数の他のユーザの各々の、前記自然言語文法のスロット値とラベルとを訓練データセットとして利用する機械学習を含む、請求項10または請求項11に記載の方法。
- 前記分類するステップは、分類クライアントからのAPI要求に応じて実行される、請求項10〜請求項12のいずれか1項に記載の方法。
- 前記分類するステップは、分類クライアントからの要求に応じて実行され、
前記方法は、前記分類に応じて、前記分類クライアントのAPIクレジットを減算するステップをさらに含む、請求項10〜請求項13のいずれか1項に記載の方法。 - コンピュータによって実施されることにより、前記コンピュータに、請求項1〜請求項14のいずれか1項に記載の方法を実現させる、プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710791381.3 | 2017-09-05 | ||
CN201710791381.3A CN110019699B (zh) | 2017-09-05 | 2017-09-05 | 域间通过语法槽的分类 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018137103A Division JP6846390B2 (ja) | 2017-09-05 | 2018-07-20 | ドメイン間の文法スロットによる分類 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021089742A true JP2021089742A (ja) | 2021-06-10 |
Family
ID=65518212
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018137103A Active JP6846390B2 (ja) | 2017-09-05 | 2018-07-20 | ドメイン間の文法スロットによる分類 |
JP2021002974A Pending JP2021089742A (ja) | 2017-09-05 | 2021-01-12 | 広告を選択する方法、ユーザを分類する方法、およびプログラム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018137103A Active JP6846390B2 (ja) | 2017-09-05 | 2018-07-20 | ドメイン間の文法スロットによる分類 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11935029B2 (ja) |
JP (2) | JP6846390B2 (ja) |
CN (2) | CN110019699B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023177144A1 (ko) * | 2022-03-17 | 2023-09-21 | 삼성전자 주식회사 | 광고 대상 결정 장치 및 방법 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6964558B2 (ja) * | 2018-06-22 | 2021-11-10 | 株式会社日立製作所 | 音声対話システムとモデル作成装置およびその方法 |
US11132681B2 (en) | 2018-07-06 | 2021-09-28 | At&T Intellectual Property I, L.P. | Services for entity trust conveyances |
US10802872B2 (en) | 2018-09-12 | 2020-10-13 | At&T Intellectual Property I, L.P. | Task delegation and cooperation for automated assistants |
US11481186B2 (en) * | 2018-10-25 | 2022-10-25 | At&T Intellectual Property I, L.P. | Automated assistant context and protocol |
US11340963B2 (en) * | 2019-01-08 | 2022-05-24 | Microsoft Technology Licensing, Llc | Augmentation of notification details |
WO2020209180A1 (ja) * | 2019-04-09 | 2020-10-15 | 株式会社Nttドコモ | プロファイル生成装置 |
CN113032556A (zh) * | 2019-12-25 | 2021-06-25 | 厦门铠甲网络股份有限公司 | 一种基于自然语言处理形成用户画像的方法 |
US11394799B2 (en) | 2020-05-07 | 2022-07-19 | Freeman Augustus Jackson | Methods, systems, apparatuses, and devices for facilitating for generation of an interactive story based on non-interactive data |
CN117290457B (zh) * | 2023-11-22 | 2024-03-08 | 湖南省第一测绘院 | 地理实体多模态数据管理系统及数据库和时序化管理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018725A (ja) * | 2004-07-05 | 2006-01-19 | Brother Ind Ltd | 情報提供装置及び情報提供システム |
JP2009014968A (ja) * | 2007-07-04 | 2009-01-22 | Canon Inc | 投射型表示装置 |
JP2014006767A (ja) * | 2012-06-26 | 2014-01-16 | Yahoo Japan Corp | 広告配信装置、配信方法及び配信プログラム |
JP2014209391A (ja) * | 2014-08-12 | 2014-11-06 | ヤフー株式会社 | 情報提供装置、広告配信システム、情報提供方法及び情報提供プログラム |
JP2016004270A (ja) * | 2014-05-30 | 2016-01-12 | アップル インコーポレイテッド | 手動始点/終点指定及びトリガフレーズの必要性の低減 |
JP2017062741A (ja) * | 2015-09-25 | 2017-03-30 | 株式会社ユニバーサルエンターテインメント | 情報提供システム、情報提供方法、及びプログラム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398209B2 (en) * | 2002-06-03 | 2008-07-08 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7603267B2 (en) * | 2003-05-01 | 2009-10-13 | Microsoft Corporation | Rules-based grammar for slots and statistical model for preterminals in natural language understanding system |
JP4144443B2 (ja) * | 2003-06-19 | 2008-09-03 | 富士通株式会社 | 対話装置 |
CN1570921A (zh) * | 2003-07-22 | 2005-01-26 | 中国科学院自动化研究所 | 基于统计模型的口语解析方法 |
US7640160B2 (en) * | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US10042927B2 (en) * | 2006-04-24 | 2018-08-07 | Yeildbot Inc. | Interest keyword identification |
JP4826428B2 (ja) * | 2006-10-30 | 2011-11-30 | 富士ゼロックス株式会社 | 情報処理システムおよび情報処理装置および情報処理プログラム |
CN101377770B (zh) * | 2007-08-27 | 2017-03-01 | 微软技术许可有限责任公司 | 中文组块分析的方法及系统 |
US8140335B2 (en) * | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
CA3023918C (en) * | 2011-09-30 | 2022-11-29 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US8909536B2 (en) * | 2012-04-20 | 2014-12-09 | Nuance Communications, Inc. | Methods and systems for speech-enabling a human-to-machine interface |
CN105247511A (zh) * | 2013-06-07 | 2016-01-13 | 苹果公司 | 智能自动化助理 |
US10691698B2 (en) | 2014-11-06 | 2020-06-23 | International Business Machines Corporation | Automatic near-real-time prediction, classification, and notification of events in natural language systems |
US9990613B1 (en) * | 2014-12-12 | 2018-06-05 | Square, Inc. | Bill payment using direct funds transfer |
US9836452B2 (en) * | 2014-12-30 | 2017-12-05 | Microsoft Technology Licensing, Llc | Discriminating ambiguous expressions to enhance user experience |
US9824083B2 (en) * | 2015-07-07 | 2017-11-21 | Rima Ghannam | System for natural language understanding |
EP3142050A1 (en) * | 2015-09-09 | 2017-03-15 | Tata Consultancy Services Limited | Predicting attribute values for user segmentation |
CN105677635A (zh) * | 2015-12-29 | 2016-06-15 | 聚熵信息技术(上海)有限公司 | 用于自然语言交互的方法、设备及系统 |
US10453117B1 (en) * | 2016-06-29 | 2019-10-22 | Amazon Technologies, Inc. | Determining domains for natural language understanding |
US10878338B2 (en) * | 2016-10-06 | 2020-12-29 | International Business Machines Corporation | Machine learning of analogic patterns |
-
2017
- 2017-09-05 CN CN201710791381.3A patent/CN110019699B/zh active Active
- 2017-09-05 CN CN202311094416.XA patent/CN117112761A/zh active Pending
-
2018
- 2018-07-20 JP JP2018137103A patent/JP6846390B2/ja active Active
- 2018-09-05 US US16/121,967 patent/US11935029B2/en active Active
-
2021
- 2021-01-12 JP JP2021002974A patent/JP2021089742A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018725A (ja) * | 2004-07-05 | 2006-01-19 | Brother Ind Ltd | 情報提供装置及び情報提供システム |
JP2009014968A (ja) * | 2007-07-04 | 2009-01-22 | Canon Inc | 投射型表示装置 |
JP2014006767A (ja) * | 2012-06-26 | 2014-01-16 | Yahoo Japan Corp | 広告配信装置、配信方法及び配信プログラム |
JP2016004270A (ja) * | 2014-05-30 | 2016-01-12 | アップル インコーポレイテッド | 手動始点/終点指定及びトリガフレーズの必要性の低減 |
JP2014209391A (ja) * | 2014-08-12 | 2014-11-06 | ヤフー株式会社 | 情報提供装置、広告配信システム、情報提供方法及び情報提供プログラム |
JP2017062741A (ja) * | 2015-09-25 | 2017-03-30 | 株式会社ユニバーサルエンターテインメント | 情報提供システム、情報提供方法、及びプログラム |
Non-Patent Citations (1)
Title |
---|
中村 勇介: "国内企業インサイド Inside", 日経デジタルマーケティング 第85号 NIKKEI DIGITAL MARKETING, JPN6022041848, 25 October 2014 (2014-10-25), JP, pages 12 - 13, ISSN: 0005070990 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023177144A1 (ko) * | 2022-03-17 | 2023-09-21 | 삼성전자 주식회사 | 광고 대상 결정 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP6846390B2 (ja) | 2021-03-24 |
CN110019699A (zh) | 2019-07-16 |
CN117112761A (zh) | 2023-11-24 |
US20190073660A1 (en) | 2019-03-07 |
JP2019046459A (ja) | 2019-03-22 |
US11935029B2 (en) | 2024-03-19 |
CN110019699B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6846390B2 (ja) | ドメイン間の文法スロットによる分類 | |
US11544305B2 (en) | Intent identification for agent matching by assistant systems | |
US11321759B2 (en) | Method, computer program product and system for enabling personalized recommendations using intelligent dialog | |
CN107172151B (zh) | 用于推送信息的方法和装置 | |
US10147037B1 (en) | Method and system for determining a level of popularity of submission content, prior to publicizing the submission content with a question and answer support system | |
US20210182499A1 (en) | Automatically Detecting and Storing Entity Information for Assistant Systems | |
US20130325552A1 (en) | Initiating Root Cause Analysis, Systems And Methods | |
CN107958385B (zh) | 基于买家定义函数的投标 | |
KR20160055930A (ko) | 연속적인 소셜 커뮤니케이션에 사용되는 콘텐츠를 능동적으로 구성하기 위한 시스템 및 방법 | |
CN102760128A (zh) | 一种基于智能客服机器人交互的电信领域套餐推荐方法 | |
US20160379267A1 (en) | Targeted e-commerce business strategies based on affiliation networks derived from predictive cognitive traits | |
US11200593B2 (en) | Predictive recommendation system using tiered feature data | |
CN112989038B (zh) | 句子级用户画像生成方法、装置及存储介质 | |
EP3557504A1 (en) | Intent identification for agent matching by assistant systems | |
KR102322668B1 (ko) | 콘텐츠 크리에이터의 창작활동 활성화를 위한 다중 플랫폼 서비스 제공 시스템 | |
WO2022156589A1 (zh) | 一种直播点击率的确定方法和装置 | |
US10394804B1 (en) | Method and system for increasing internet traffic to a question and answer customer support system | |
KR20210014998A (ko) | 가격기준 검색을 이용한 가성비 맛집 검색 서비스 제공 시스템 | |
JP6224856B1 (ja) | 提供装置、提供方法および提供プログラム | |
CN110555747A (zh) | 确定目标用户的方法和装置 | |
CN111787042B (zh) | 用于推送信息的方法和装置 | |
US11886473B2 (en) | Intent identification for agent matching by assistant systems | |
KR20210052746A (ko) | 제품화 대상 콘텐츠의 예상 판매량 추정 방법, 장치 및 컴퓨터프로그램 | |
CN111445263A (zh) | 信息处理方法、装置和计算机系统及介质 | |
CN108628861B (zh) | 用于推送信息的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221004 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20221226 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230530 |