JP2022530688A - ソートモデルの構築方法、クエリ自動補完の方法及び対応装置 - Google Patents
ソートモデルの構築方法、クエリ自動補完の方法及び対応装置 Download PDFInfo
- Publication number
- JP2022530688A JP2022530688A JP2021568806A JP2021568806A JP2022530688A JP 2022530688 A JP2022530688 A JP 2022530688A JP 2021568806 A JP2021568806 A JP 2021568806A JP 2021568806 A JP2021568806 A JP 2021568806A JP 2022530688 A JP2022530688 A JP 2022530688A
- Authority
- JP
- Japan
- Prior art keywords
- poi
- query
- prefix
- vector representation
- sort
- 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 89
- 238000010276 construction Methods 0.000 title description 3
- 239000013598 vector Substances 0.000 claims abstract description 230
- 238000012549 training Methods 0.000 claims abstract description 52
- 238000013528 artificial neural network Methods 0.000 claims description 74
- 230000000306 recurrent effect Effects 0.000 claims description 55
- 230000006870 function Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 20
- 238000013527 convolutional neural network Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 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/3322—Query formulation using system suggestions
-
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- 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/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/909—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本開示はインテリジェント検索技術の分野に関するソートモデルの構築方法、クエリ自動補完の方法及び対応装置を開示する。具体的な実現方式は、POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得し、同一のクエリプレフィックスに対応するクエリ補完提案中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成し、クエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得、トレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化することにある。【選択図】図3
Description
本開示は出願日が2020年01月06日であり、出願番号が2020100113838であり、発明の名称が「ソートモデルの構築方法、クエリ自動補完の方法及び対応装置」である中国特許出願の優先権を主張する。
本開示はコンピュータアプリケーション技術の分野に関し、特に、インテリジェント検索技術分野のソートモデルの構築方法、クエリ自動補完の方法及び対応装置に関する。
QAC(Query Auto-ComPletion、クエリ自動補完)は、現在、既に主流の汎用検索エンジンと垂直検索エンジンで広く採用されている。例えば、マップアプリケーションでは、ユーザがquery(クエリ)を入力して、あるPOI(Point of IntereSt、関心ポイント)を検索する時、ユーザが不完全なqueryの入力を開始してから(本開示ではユーザが入力した不完全なqueryをクエリプレフィックスと呼ぶ)、検索エンジンは、ユーザがqueryの補完結果(本開示では候補リストで推奨されるqueryをクエリ補完提案と呼ぶ)として選択するように、候補リスト内の一連の候補のPOIをリアルタイムでユーザに推奨することができる。ユーザが候補リストでその意図しているPOIを発見する場合、候補リストから当該POIを選択してqueryを補完することによって、当該POIの検索を開始する。
例えば、図1に示すように、ユーザがマップアプリケーションの検索ボックスにクエリプレフィックス「バイドゥ(百度)」を入力した場合、ユーザが選択するように、候補リストの形式でユーザに「バイドゥビル」、「バイドゥビル-C座」、「バイドゥ科学技術園」などのような候補POIを推奨することができ、一旦、ユーザがその中から「バイドゥビル」を選択すると、queryの補完を完了し、「バイドゥビル」に対する検索を開始する。
しかし、既存のクエリ自動補完方式では、同じクエリプレフィックスに対して提供される提案はすべて同じであり、例えばいずれも候補リスト内の各POIの検索の人気に基づいてソートし、ユーザがクエリプレフィックスに対する入力習慣を考慮していない。例えば、ユーザは、習慣的に、クエリプレフィックス「ba」を入力した場合にクエリ補完提案から「バイドゥビルA座」をクリックして検索する。しかし、クエリ補完提案における各POIは検索の人気に従ってソートするため、人気の「八達嶺万里の長城」、「八達嶺アウトレット」、「八大処」、「バイドゥビル」などの人気POIは、常に前に並べられているので、ユーザは、毎回クエリ補完提案において後ろに並べられた「バイドゥビルA座」を見つけるか、またはさらにいくつかの文字を多く入力して「バイドゥビルA座」を選択する必要がある。明らかにユーザにとっては、入力コストが高く、効率が低くなる。
これに鑑みて、本開示はソートモデルの構築方法、クエリ自動補完の方法及び対応装置、機器及びコンピュータ記憶媒体を提供して、推奨するクエリ補完提案がユーザのクエリプレフィックスに対する入力習慣により良く適合し、ユーザの入力コストを減らす。
第1の態様によれば、本開示はクエリ自動補完のためのソートモデルを構築する方法を提供し、当該方法は、
POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得するステップと、
同一のクエリプレフィックスに対応するクエリ補完提案中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成するステップと、
クエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得るステップと、を含み、
前記ソートモデルのトレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化することにある。
POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得するステップと、
同一のクエリプレフィックスに対応するクエリ補完提案中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成するステップと、
クエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得るステップと、を含み、
前記ソートモデルのトレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化することにある。
本開示の好ましい実施形態によれば、前記ソートモデルは、プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークを含み、
前記プレフィックス組込みネットワークはクエリプレフィックスのベクトル表現を得るために用いられ、前記POI組込みネットワークは各POIのベクトル表現を得るために用いられ、前記ソートネットワークはクエリプレフィックスのベクトル表現と対応するPOIのベクトル表現との間の類似度を決定するために用いられる。
前記プレフィックス組込みネットワークはクエリプレフィックスのベクトル表現を得るために用いられ、前記POI組込みネットワークは各POIのベクトル表現を得るために用いられ、前記ソートネットワークはクエリプレフィックスのベクトル表現と対応するPOIのベクトル表現との間の類似度を決定するために用いられる。
本開示の好ましい実施形態によれば、前記プレフィックス組込みネットワークはリカレントニューラルネットワークを含み、
前記クエリプレフィックスのベクトル表現を得るステップは、
前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るステップを含む。
前記クエリプレフィックスのベクトル表現を得るステップは、
前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るステップを含む。
本開示の好ましい実施形態によれば、前記各POIのベクトル表現を得るステップは、
POIの属性情報を符号化し、POIのベクトル表現を得るステップを含む。
POIの属性情報を符号化し、POIのベクトル表現を得るステップを含む。
本開示の好ましい実施形態によれば、前記POI組込みネットワークは、畳み込みニューラルネットワーク、フィードフォワードニューラルネットワーク、および全接続層を含み、
前記POIの属性情報を符号化するステップは、
畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化するステップと、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化するステップと、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るステップと、を含む。
前記POIの属性情報を符号化するステップは、
畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化するステップと、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化するステップと、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るステップと、を含む。
本開示の好ましい実施形態によれば、前記ソートモデルをトレーニングするプロセス中に、前記ソートネットワークの出力を使用してトリプレット損失関数を決定し、前記トリプレット損失関数が予め設定された要求を満たすか、または予め設定されたモデルパラメータ更新回数に達するまで、トリプレット損失関数を使用してフォワードフィードバックして前記プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークのモデルパラメータを更新する。
第2の態様によれば、本開示はクエリ自動補完の方法を提供し、当該方法は、
ユーザが現在入力したクエリプレフィックスを取得し、前記クエリプレフィックスに対応する候補関心ポイントPOIを決定するステップと、
前記クエリプレフィックスと前記候補POIをソートモデルに入力し、前記ソートモデルが各候補POIに対する評点を得るステップであって、前記候補POIの評点は、前記クエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度に基づいて得るステップと、
各候補POIの評点に基づいて前記ユーザに推奨するクエリ補完提案を決定するステップと、を含み、
前記ソートモデルは上記の方法を使用して予めトレーニングして得る。
ユーザが現在入力したクエリプレフィックスを取得し、前記クエリプレフィックスに対応する候補関心ポイントPOIを決定するステップと、
前記クエリプレフィックスと前記候補POIをソートモデルに入力し、前記ソートモデルが各候補POIに対する評点を得るステップであって、前記候補POIの評点は、前記クエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度に基づいて得るステップと、
各候補POIの評点に基づいて前記ユーザに推奨するクエリ補完提案を決定するステップと、を含み、
前記ソートモデルは上記の方法を使用して予めトレーニングして得る。
本開示の好ましい実施形態によれば、前記クエリプレフィックスのベクトル表現は、
前記ソートモデルにおいて、前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ソートモデルにおいて、前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得る方式、を使用して得る。
前記ソートモデルにおいて、前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ソートモデルにおいて、前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得る方式、を使用して得る。
本開示の好ましい実施形態によれば、前記各POIのベクトル表現は、
前記ソートモデルにおいて、各POIの属性情報を符号化して、POIのベクトル表現を得る方式を使用して決定される。
前記ソートモデルにおいて、各POIの属性情報を符号化して、POIのベクトル表現を得る方式を使用して決定される。
本開示の好ましい実施形態によれば、前記POIの属性情報を符号化するステップは、
前記ソートモデルにおいて、畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化するステップと、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化するステップと、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るステップと、を含む。
前記ソートモデルにおいて、畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化するステップと、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化するステップと、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るステップと、を含む。
第3の態様によれば、本開示はクエリ自動補完のためのソートモデルを構築する装置を提供し、当該装置は、
POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得するための第1の取得ユニットと、
同一のクエリプレフィックスに対応するクエリ補完提案中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成するための第2の取得ユニットと、
クエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得るためのモデルトレーニングユニットと、を含み、
前記ソートモデルのトレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化することにある。
POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得するための第1の取得ユニットと、
同一のクエリプレフィックスに対応するクエリ補完提案中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成するための第2の取得ユニットと、
クエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得るためのモデルトレーニングユニットと、を含み、
前記ソートモデルのトレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化することにある。
本開示の好ましい実施形態によれば、前記ソートモデルは、プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークを含み、
前記プレフィックス組込みネットワークはクエリプレフィックスのベクトル表現を得るために用いられ、前記POI組込みネットワークは各POIのベクトル表現を得るために用いられ、前記ソートネットワークはクエリプレフィックスのベクトル表現と対応するPOIのベクトル表現との間の類似度を決定するために用いられる。
前記プレフィックス組込みネットワークはクエリプレフィックスのベクトル表現を得るために用いられ、前記POI組込みネットワークは各POIのベクトル表現を得るために用いられ、前記ソートネットワークはクエリプレフィックスのベクトル表現と対応するPOIのベクトル表現との間の類似度を決定するために用いられる。
本開示の好ましい実施形態によれば、前記プレフィックス組込みネットワークはリカレントニューラルネットワークを含み、
前記モデルトレーニングユニットは、ソートモデルをトレーニングするプロセス中に、具体的に、
前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を取得し、または、
前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るために用いられる。
前記モデルトレーニングユニットは、ソートモデルをトレーニングするプロセス中に、具体的に、
前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を取得し、または、
前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るために用いられる。
本開示の好ましい実施形態によれば、前記モデルトレーニングユニットは、ソートモデルをトレーニングするプロセス中に、具体的に、前記POI組込みネットワークを介してPOIの属性情報を符号化し、POIのベクトル表現を得るために用いられる。
本開示の好ましい実施形態によれば、前記POI組込みネットワークは、畳み込みニューラルネットワーク、フィードフォワードニューラルネットワーク、および全接続層を含み、
前記モデルトレーニングユニットが前記POI組込みネットワークを介してPOIの属性情報を符号化する時に、具体的には、
畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化し、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るために用いられる。
前記モデルトレーニングユニットが前記POI組込みネットワークを介してPOIの属性情報を符号化する時に、具体的には、
畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化し、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るために用いられる。
本開示の好ましい実施形態によれば、前記モデルトレーニングユニットは、前記ソートモデルをトレーニングするプロセス中に、前記ソートネットワークの出力を使用してトリプレット損失関数を決定し、前記トリプレット損失関数が予め設定された要求を満たすか、または予め設定されたモデルパラメータ更新回数に達するまで、トリプレット損失関数を使用してフォワードフィードバックして前記プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークのモデルパラメータを更新する。
第4の態様によれば、本開示はクエリ自動補完の装置を提供し、当該装置は、
ユーザが現在入力したクエリプレフィックスを取得し、前記クエリプレフィックスに対応する候補関心ポイントPOIを決定するための取得ユニットと、
前記クエリプレフィックスと前記候補POIをソートモデルに入力し、前記ソートモデルが各候補POIに対する評点を得るための評点ユニットであって、前記候補POIの評点は、前記クエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度に基づいて得る評点ユニットと、
各候補POIの評点に基づいて前記ユーザに推奨するクエリ補完提案を決定するためのクエリ補完ユニットと、を含み、
前記ソートモデルは上記の装置を使用して予めトレーニングして得る。
ユーザが現在入力したクエリプレフィックスを取得し、前記クエリプレフィックスに対応する候補関心ポイントPOIを決定するための取得ユニットと、
前記クエリプレフィックスと前記候補POIをソートモデルに入力し、前記ソートモデルが各候補POIに対する評点を得るための評点ユニットであって、前記候補POIの評点は、前記クエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度に基づいて得る評点ユニットと、
各候補POIの評点に基づいて前記ユーザに推奨するクエリ補完提案を決定するためのクエリ補完ユニットと、を含み、
前記ソートモデルは上記の装置を使用して予めトレーニングして得る。
本開示の好ましい実施形態によれば、前記評点ユニットは、具体的に、
前記ソートモデルにおいて、前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ソートモデルにおいて、前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るために用いられる。
前記ソートモデルにおいて、前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ソートモデルにおいて、前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るために用いられる。
本開示の好ましい実施形態によれば、前記評点ユニットは、具体的に、
前記ソートモデルにおいて、各POIの属性情報を符号化して、POIのベクトル表現を得るために用いられる。
前記ソートモデルにおいて、各POIの属性情報を符号化して、POIのベクトル表現を得るために用いられる。
本開示の好ましい実施形態によれば、前記評点ユニットは、具体的には、
前記ソートモデルにおいて、畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化し、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るために用いられる。
前記ソートモデルにおいて、畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化し、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るために用いられる。
第5の態様によれば、本開示は電子機器をさらに提供し、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが上記の方法を実行する。
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが上記の方法を実行する。
第6の態様によれば、本開示はコンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体をさらに提供し、前記コンピュータ命令は、前記コンピュータに上記の方法を実行させる。
上記の技術方式から分かるように、本開示ではユーザが入力したクエリプレフィックスをソートモデルに統合してPOIのソート学習を行うことによって、ソートモデルがユーザがクエリ補完提案中のPOIを選択する時に入力した個別化されたクエリプレフィックスを学習することができる。このソートモデルに基づいて行うクエリ自動補完は、ユーザのクエリプレフィックスに対する入力習慣により良く適合することができ、ユーザの入力コストを減らすことができる。
上記選択可能な方式が有する他の効果は、以下で具体的な実施例を併せて説明する。
図面は、本開示をより良く理解するためのものであり、本開示を限定しない。
クエリ自動補完のインターフェースのサンプル図である。
本発明の実施例に適用可能な例示的なシステムアーキテクチャを示す。
本開示の実施例によって提供されるソートモデルの構築方法のフローチャートである。
本開示の実施例によって提供されるトレーニングソートモデルの概略構造図である。
本開示の実施例によって提供されるPOIベクトル表現を取得する概略図である。
本開示の実施例によって提供されるクエリ自動補完の方法のフローチャートである。
本開示の実施例によって提供されるソートモデルの動作原理の概略図である。
本開示の実施例によって提供されるソートモデルを構築する装置の構造図である。
本開示の実施例によって提供されるクエリ自動補完の装置の構造図である。
本開示の実施例の方法を実現するための電子機器のブロック図である。
以下、図面に基づいて、本開示の例示の実施例を表現する。理解を容易にするために、本開示の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の表現では、よく知られた機能と構造の表現は省略される。
図2は本発明の実施例に適用可能な例示的なシステムアーキテクチャを示す。図2に示すように、当該システムアーキテクチャは、端末デバイス101および102、ネットワーク103、およびサーバ104を含むことができる。ネットワーク103は端末デバイス101、102とサーバ104との間の通信リンクを提供する媒体として用いられる。ネットワーク103は、有線、無線通信リンク、または光ファイバケーブルなどのような、様々な接続タイプを含むことができる。
ユーザは端末デバイス101および102を使用して、ネットワーク103を介してサーバ104とインタラクションすることができる。端末デバイス101および102には、音声インタラクションアプリケーション、ウェブブラウザアプリケーション、通信系アプリケーションなど、様々なアプリケーションがインストールされることができる。
端末デバイス101および102は、スマートフォン、タブレットコンピュータ、PC、スマートテレビなどを含む様々な電子機器であってもよいが、これらに限定されない。本開示によって提供されるクエリ自動補完の装置はサーバ104上で設置および実行することができる。これは複数のソフトウェアまたはソフトウェアモジュール(例えば、分散サービスを提供するために)として実現することができ、単一のソフトウェアまたはソフトウェアモジュールとして実現することができ、ここでは具体的に限定しない。
例えば、ユーザが端末デバイス101上のブラウザまたはクライアントにより提供される検索インターフェースを介してクエリプレフィックスを入力する場合、ブラウザまたはクライアントは当該クエリプレフィックスをサーバ104にリアルタイムで提供し、サーバは本開示によって提供される方法を使用してユーザが現在入力したクエリプレフィックスに対応するクエリ補完提案を端末デバイス101に返す。ユーザが当該クエリ補完提案から意図したPOIを発見した場合、当該POIを選択することにより、当該POIに対する検索を開始することができる。ユーザがクエリ補完提案から意図したPOIを発見しなかった場合、入力を続けることができ、次に、ブラウザまたはクライアントはクエリプレフィックスをサーバ104にリアルタイムで再提供することができ、サーバ104は、ユーザが入力したクエリプレフィックスに対応するクエリ補完提案を返す。これにより、ユーザがqueryを入力するプロセス中に、ユーザが入力したクエリプレフィックスとともにリアルタイムでユーザにクエリ補完提案を推奨する効果を形成する。
サーバ104は単一のサーバであってもよく、複数のサーバによって構成されるサーバグループであってもよい。図2の端末デバイス、ネットワーク、およびサーバの数は単なる例示であることを理解されたい。実現のニーズに応じて、任意の数の端末デバイス、ネットワーク、およびサーバを有することができる。
本開示の技術の本質は、ユーザとPOIとの間の関連付けを構築することであり、その使用シナリオは、ユーザが地図類データを使用してPOI検索を行う中に、ユーザがクエリプレフィックスを入力しているとともにリアルタイムでユーザにクエリ補完提案を推奨することであってもよい。その中、クエリ補完提案は、ユーザが入力したクエリプレフィックスに対応する候補POIを決定した後、ソートモデルを使用して各候補POIをソートした後に得るものである。本開示では全く新しいソートモデル構造及びトレーニング方式を提供して、このソートモデルに基づくクエリ自動補完がユーザのクエリプレフィックスに対する入力習慣により良く適合し、入力コストを削減することができる。本開示に対する理解を容易にするために、まず、実施例を組み合わせてソートモデルの構築方法を詳細に説明する。
実施例1、
図3は本開示の実施例によって提供されるソートモデルの構築方法のフローチャートである。図3に示すように、当該方法は以下のステップを含むことができる。
301では、POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得する。
図3は本開示の実施例によって提供されるソートモデルの構築方法のフローチャートである。図3に示すように、当該方法は以下のステップを含むことができる。
301では、POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得する。
例えば、あるユーザuser_Aが一つずつ文字を入力して各クエリプレフィックスを形成するプロセス中に、「ba」を入力した場合、クエリ補完提案からPOI「バイドゥビルA座」をクリックすると、ユーザ識別子user_A、クエリプレフィックス「ba」、対応するクエリ補完提案中の各POI、及びユーザによって選択されたPOI「バイドゥビルA座」を、一つのデータとして取得する。同じ方式で、ソートモデルのトレーニングのために、大規模ユーザのPOIクエリログから多くのデータを取得することができる。
302では、同一のクエリプレフィックスに対応するクエリ補完提案の中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成する。
上記の例を続けると、ステップ301で取得されたデータの一つは、ユーザ識別子user_A、クエリプレフィックス「ba」、対応するクエリ補完提案中の各POI、及びユーザによって選択されたPOI「バイドゥビルA座」である。同一のクエリプレフィックス「ba」について、それに対応するユーザによって選択されたPOI「バイドゥビルA座」を正例とし、クエリ補完提案でユーザによって選択されていないPOI「八達嶺万里の長城」を負例とするため、「ba」は「バイドゥビルA座」と正例ペアを構成し、「ba」は「八達嶺万里の長城」と負例ペアを構成する。「バイドゥビル」、「バイドゥ科学技術園」など、クエリ補完提案にさらに他のユーザによって選択されていないPOIがあるため、「ba」は「バイドゥビル」と負例ペアを構成することもでき、「ba」は「バイドゥ科学技術園」と負例ペアを構成することもできる。
303では、クエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得、ソートモデルのトレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化する。
従来のクエリ自動補完のためのソートモデルにおいて、その入力にクエリプレフィックスが含まれておらず、クエリプレフィックスは候補POIのリコールにのみ使用され、ソートモデルは候補POIの人気及びユーザ属性情報などに基づいて各候補POIに対する評点を出力する。しかし、本開示の実施例では、ソートモデルの入力はクエリプレフィックスおよびPOIであり、クエリプレフィックスのベクトル表現及びPOIのベクトル表現はいずれもソートモデルの内部において得られ、両者のベクトル表現の間の類似度に基づいて各POIに対する評点を出力する。これに応じて、本開示の実施例のソートモデルをトレーニングする時、クエリプレフィックスのベクトル表現及びPOIのベクトル表現を得る部分と、両者のベクトル表現の間の類似度を決定する部分は、統一的にトレーニングされる。
具体的には、図4に示すように、本実施例のソートモデルは、具体的に、プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークの3つの部分を含むことができる。その中、プレフィックス組込みネットワークはクエリプレフィックスのベクトル表現を得るために用いられ、POI組込みネットワークは各POIのベクトル表現を得るために用いられ、ソートネットワークはクエリプレフィックスのベクトル表現と対応するPOIのベクトル表現との間の類似度を決定するために用いられる。
すなわち、トレーニングプロセスにおいて、一つのトレーニングデータであるクエリプレフィックス、当該クエリプレフィックスに対応する正例POI、及び当該クエリプレフィックスに対応する負例POIについて、クエリプレフィックスをプレフィックス組込みネットワークに入力すると、プレフィックス組込みネットワークは当該クエリプレフィックスのベクトル表現uを出力する。クエリプレフィックスに対応する正例POIおよび負例POIをPOI組込みネットワークにそれぞれ入力すると、POI組込みネットワークは正例POIのベクトル表現v+および負例POIのベクトル表現v-を出力する。ソートネットワークはクエリプレフィックスのベクトル表現uと正例POIのベクトル表現v+との間の類似度S+、およびクエリプレフィックスのベクトル表現uと負例POIのベクトル表現v-との間の類似度S-をそれぞれ計算する。ソートモデル全体のトレーニング目標は、S+とS-との間の差を最大化する。
以下、ソートモデル内の各ネットワークに対してそれぞれ詳しく説明する。
プレフィックス組込みネットワーク:
プレフィックス組込みネットワークはリカレントニューラルネットワークを含むことができ、例えば、Bi-LSTM(Bi-directionAl LSTM、双方向長短期記憶ネットワーク)を使用することができる。クエリプレフィックス内の各文字に対応する文字ベクトルをBi-LSTMに順次入力し、例えば、ユーザがクエリプレフィックス「ba」を入力する中に、まず、「b」を入力し、次に、「a」を入力するため、「b」の文字ベクトルおよび「a」の文字ベクトルを順にBi-LSTMに順次入力する。Bi-LSTMは、まず、「b」に対して一つのベクトル表現を出力し、次に、「a」に対して一つのベクトル表現を出力する。その中、「a」に対して出力するベクトル表現は、その前に記憶されたコンテキスト情報を参照するため、Bi-LSTMによって出力された最後の一つの文字「a」に対するベクトル表現をクエリプレフィックスのベクトル表現とする。
プレフィックス組込みネットワークはリカレントニューラルネットワークを含むことができ、例えば、Bi-LSTM(Bi-directionAl LSTM、双方向長短期記憶ネットワーク)を使用することができる。クエリプレフィックス内の各文字に対応する文字ベクトルをBi-LSTMに順次入力し、例えば、ユーザがクエリプレフィックス「ba」を入力する中に、まず、「b」を入力し、次に、「a」を入力するため、「b」の文字ベクトルおよび「a」の文字ベクトルを順にBi-LSTMに順次入力する。Bi-LSTMは、まず、「b」に対して一つのベクトル表現を出力し、次に、「a」に対して一つのベクトル表現を出力する。その中、「a」に対して出力するベクトル表現は、その前に記憶されたコンテキスト情報を参照するため、Bi-LSTMによって出力された最後の一つの文字「a」に対するベクトル表現をクエリプレフィックスのベクトル表現とする。
また、クエリプレフィックスに加えて、ユーザの属性特徴もユーザが選択するPOIに対して影響することができる。したがって、好ましい実施形態として、クエリプレフィックスのベクトル表現を決定する時、プレフィックス組込みネットワークは、さらに、ユーザの属性特徴を考慮することができる。具体的には、ユーザの属性特徴ベクトルとクエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、リカレントニューラルネットワークによって出力された最後の一つの文字に対応する特徴ベクトルを使用してクエリプレフィックスの特徴ベクトル表現を得ることができる。
ユーザの属性特徴は、例えば、ユーザの年齢、性別、仕事、収入レベル、所在都市などの情報であってもよく、ユーザ属性特徴のベクトル表現はこれらの情報を符号化した後に得ることができる。上記の文字に対応する文字ベクトルは文字を文字ベクトル空間にマッピングした後に得ることができる。依然に、ユーザがクエリプレフィックス「ba」を入力したのを例として、まず、ユーザの属性特徴ベクトルと文字「b」の文字ベクトルをスプライスし、次に、スプライスしたベクトルをリカレントニューラルネットワークに入力し、次に、ユーザの属性特徴ベクトルと文字「a」の文字ベクトルを再スプライスし、次に、スプライスしたベクトルをリカレントニューラルネットワークに入力する。リカレントニューラルネットワークによって出力された「a」に対応する特徴ベクトルをクエリプレフィックス「ba」のベクトル表現とする。
POI組込みネットワーク:
本実施例のPOI組込みネットワークはPOIの属性情報を符号化し、POIのベクトル表現を得る。関連する属性情報は、POIの識別子、名前、カテゴリ、住所、ラベルなどの情報を含むことができるが、これらに限定されない。
本実施例のPOI組込みネットワークはPOIの属性情報を符号化し、POIのベクトル表現を得る。関連する属性情報は、POIの識別子、名前、カテゴリ、住所、ラベルなどの情報を含むことができるが、これらに限定されない。
好ましい実施形態として、図5に示すように、POI組込みネットワークは、畳み込みニューラルネットワーク、フィードフォワードニューラルネットワーク、および全接続層を含むことができる。畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化することができる。次に、同一のPOIの符号化結果をスプライスしたベクトルを全接続層のマッピングにより、当該POIのベクトル表現を得る。
ソートネットワーク:
ソートネットワークは、主に、クエリプレフィックスのベクトル表現とPOIのベクトル表現との間の類似度を計算し、トレーニングプロセス中に、一つの正例および負例ペア内の、クエリプレフィックスと正例POIの類似度、及びクエリプレフィックスと負例POIの類似度をそれぞれ計算することができる。本開示では計算類似度の方式は、例えば、L2パラダイムなどを使用して、クエリプレフィックスのベクトル表現がPOIのベクトル表現の次元と一致することを要求することができる。
ソートネットワークは、主に、クエリプレフィックスのベクトル表現とPOIのベクトル表現との間の類似度を計算し、トレーニングプロセス中に、一つの正例および負例ペア内の、クエリプレフィックスと正例POIの類似度、及びクエリプレフィックスと負例POIの類似度をそれぞれ計算することができる。本開示では計算類似度の方式は、例えば、L2パラダイムなどを使用して、クエリプレフィックスのベクトル表現がPOIのベクトル表現の次元と一致することを要求することができる。
各反復はいずれもソートネットワークの出力を使用して上記トリプレット損失関数を決定し、次に、トリプレット損失関数が予め設定された要求を満たすか、または予め設定されたモデルパラメータ更新回数などに達するまで(すなわち反復回数)、トリプレット損失関数を使用してフォワードフィードバックしてプレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークのモデルパラメータを更新する。
これまでのところ、トレーニングしてソートモデルを得る。
実施例2、
図6は本開示の実施例によって提供されるクエリ自動補完の方法のフローチャートである。図6に示すように、当該方法は以下のステップを含むことができる。
601では、ユーザが現在入力したクエリプレフィックスを得、当該クエリプレフィックスに対応する候補POIを決定する。
図6は本開示の実施例によって提供されるクエリ自動補完の方法のフローチャートである。図6に示すように、当該方法は以下のステップを含むことができる。
601では、ユーザが現在入力したクエリプレフィックスを得、当該クエリプレフィックスに対応する候補POIを決定する。
本開示は、漢字、ピンイン、頭文字の略称などの、様々な形式の入力内容に適用されることができるが、入力されたクエリプレフィックスはいずれも文字列に見なすことができる。ユーザがクエリプレフィックスを入力するとともに、ユーザが現在入力したクエリプレフィックスをリアルタイムで取得する。例えば、ユーザが「バイドゥビル(百度大厦)」を入力しようとするプロセス中に、「バイ(百)」、「バイドゥ(百度)」、「バイドゥビ(百度大)」などの複数のクエリプレフィックスを入力することにより、各クエリプレフィックスに対して本開示によって提供される方法をすべて実行する。すなわちユーザが「バイ(百)」を入力した場合、現在入力されたクエリプレフィックスは「バイ(百)」であり、当該クエリプレフィックスに対して本開示の方法を実行してユーザにクエリ補完提案を推奨する。ユーザが「バイドゥ(百度)」を入力した場合、現在入力されたクエリプレフィックスは「バイドゥ(百度)」であり、当該クエリプレフィックスに対して本開示の方法を実行してユーザにクエリ補完提案を推奨する。ユーザが「バイドゥビ(百度大)」を入力した場合、現在入力されたクエリプレフィックスは「バイドゥビ(百度大)」であり、当該クエリプレフィックスに対して本開示の方法を実行してユーザにクエリ補完提案を推奨する。
現在入力されたクエリプレフィックスに対応する候補POIを決定する方式は、既存の実現方式を使用することができ、目的は、当該クエリプレフィックスをテキストの始まりとするPOIを探すこと、または当該クエリプレフィックスに強く関連するPOIを探すことである。
例えば、POIライブラリにおいて予めにPOIに対して様々な対応するクエリプレフィックスで転置インデックスを構築することができる。ユーザがqueryを入力する場合、現在入力されたクエリプレフィックスに対してPOIライブラリをクエリし、ヒットしたすべてのPOIを候補POIとする。
さらに、例えば、POIライブラリにPOIと様々なクエリプレフィックスとの間の関連付けを予め構築することができ、当該関連付けはユーザ検索履歴から取得することができる。例えば、ユーザが以前に「浙大」を入力したことがあった後に、検索結果から「浙江大学」のPOIを選択する。当該関連付けは同義POIワードリストを使用して取得することもでき、例えば、「故宮」は「紫禁城」とも呼ばれ、クエリプレフィックス「紫禁」、「zijin」などの「故宮」POIとの関連付けを予め構築する。当該関連付けは人工的に追加することもできる。
602では、ユーザが現在入力したクエリプレフィックスおよび候補POIをソートモデルに入力して、ソートモデルが各候補POIに対する評点を得、候補POIの評点はクエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度に基づいて得る。
実施例1と同様に、図7に示すように、ユーザが現在入力したクエリプレフィックスおよび候補POIをソートモデル内のプレフィックス組込みネットワークおよびPOI組込みネットワークにそれぞれ入力し、クエリプレフィックスのベクトル表現uおよび候補POIのベクトル表現vを得た後、ソートネットワークでクエリプレフィックスのベクトル表現uと各候補POIのベクトル表現vとの間の類似度Sを決定し、当該類似度に基づいて各候補POIを評点する。
具体的には、ソートモデルのプレフィックス組込みネットワークで実現する場合、クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、リカレントニューラルネットワークによって出力された最後の一つの文字に対する特徴ベクトルを使用してクエリプレフィックスのベクトル表現を得ることができる。
好ましい実施形態として、ソートモデルのプレフィックス組込みネットワークの実現において、ユーザの属性特徴ベクトルとクエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、リカレントニューラルネットワークによって出力された最後の一つの文字に対応する特徴ベクトルを使用してクエリプレフィックスのベクトル表現を得ることができる。
ユーザの属性特徴は、例えば、ユーザの年齢、性別、仕事、収入レベル、所在都市などの情報であってもよく、ユーザ属性特徴のベクトル表現はこれらの情報を符号化した後に得ることができる。上記の文字に対応する文字ベクトルは文字を文字ベクトル空間にマッピングした後に得ることができる。
POI組込みネットワークでは、候補POIをPOI組込みネットワークに入力し、POI組込みネットワークは候補POIの属性情報を符号化して、候補POIのベクトル表現を得る。関連する属性情報は、候補POIの識別子、名前、カテゴリ、住所、ラベルなどの情報を含むことができるが、これらに限定されない。
POI組込みネットワークは、畳み込みニューラルネットワーク、フィードフォワードニューラルネットワーク、および全接続層を含むことができる。畳み込みニューラルネットワークを使用して候補POIの名前と住所情報を符号化し、候補POIの他の属性情報をフィードフォワードニューラルネットワークを使用して符号化することができる。次に、同一の候補POIの符号化結果をスプライスしたベクトル全接続層のマッピングに経て、当該候補POIのベクトル表現を得る。
ソートネットワークはユーザが入力したクエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度を計算する時、例えば、L2パラダイムのような方式を使用することができる。
603では、各候補POIの評点に基づいてユーザに推奨するクエリ補完提案を決定する。
ステップでは、評点値が予め設定された評点閾値以上である候補POIをクエリ補完提案とするか、評点値が前に並ぶP個のPOIをクエリ補完提案とすることなどもでき、Pは予め設定された正の整数である。ユーザにクエリ補完提案を推奨する時、各POIの評点に基づいて候補リストにソートする。推奨方式は既存の検索ボックスの近くにあるドロップダウンボックスの形式を使用することができ、他の形式を使用することもできる。
本実施形態では、ユーザが入力したクエリプレフィックスをソートモデルに統合してPOIのソート学習を行うことによって、ソートモデルがユーザがクエリ補完提案中のPOIを選択する時に入力した個別化されたクエリプレフィックスを学習することができる。このソートモデルに基づいて行うクエリ自動補完は、ユーザのクエリプレフィックスに対する入力習慣により良く適合することができ、ユーザの入力コストを減らすことができる。例えば、ユーザがクエリプレフィックス「ba」を習慣的に入力する時、クエリ補完提案から「バイドゥビルA座」をクリックして検索すると仮定する。本開示によって提供される方式で、ソートモデルはユーザの当該入力習慣を学習することができて、ユーザがクエリプレフィックス「ba」を入力する時、クエリ補完提案内の「バイドゥビルA座」のランキングを向上させて、ユーザがクエリ補完提案から「バイドゥビルA座」を簡単に選択することができる。「バイドゥビルA座」というPOIの人気が低いためランキングの後の位置から探す必要がなく、さらにより多くの文字を入力してクエリ補完提案に「バイドゥビルA座」が出現されるようにする必要がない。ユーザの入力効率を明らかに向上させ、入力コストを削減する。
また、本開示はいくつかの特別な入力習慣についてもよく学習することができる。例えば、一つのユーザ習慣は「thu」をクエリプレフィックスとして「清華大学」といるPOIを検索する。本開示によって提供される方式において、ソートモデルはユーザの当該入力習慣を学習することができ、当該ユーザまたは他のユーザが「thu」を入力する場合、「清華大学」というクエリ補完提案を迅速に提供することによって、ユーザの使用体験を向上させる。
以上は本開示によって提供される方法を詳細に説明し、以下は実施例を組み合わせて本開示によって提供される装置を詳細に説明する。
実施例3、
図8は本開示の実施例によって提供される構築ソートモデルの装置の構造図である。図8に示すように、当該装置は、第1の取得ユニット01、第2の取得ユニット02、およびモデルトレーニングユニット03を含み、各構成ユニットの主な機能は以下のとおりである。
第1の取得ユニット01はPOIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得する。
図8は本開示の実施例によって提供される構築ソートモデルの装置の構造図である。図8に示すように、当該装置は、第1の取得ユニット01、第2の取得ユニット02、およびモデルトレーニングユニット03を含み、各構成ユニットの主な機能は以下のとおりである。
第1の取得ユニット01はPOIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得する。
第2の取得ユニット02は同一のクエリプレフィックスに対応するクエリ補完提案中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成する。
モデルトレーニングユニット03はクエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得る。
ソートモデルは、プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークを含み、プレフィックス組込みネットワークはクエリプレフィックスのベクトル表現を得るために用いられ、POI組込みネットワークは各POIのベクトル表現を得るために用いられ、ソートネットワークはクエリプレフィックスのベクトル表現と対応するPOIのベクトル表現との間の類似度を決定するために用いられる;ソートモデルのトレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化する。
具体的には、プレフィックス組込みネットワークはリカレントニューラルネットワークを含むことができる。モデルトレーニングユニット03はトレーニングソートモデルプロセス中に、クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、リカレントニューラルネットワークによって出力された最後の一つの文字に対する特徴ベクトルを使用してクエリプレフィックスのベクトル表現を得ることができる。
好ましい実施形態として、モデルトレーニングユニット03はトレーニングソートモデルプロセス中に、ユーザの属性特徴ベクトルとクエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、リカレントニューラルネットワークによって出力された最後の一つの文字に対応する特徴ベクトルを使用してクエリプレフィックスのベクトル表現を得ることができる。
具体的には、モデルトレーニングユニット03はトレーニングソートモデルプロセス中に、POI組込みネットワークを介してPOIの属性情報を符号化し、POIのベクトル表現を得ることができる。
好ましい実施形態として、POI組込みネットワークは、畳み込みニューラルネットワーク、フィードフォワードニューラルネットワーク、および全接続層を含むことができる。モデルトレーニングユニット03は、POI組込みネットワークを介してPOIの属性情報を符号化する時、畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化し、同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得ることができる。
具体的には、モデルトレーニングユニット03はソートモデルをトレーニングするプロセス中に、ソートネットワークの出力を使用して損失関数を決定し、損失関数が予め設定された要求を満たすか、または予め設定されたモデルパラメータ更新回数に達するまで、損失関数を使用してフォワードフィードバックしてプレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークのモデルパラメータを更新する。
実施例4、
図9は本開示の実施例によって提供されるクエリ自動補完の装置の構造図である。本装置で使用されるソートモデルは図8に示す装置によって予めトレーニングされて得ることができる。図9に示すように、当該装置は、取得ユニット11、評点ユニット12、およびクエリ補完ユニット13を含む。各構成ユニットの主な機能は以下のとおりである。
取得ユニット11はユーザが現在入力したクエリプレフィックスを取得し、クエリプレフィックスに対応する候補関心ポイントPOIを決定する。
図9は本開示の実施例によって提供されるクエリ自動補完の装置の構造図である。本装置で使用されるソートモデルは図8に示す装置によって予めトレーニングされて得ることができる。図9に示すように、当該装置は、取得ユニット11、評点ユニット12、およびクエリ補完ユニット13を含む。各構成ユニットの主な機能は以下のとおりである。
取得ユニット11はユーザが現在入力したクエリプレフィックスを取得し、クエリプレフィックスに対応する候補関心ポイントPOIを決定する。
評点ユニット12はクエリプレフィックスと候補POIをソートモデルに入力し、ソートモデルが各候補POIに対する評点を得、候補POIの評点はクエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度に基づいて得られる。
具体的には、評点ユニット12は、ソートモデルにおいて、クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、リカレントニューラルネットワークによって出力された最後の一つの文字に対する特徴ベクトルを使用してクエリプレフィックスのベクトル表現を得ることができる。
好ましい実施形態として、評点ユニット12は、ソートモデルにおいて、ユーザの属性特徴ベクトルとクエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、リカレントニューラルネットワークによって出力された最後の一つの文字に対応する特徴ベクトルを使用してクエリプレフィックスのベクトル表現を得ることができる。
具体的には、評点ユニット12は、ソートモデルにおいて、各POIの属性情報を符号化して、POIのベクトル表現を得ることができる。
好ましい実施形態として、評点ユニット12は、ソートモデルにおいて、畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化し、同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得ることができる。
ソートネットワークはユーザが入力したクエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度を計算する時、例えば、L2パラダイムのような方式を使用することができる。
クエリ補完ユニット13は各候補POIの評点に基づいてユーザに推奨するクエリ補完提案を決定する。
具体的には、クエリ補完ユニット13は、評点値が予め設定された評点閾値以上である候補POIをクエリ補完提案とするか、評点値が前に並ぶP個POIをクエリ補完提案とするなどのこともでき、Pは予め設定された正の整数である。ユーザにクエリ補完提案を推奨する時、各POIの評点に基づいて候補リストにソートする。推奨方式は既存の検索ボックスの近くにあるドロップダウンボックスの形式を使用することができ、他の形式を使用することもできる。
本開示の実施例によれば、本開示は電子機器および読み取り可能な記憶媒体をさらに提供する。
図10に示すように、本開示の実施例のソートモデルまたはクエリ自動補完を構築する方法を実現するための電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様のコンピューティングデバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本開示の実現を制限することを意図したものではない。
図10に示すように、当該電子機器は、一つ又は複数のプロセッサ1001と、メモリ1002と、高速インターフェースと低速インターフェースを含む各コンポーネントを接続するためのインターフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に基づいて他の方式で取り付けられることができる。プロセッサは、外部入力/出力装置(インターフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリに記憶されている命令を含む、電子機器内に実行される命令を処理することができる。他の実施方式では、必要であれば、複数のプロセッサ及び/又は複数のバスを、複数のメモリと複数のメモリとともに使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、部分的な必要な操作(例えば、サーバアレイ、ブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。図10では、一つのプロセッサ1001を例とする。
メモリ1002は、本開示により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。その中、前記メモリには、前記少なくとも一つのプロセッサが本開示により提供されるソートモデルまたはクエリ自動補完を構築する方法を実行することができるように、少なくとも一つのプロセッサによって実行される命令が記憶されている。本開示の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータが本開示により提供されるソートモデルまたはクエリ自動補完を構築する方法を実行するためのコンピュータ命令が記憶される。
メモリ1002は、非一時的なコンピュータ読み取り可能な記憶媒体として、本開示の実施例におけるソートモデルまたはクエリ自動補完を構築する方法に対応するプログラム命令/モジュールように、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュールを記憶するために用いられる。プロセッサ1001は、メモリ1002に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち上記の方法の実施例におけるソートモデルまたはクエリ自動補完を構築する方法を実現する。
メモリ1002は、ストレージプログラム領域とストレージデータ領域とを含むことができ、その中、ストレージプログラム領域は、オペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶することができ、ストレージデータ領域は、当該電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ1002は、高速ランダムアクセスメモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも一つのディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ1002は、プロセッサ1001に対して遠隔に設置されたメモリを含むことができ、これらの遠隔メモリは、ネットワークを介して当該電子機器に接続されることができる。上記のネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定しない。
当該電子機器は、入力装置1003と出力装置1004とをさらに含むことができる。プロセッサ1001、メモリ1002、入力装置1003、及び出力装置1004は、バス又は他の方式を介して接続することができ、図10では、バスを介して接続することを例とする。
入力装置1003は、入力された数字又は文字情報を受信することができ、及び当該電子機器のユーザ設置及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、指示杆、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置1004は、ディスプレイデバイス、補助照明デバイス(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、LCD(液晶ディスプレイ)、LED(発光ダイオード)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定しない。いくつかの実施方式では、ディスプレイデバイスは、タッチスクリーンであってもよい。
本明細書で説明されるシステムと技術の様々な実施方式は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施方式は、一つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該一つ又は複数のコンピュータプログラムは、少なくとも一つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置に伝送することができる。
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令、高レベルのプロセス及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することを含む。本明細書に使用されるように、用語「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、PLD(プログラマブルロジックデバイス))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。用語「機械読み取り可能な信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
ユーザとのインタラクションを提供するために、コンピュータ上でここで説明されているシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施方式とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ブロックチェーンネットワークと、を含む。
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。
上記の説明から分かるように、本開示の実施例によって提供される上記方法、装置、機器およびコンピュータ記憶媒体は以下の利点を有することができ、
1)ユーザが入力した個別化されたクエリプレフィックスをソートモデルに統合してPOIのソート学習を行うことによって、ソートモデルがユーザがクエリ補完提案中のPOIを選択する時に入力した個別化されたクエリプレフィックスを学習することができる。このソートモデルに基づいて行うクエリ自動補完は、ユーザのクエリプレフィックスに対する入力習慣により良く適合することができ、ユーザの入力コストを減らすことができる。
1)ユーザが入力した個別化されたクエリプレフィックスをソートモデルに統合してPOIのソート学習を行うことによって、ソートモデルがユーザがクエリ補完提案中のPOIを選択する時に入力した個別化されたクエリプレフィックスを学習することができる。このソートモデルに基づいて行うクエリ自動補完は、ユーザのクエリプレフィックスに対する入力習慣により良く適合することができ、ユーザの入力コストを減らすことができる。
2)在クエリプレフィックスのベクトル表現を得る時、リカレントニューラルネットワークを使用してクエリプレフィックスのベクトル表現がテキストのコンテキスト制約により適合することができる。
3)本開示の各POIの属性情報を符号化する時、POIを一つのマルチソース情報の集合体として十分に考慮し、POIの名前、住所、カテゴリ、識別子などの情報を融合することによって、POIの表現をより正確にする。
上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本開示に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本開示で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
上記の具体的な実施方式は、本開示に対する保護範囲の制限を構成するものではない。当業者は、設計要求と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本開示の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれなければならない。
Claims (23)
- クエリ自動補完のためのソートモデルを構築する方法であって、
POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを取得するステップと、
同一のクエリプレフィックスに対応するクエリ補完提案中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成するステップと、
クエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得るステップと、を含み、
前記ソートモデルのトレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化することにある、
クエリ自動補完のためのソートモデルを構築する方法。 - 前記ソートモデルは、プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークを含み、
前記プレフィックス組込みネットワークはクエリプレフィックスのベクトル表現を得るために用いられ、前記POI組込みネットワークは各POIのベクトル表現を得るために用いられ、前記ソートネットワークはクエリプレフィックスのベクトル表現と対応するPOIのベクトル表現との間の類似度を決定するために用いられる、
請求項1に記載のクエリ自動補完のためのソートモデルを構築する方法。 - 前記プレフィックス組込みネットワークはリカレントニューラルネットワークを含み、
前記クエリプレフィックスのベクトル表現を得るステップは、
前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るステップを含む、
請求項2に記載のクエリ自動補完のためのソートモデルを構築する方法。 - 前記各POIのベクトル表現を得るステップは、
POIの属性情報を符号化し、POIのベクトル表現を得るステップを含む、
請求項2に記載のクエリ自動補完のためのソートモデルを構築する方法。 - 前記POI組込みネットワークは、畳み込みニューラルネットワーク、フィードフォワードニューラルネットワーク、および全接続層を含み、
前記POIの属性情報を符号化するステップは、
畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化するステップと、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化するステップと、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るステップと、を含む、
請求項4に記載のクエリ自動補完のためのソートモデルを構築する方法。 - 前記ソートモデルをトレーニングするプロセス中に、前記ソートネットワークの出力を使用してトリプレット損失関数を決定し、前記トリプレット損失関数が予め設定された要求を満たすか、または予め設定されたモデルパラメータ更新回数に達するまで、トリプレット損失関数を使用してフォワードフィードバックして前記プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークのモデルパラメータを更新する、
請求項2に記載のクエリ自動補完のためのソートモデルを構築する方法。 - クエリ自動補完の方法であって、
ユーザが現在入力したクエリプレフィックスを得、前記クエリプレフィックスに対応する候補関心ポイントPOIを決定するステップと、
前記クエリプレフィックスと前記候補POIをソートモデルに入力し、前記ソートモデルが各候補POIに対する評点を得るステップであって、前記候補POIの評点は、前記クエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度に基づいて得るステップと、
各候補POIの評点に基づいて前記ユーザに推奨するクエリ補完提案を決定するステップと、を含み、
前記ソートモデルは、請求項1~6のいずれか1項に記載の方法を使用して予めトレーニングして得られる、
クエリ自動補完の方法。 - 前記クエリプレフィックスのベクトル表現は、
前記ソートモデルにおいて、前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ソートモデルにおいて、前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得る、方式を使用して得る、
請求項7に記載のクエリ自動補完の方法。 - 前記各POIのベクトル表現は、
前記ソートモデルにおいて、各POIの属性情報を符号化して、POIのベクトル表現を得る方式を使用して決定される、
請求項7に記載のクエリ自動補完の方法。 - 前記POIの属性情報を符号化するステップは、
前記ソートモデルにおいて、畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化するステップと、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化するステップと、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るステップと、を含む、
請求項9に記載のクエリ自動補完の方法。 - クエリ自動補完のためのソートモデルを構築する装置であって、
POIクエリログから、ユーザがクエリ補完提案からPOIを選択する時に既に入力したクエリプレフィックス、当該クエリプレフィックスに対応するクエリ補完提案中の各POI、及びクエリ補完提案中でユーザによって選択されたPOIを得るための第1の取得ユニットと、
同一のクエリプレフィックスに対応するクエリ補完提案中でユーザによって選択されたPOI及びユーザによって選択されていないPOIを使用して正例-負例ペアを構成するための第2の取得ユニットと、
クエリプレフィックスと、クエリプレフィックスに対応する正例-負例ペアを使用してトレーニングしてソートモデルを得るためのモデルトレーニングユニットと、を含み、
前記ソートモデルのトレーニング目標は、クエリプレフィックスのベクトル表現と対応する正例POIのベクトル表現との類似度と、クエリプレフィックスのベクトル表現と対応する負例POIのベクトル表現との類似度との間の差を最大化することにある、
クエリ自動補完のためのソートモデルを構築する装置。 - 前記ソートモデルは、プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークを含み、
前記プレフィックス組込みネットワークはクエリプレフィックスのベクトル表現を得るために用いられ、前記POI組込みネットワークは各POIのベクトル表現を得るために用いられ、前記ソートネットワークはクエリプレフィックスのベクトル表現と対応するPOIのベクトル表現との間の類似度を決定するために用いられる、
請求項11に記載のクエリ自動補完のためのソートモデルを構築する装置。 - 前記プレフィックス組込みネットワークはリカレントニューラルネットワークを含み、
前記モデルトレーニングユニットは、ソートモデルをトレーニングするプロセス中に、具体的に、
前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るために用いられる、
請求項12に記載のクエリ自動補完のためのソートモデルを構築する装置。 - 前記モデルトレーニングユニットは、ソートモデルをトレーニングするプロセス中に、具体的に、前記POI組込みネットワークを介してPOIの属性情報を符号化し、POIのベクトル表現を得るために用いられる、
請求項12に記載のクエリ自動補完のためのソートモデルを構築する装置。 - 前記POI組込みネットワークは、畳み込みニューラルネットワーク、フィードフォワードニューラルネットワーク、および全接続層を含み、
前記モデルトレーニングユニットが前記POI組込みネットワークを介してPOIの属性情報を符号化する時に、具体的に、
畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化し、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るために用いられる、
請求項14に記載のクエリ自動補完のためのソートモデルを構築する装置。 - 前記モデルトレーニングユニットは、前記ソートモデルをトレーニングするプロセス中に、前記ソートネットワークの出力を使用してトリプレット損失関数を決定し、前記トリプレット損失関数が予め設定された要求を満たすか、または予め設定されたモデルパラメータ更新回数に達するまで、トリプレット損失関数を使用してフォワードフィードバックして前記プレフィックス組込みネットワーク、POI組込みネットワーク、及びソートネットワークのモデルパラメータを更新する、
請求項12に記載のクエリ自動補完のためのソートモデルを構築する装置。 - クエリ自動補完の装置であって、
ユーザが現在入力したクエリプレフィックスを取得し、前記クエリプレフィックスに対応する候補関心ポイントPOIを決定するための取得ユニットと、
前記クエリプレフィックスと前記候補POIをソートモデルに入力し、前記ソートモデルが各候補POIに対する評点を得るための評点ユニットであって、前記候補POIの評点は、前記クエリプレフィックスのベクトル表現と候補POIのベクトル表現との間の類似度に基づいて得られる評点ユニットと、
各候補POIの評点に基づいて前記ユーザに推奨するクエリ補完提案を決定するためのクエリ補完ユニットと、を含み、
前記ソートモデルは、請求項11~16のいずれか1項に記載の装置によって予めトレーニングして得る、
クエリ自動補完の装置。 - 前記評点ユニットは、具体的に、
前記ソートモデルにおいて、前記クエリプレフィックス内の各文字に対応する文字ベクトルをリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得、または、
前記ソートモデルにおいて、前記ユーザの属性特徴ベクトルと前記クエリプレフィックス内の各文字に対応する文字ベクトルをそれぞれスプライスした後にリカレントニューラルネットワークに順次入力し、前記リカレントニューラルネットワークによって出力された、最後の一つの文字に対応する特徴ベクトルを使用して前記クエリプレフィックスのベクトル表現を得るために用いられる、
請求項17に記載のクエリ自動補完の装置。 - 前記評点ユニットは、具体的に、
前記ソートモデルにおいて、各POIの属性情報を符号化して、POIのベクトル表現を得るために用いられる、
請求項17に記載のクエリ自動補完の装置。 - 前記評点ユニットは、具体的に、
前記ソートモデルにおいて、畳み込みニューラルネットワークを使用してPOIの名前と住所情報を符号化し、
フィードフォワードニューラルネットワークを使用してPOIの他の属性情報を符号化し、
同一のPOIの符号化結果をスプライスした後に、全接続層のマッピングにより、当該POIのベクトル表現を得るために用いられる、
請求項19に記載のクエリ自動補完の装置。 - 電子機器であって、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが請求項1~10のいずれか1項に記載の方法を実行する、
電子機器。 - コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令は、前記コンピュータに請求項1~10のいずれか1項に記載の方法を実行させる、
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体。 - コンピュータに請求項1~10のいずれか1項に記載の方法を実行させるプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010011383.8A CN111221952B (zh) | 2020-01-06 | 2020-01-06 | 建立排序模型的方法、查询自动补全的方法及对应装置 |
CN202010011383.8 | 2020-01-06 | ||
PCT/CN2020/117561 WO2021139222A1 (zh) | 2020-01-06 | 2020-09-24 | 建立排序模型的方法、查询自动补全的方法及对应装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022530688A true JP2022530688A (ja) | 2022-06-30 |
Family
ID=70831280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021568806A Pending JP2022530688A (ja) | 2020-01-06 | 2020-09-24 | ソートモデルの構築方法、クエリ自動補完の方法及び対応装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11847147B2 (ja) |
EP (1) | EP3879413A4 (ja) |
JP (1) | JP2022530688A (ja) |
KR (1) | KR20210126110A (ja) |
CN (1) | CN111221952B (ja) |
WO (1) | WO2021139222A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221952B (zh) * | 2020-01-06 | 2021-05-14 | 百度在线网络技术(北京)有限公司 | 建立排序模型的方法、查询自动补全的方法及对应装置 |
CN112528157B (zh) * | 2020-12-24 | 2024-04-26 | 北京百度网讯科技有限公司 | 建立排序模型的方法、查询自动补全的方法及对应装置 |
CN112800314B (zh) * | 2021-01-26 | 2023-06-02 | 浙江香侬慧语科技有限责任公司 | 搜索引擎询问自动补全的方法、系统、存储介质及设备 |
CN113051368B (zh) * | 2021-03-24 | 2023-09-22 | 北京百度网讯科技有限公司 | 双塔模型训练方法、检索方法、装置及电子设备 |
CN113343132B (zh) * | 2021-06-30 | 2022-08-26 | 北京三快在线科技有限公司 | 一种模型训练的方法、信息展示的方法及装置 |
US20230237053A1 (en) * | 2022-01-27 | 2023-07-27 | Intuit Inc. | Intelligent query auto-completion systems and methods |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10049149B2 (en) * | 2015-09-29 | 2018-08-14 | Oath Inc. | Computerized system and method for search query auto-completion |
US10055414B2 (en) | 2015-11-13 | 2018-08-21 | Google Llc | Access points for maps |
CN106649605B (zh) * | 2016-11-28 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | 一种推广关键词的触发方法及装置 |
CN107507054A (zh) * | 2017-07-24 | 2017-12-22 | 哈尔滨工程大学 | 一种基于循环神经网络的推荐算法 |
CN109670161B (zh) * | 2017-10-13 | 2023-01-31 | 北京京东尚科信息技术有限公司 | 商品相似度计算方法及装置、存储介质、电子设备 |
CN107862004A (zh) * | 2017-10-24 | 2018-03-30 | 科大讯飞股份有限公司 | 智能排序方法及装置、存储介质、电子设备 |
US11366866B2 (en) * | 2017-12-08 | 2022-06-21 | Apple Inc. | Geographical knowledge graph |
CN108427756B (zh) * | 2018-03-16 | 2021-02-12 | 中国人民解放军国防科技大学 | 基于同类用户模型的个性化查询词补全推荐方法和装置 |
EP3557505A1 (en) * | 2018-04-20 | 2019-10-23 | Facebook, Inc. | Contextual auto-completion for assistant systems |
US10468142B1 (en) * | 2018-07-27 | 2019-11-05 | University Of Miami | Artificial intelligence-based system and methods for corneal diagnosis |
US10705967B2 (en) * | 2018-10-15 | 2020-07-07 | Intel Corporation | Programmable interface to in-memory cache processor |
CN110442689A (zh) * | 2019-06-25 | 2019-11-12 | 平安科技(深圳)有限公司 | 一种问答关系排序方法、装置、计算机设备及存储介质 |
CN110377706B (zh) * | 2019-07-25 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 基于深度学习的搜索语句挖掘方法及设备 |
CN111221952B (zh) * | 2020-01-06 | 2021-05-14 | 百度在线网络技术(北京)有限公司 | 建立排序模型的方法、查询自动补全的方法及对应装置 |
-
2020
- 2020-01-06 CN CN202010011383.8A patent/CN111221952B/zh active Active
- 2020-09-24 KR KR1020217029693A patent/KR20210126110A/ko active Search and Examination
- 2020-09-24 EP EP20894908.1A patent/EP3879413A4/en not_active Ceased
- 2020-09-24 WO PCT/CN2020/117561 patent/WO2021139222A1/zh unknown
- 2020-09-24 US US17/311,772 patent/US11847147B2/en active Active
- 2020-09-24 JP JP2021568806A patent/JP2022530688A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN111221952B (zh) | 2021-05-14 |
US20220327151A1 (en) | 2022-10-13 |
KR20210126110A (ko) | 2021-10-19 |
EP3879413A1 (en) | 2021-09-15 |
CN111221952A (zh) | 2020-06-02 |
WO2021139222A1 (zh) | 2021-07-15 |
EP3879413A4 (en) | 2022-02-23 |
US11847147B2 (en) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102448129B1 (ko) | 엔티티 연결 방법, 장치, 기기 및 저장 매체 | |
JP2022530688A (ja) | ソートモデルの構築方法、クエリ自動補完の方法及び対応装置 | |
KR102431232B1 (ko) | 질의 응답 처리 방법, 장치, 전자 기기 및 저장 매체 | |
CN111984689B (zh) | 信息检索的方法、装置、设备以及存储介质 | |
CN111931067B (zh) | 兴趣点推荐方法、装置、设备和介质 | |
KR20220003085A (ko) | 검색 결과를 결정하는 방법, 장치, 기기 및 컴퓨터 기록 매체 | |
US11907671B2 (en) | Role labeling method, electronic device and storage medium | |
US20220342936A1 (en) | Query auto-completion method and apparatus, device and computer storage medium | |
CN112328890B (zh) | 搜索地理位置点的方法、装置、设备及存储介质 | |
JP2022530690A (ja) | クエリ自動補完の方法、装置、機器、及びコンピュータ記憶媒体 | |
CN113553414B (zh) | 智能对话方法、装置、电子设备和存储介质 | |
JP7319391B2 (ja) | 地理的位置を検索する方法、装置、機器、コンピュータ記憶媒体及びコンピュータプログラム | |
CN111666292B (zh) | 用于检索地理位置的相似度模型建立方法和装置 | |
JP7160986B2 (ja) | 検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム | |
US11704326B2 (en) | Generalization processing method, apparatus, device and computer storage medium | |
JP7241122B2 (ja) | スマート応答方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN111984774B (zh) | 搜索方法、装置、设备以及存储介质 | |
EP3876563A1 (en) | Method and apparatus for broadcasting configuration information of synchronizing signal block, and method and apparatus for receiving configuration information of synchronizing signal block | |
CN114444462A (zh) | 模型训练方法及人机交互方法、装置 | |
CN112100480B (zh) | 搜索方法、装置、设备及存储介质 | |
CN111475614B (zh) | 知识推理对话方法、装置、电子设备和存储介质 | |
JP2021103556A (ja) | 対話生成方法、装置、電子機器及び記憶媒体 | |
CN112528157B (zh) | 建立排序模型的方法、查询自动补全的方法及对应装置 | |
CN117668342A (zh) | 双塔模型的训练方法及商品召回方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230117 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230808 |