IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧

特許7160986検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム
<>
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図1
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図2
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図3
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図4A
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図4B
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図5
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図6A
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図6B
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図7A
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図7B
  • 特許-検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-17
(45)【発行日】2022-10-25
(54)【発明の名称】検索モデルの訓練方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム
(51)【国際特許分類】
   G06F 16/35 20190101AFI20221018BHJP
【FI】
G06F16/35
【請求項の数】 25
(21)【出願番号】P 2021049651
(22)【出願日】2021-03-24
(65)【公開番号】P2022054389
(43)【公開日】2022-04-06
【審査請求日】2021-03-24
(31)【優先権主張番号】202011023354.X
(32)【優先日】2020-09-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ディン,ユチェン
(72)【発明者】
【氏名】クー,インチ
(72)【発明者】
【氏名】リウ,ジン
(72)【発明者】
【氏名】リウ,カイ
(72)【発明者】
【氏名】ホン,ドウ
(72)【発明者】
【氏名】ウー,フア
(72)【発明者】
【氏名】ワン,ハイフェン
【審査官】鹿野 博嗣
(56)【参考文献】
【文献】特開2012-108867(JP,A)
【文献】特開2018-194919(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/35
(57)【特許請求の範囲】
【請求項1】
プロセッサを備えるコンピュータにより実行される、検索モデルの訓練方法であって、
前記プロセッサにより、クエリと、当該クエリに対応する関連テキスト正例及び関連テキスト負例とを含む初期訓練データを取得し、前記初期訓練データを用いて初期検索モデルを得るように訓練し、
前記プロセッサにより、前記初期検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第1の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新し、更新された訓練データを用いて第1の検索モデルを得るように訓練し、
前記プロセッサにより、前記第1の検索モデルを用いて、前記候補テキストから訓練データの中のクエリとの関連度が予め設定された第2の要件を満たすテキストを選択して当該クエリに対応する関連テキスト正例を拡充し、及び/又は、当該クエリとの関連度が予め設定された第3の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を拡充し、拡充された訓練データを用いて第2の検索モデルを得るように訓練する、
ことを含む方法。
【請求項2】
前記初期訓練データの中の関連テキスト正例は、人工標識により得られ、関連テキスト負例は、候補テキストからランダムに選択される、
請求項1に記載の方法。
【請求項3】
前記初期訓練データを用いて初期検索モデルを得るように訓練することは、
前記初期訓練データを用いてツインタワーモデルを訓練して前記初期検索モデルを得ることを含み、
訓練目標は、前記ツインタワーモデルが出力するクエリと、当該クエリに対応する関連テキスト正例との関連度が、前記クエリと前記初期訓練データの中の他の関連テキストとの関連度よりも大きくなるようにすることを含む、
請求項1に記載の方法。
【請求項4】
前記初期検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第1の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新することは、
前記初期検索モデルを用いてクエリと各候補テキストとの関連度を特定し、関連度スコアが上位M1個の候補テキストからM2個をランダムに選択して当該クエリに対応する関連テキスト負例を更新することを含み、
M1及びM2はいずれも正整数であり、M1>M2である、
請求項1に記載の方法。
【請求項5】
前記更新された訓練データを用いて前記第1の検索モデルを得るように訓練することは、
更新された訓練データを用いてクロスアテンションモデルを訓練して第1の検索モデルを得ることを含み、
訓練目標は、前記クロスアテンションモデルにより得られた訓練データにおいて、クエリと当該クエリに対応する関連テキスト正例との関連度が予め設定された閾値以上であり、クエリと当該クエリに対応する関連テキスト負例との関連度が前記予め設定された閾値未満であるようにすることを含む、
請求項1に記載の方法。
【請求項6】
前記第1の検索モデルを用いて、前記候補テキストから訓練データの中のクエリとの関連度が予め設定された第2の要件を満たすテキストを選択して当該クエリに対応する関連テキスト正例を拡充し、及び/又は、当該クエリとの関連度が予め設定された第3の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を拡充することは、
前記初期検索モデルを用いて、候補テキストから訓練データの中のクエリの関連テキストを検索し、
前記第1の検索モデルを用いて前記関連テキストと当該クエリとの関連度を特定し、関連度が予め設定された第1の閾値以上であるテキストを用いて当該クエリに対応する関連テキスト正例を拡充し、及び/又は、関連度が予め設定された、前記第1の閾値よりも小さい第2の閾値以下であるテキストを用いて当該クエリに対応する関連テキスト負例を拡充する、
ことを含む請求項5に記載の方法。
【請求項7】
拡充された訓練データを用いて前記第2の検索モデルを得るように訓練することは、
前記拡充された訓練データを用いてツインタワーモデルをさらに訓練して第2の検索モデルを得る、ことを含む請求項3に記載の方法。
【請求項8】
前記プロセッサにより、前記第2の検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第4の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新し、更新された訓練データを用いて第3の検索モデルを得るように訓練し、
前記プロセッサにより、前記第3の検索モデルを用いて、候補テキストから各拡充クエリとの関連度が予め設定された第5の要件を満たすテキストをそれぞれ選択して各拡充クエリに対応する関連テキスト正例の生成に用い、及び/又は、各拡充クエリとの関連度が予め設定された第6の要件を満たすテキストを選択して各拡充クエリに対応する関連テキスト負例の生成にそれぞれ用い、前記各拡充クエリに対応する関連テキスト正例及び/又は関連テキスト負例を用いて訓練データを拡充し、拡充された訓練データを用いて第4の検索モデルを得るように訓練する、
ことを更に含む請求項1~7の何れか1項に記載の方法。
【請求項9】
前記第2の検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第4の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新することは、
前記第2の検索モデルを使用して、クエリと当該候補テキストとの関連度を特定し、
関連度ランキングに基づいてN1個の候補テキストの間隔でN2個の候補テキストを選択し、
選択された前記N2個の候補テキストから、当該クエリに対応する関連テキスト正例との類似度が予め設定された類似度閾値以上である候補テキストをフィルタリングした後、得られた候補テキストを当該クエリに対応する関連テキスト負例の更新に用いることを含み、
前記N1及びN2は予め設定された正整数である、
請求項8に記載の方法。
【請求項10】
前記第3の検索モデルを用いて、候補テキストから各拡充クエリとの関連度が予め設定された第5の要件を満たすテキストをそれぞれ選択して各拡充クエリに対応する関連テキスト正例の生成に用い、及び/又は、各拡充クエリとの関連度が予め設定された第6の要件を満たすテキストを選択して各拡充クエリに対応する関連テキスト負例の生成にそれぞれ用いることは、
前記第2の検索モデルを用いて候補テキストから訓練データの中のクエリの関連テキストを検索し、
前記第3の検索モデルを用いて前記関連テキストと各拡充クエリとの類似度を特定し、類似度が予め設定された第1の閾値以上のテキストを各拡充クエリに対応する関連テキスト正例とし、及び/又は、類似度が予め設定された第2の閾値以下のテキストを各拡充クエリに対応する関連テキスト負例とする、
ことを含む請求項8に記載の方法。
【請求項11】
前記更新された訓練データを用いて第3の検索モデルを得るように訓練することは、
更新された訓練データを用いて前記第1の検索モデルをさらに訓練して前記第3の検索モデルを得ることを含み、
前記拡充された訓練データを用いて第4の検索モデルを得るように訓練することは、
前記拡充された訓練データを用いて前記第2の検索モデルをさらに訓練して第4の検索モデルを得ることを含む、
請求項8に記載の方法。
【請求項12】
検索モデルの訓練装置であって、
クエリと、当該クエリに対応する関連テキスト正例及び関連テキスト負例とを含む初期訓練データを取得する初期取得部と、
前記初期訓練データを用いて初期検索モデルを得るように訓練する初期訓練部と、
前記初期検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第1の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新する第1の更新部と、
前記第1の更新部により更新された訓練データを用いて第1の検索モデルを得るように訓練する第1の訓練部と、
前記第1の検索モデルを用いて、前記候補テキストから訓練データの中のクエリとの関連度が予め設定された第2の要件を満たすテキストを選択して当該クエリに対応する関連テキスト正例を拡充し、及び/又は、当該クエリとの関連度が予め設定された第3の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を拡充する第1の拡充部と、
前記第1の拡充部により拡充された訓練データを用いて第2の検索モデルを得るように訓練する第2の訓練部と、
を備える装置。
【請求項13】
前記初期訓練データの中の関連テキスト正例は、人工標識により得られ、関連テキスト負例は、候補テキストからランダムに選択される、
請求項12に記載の装置。
【請求項14】
前記初期訓練部は、前記初期訓練データを用いてツインタワーモデルを訓練して前記初期検索モデルを得、
訓練目標は、前記ツインタワーモデルが出力するクエリと当該クエリに対応する関連テキスト正例との関連度が、当該クエリと前記初期訓練データの中の他の関連テキストとの関連度よりも大きいようにすることを含む、
請求項12に記載の装置。
【請求項15】
前記第1の更新部は、前記初期検索モデルを用いてクエリと各候補テキストとの関連度を特定し、関連度スコアが上位M1個の候補テキストからM2個をランダムに選択して当該クエリに対応する関連テキスト負例を更新し、
M1及びM2はいずれも正整数であり、M1>M2である、
請求項14に記載の装置。
【請求項16】
前記第1の訓練部は、前記第1の更新部により更新された訓練データを用いてクロスアテンションモデルを訓練して前記第1の検索モデルを得、
訓練目標は、前記クロスアテンションモデルにより得られた訓練データにおいて、クエリと当該クエリに対応する関連テキスト正例との関連度が予め設定された閾値以上であり、クエリと当該クエリに対応する関連テキスト負例との関連度が予め設定された閾値未満であるようにすることを含む、
請求項12に記載の装置。
【請求項17】
前記第1の拡充部は、前記初期検索モデルを利用して候補テキストから訓練データの中のクエリの関連テキストを検索し、前記第1の検索モデルを用いて前記関連テキストと当該クエリとの関連度を特定し、関連度が予め設定された第1の閾値以上であるテキストを当該クエリに対応する関連テキスト正例の拡充に用い、及び/又は、関連度が予め設定された第1の閾値よりも小さい第2の閾値以下であるテキストを当該クエリに対応する関連テキスト負例の拡充に用いる、
請求項16に記載の装置。
【請求項18】
前記第2の訓練部は、前記第1の拡充部により拡充された訓練データを用いて前記ツインタワーモデルをさらに訓練して第2の検索モデルを得る、
請求項14に記載の装置。
【請求項19】
前記第2の検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第4の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新し、更新された訓練データを用いて第3の検索モデルを得るように訓練する第2の更新部と、
前記第2の更新部により更新された訓練データを用いて第3の検索モデルを得るように訓練する第3の訓練部と、
前記第3の検索モデルを用いて、候補テキストから各拡充クエリとの関連度が予め設定された第5の要件を満たすテキストをそれぞれ選択して各拡充クエリに対応する関連テキスト正例の生成に用い、及び/又は、各拡充クエリとの関連度が予め設定された第6の要件を満たすテキストを選択して各拡充クエリに対応する関連テキスト負例の生成にそれぞれ用い、前記各拡充クエリに対応する関連テキスト正例及び/又は関連テキスト負例を用いて訓練データを拡充する第2の拡充部と、
前記第2の拡充部により拡充された訓練データを用いて第4の検索モデルを得るように訓練する第4の訓練部と、
を更に備える、
請求項12~18の何れか1項に記載の装置。
【請求項20】
前記第2の更新部は、前記第2の検索モデルを利用してクエリと当該候補テキストとの関連度を特定し、関連度ランキングに基づいてN1個の候補テキストの間隔でN2個の候補テキストを選択し、選択されたN2個の候補テキストから、当該クエリに対応する関連テキスト正例との類似度が予め設定された類似度閾値以上である候補テキストをフィルタリングした後、得られた候補テキストを当該クエリに対応する関連テキスト負例の更新に用い、
前記N1及びN2は予め設定された正整数である、
請求項19に記載の装置。
【請求項21】
前記第2の拡充部は、前記第2の検索モデルを用いて候補テキストから訓練データの中のクエリの関連テキストを検索し、前記第3の検索モデルを用いて前記関連テキストと各拡充クエリとの類似度を特定し、類似度が予め設定された第1の閾値以上のテキストを各拡充クエリに対応する関連テキスト正例とし、及び/又は、類似度が予め設定された第2の閾値以下のテキストを各拡充クエリに対応する関連テキスト負例とする、
請求項19に記載の装置。
【請求項22】
前記第3の訓練部は、前記第2の更新部により更新された訓練データを用いて前記第1の検索モデルをさらに訓練して前記第3の検索モデルを得、
前記第4の訓練部は、前記第2の拡充部により拡充された訓練データを用いて前記第2の検索モデルをさらに訓練して第4の検索モデルを得る、
請求項19に記載の装置。
【請求項23】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されたメモリと、
を備え、
前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに請求項1~11の何れか1項に記載の方法を実行させる、
電子デバイス。
【請求項24】
コンピュータに請求項1~11の何れか1項に記載の方法を実行させるためのコンピュータコマンドが記憶された非一時的なコンピュータ可読記憶媒体。
【請求項25】
コンピュータに請求項1~11の何れか1項に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関し、特にインテリジェント検索及び自然言語処理技術に関する。
【背景技術】
【0002】
情報化時代には、膨大な量のテキストから自分が必要とする情報を素早く見つけたいという要望があるため、情報検索技術が重要になってくる。ディープニューラルネットワークの普及と発展に伴い、情報検索技術も大きく変化しており、各種の事前訓練言語モデルが検索モデルとして情報検索分野に応用され、顕著な効果向上をもたらしている。
【0003】
検索モデルの訓練過程において、大量の人工標識による訓練データが必要であり、訓練データの量と質は検索モデルの最終的な効果を直接に決定する。しかし、高品質の訓練データは非常に貴重であり、どのようにモデルの効果を保証する前提の下で、モデルの訓練過程における高品質の訓練データに対する依存を低減するかは早急に解決すべき問題である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
これに鑑みて、本開示は、モデルの効果を保証することを前提として、モデルの訓練における高品質の訓練データに対する依存を低減する検索モデルの訓練方法、装置、デバイス、及びコンピュータ記憶媒体を提供する。
【課題を解決するための手段】
【0005】
第1の局面では、本開示は、クエリ(クエリ項目:図においては「query」とも記す。)と、当該クエリに対応する関連テキスト正例及び関連テキスト負例とを含む初期訓練データを取得し、前記初期訓練データを用いて初期検索モデルを得るように訓練し、前記初期検索モデルを用いて、候補テキストの中から訓練データの中のクエリとの関連度が予め設定された第1の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新し、更新された訓練データを用いて第1の検索モデルを得るように訓練し、前記第1の検索モデルを用いて、前記候補テキストから訓練データの中のクエリとの関連度が予め設定された第2の要件を満たすテキストを選択して当該クエリに対応する関連テキスト正例を拡充し、及び/又は、当該クエリとの関連度が予め設定された第3の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を拡充し、拡充された訓練データを用いて第2の検索モデルを得るように訓練する、ことを含む検索モデルの訓練方法を提供する。
【0006】
第2の局面では、本開示は、クエリと、当該クエリに対応する関連テキスト正例及び関連テキスト負例とを含む初期訓練データを取得する初期取得部と、前記初期訓練データを用いて初期検索モデルを得るように訓練する初期訓練部と、前記初期検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第1の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新する第1の更新部と、前記第1の更新部により更新された訓練データを用いて第1の検索モデルを得るように訓練する第1の訓練部と、前記第1の検索モデルを用いて、前記候補テキストから、訓練データの中のクエリとの関連度が予め設定された第2の要件を満たすテキストを選択して当該クエリに対応する関連テキスト正例を拡充し、及び/又は、当該クエリとの関連度が予め設定された第3の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を拡充する第1の拡充部と、前記第1の拡充部により拡充された訓練データを用いて第2の検索モデルを得るように訓練する第2の訓練ユニットと、を備える検索モデルの訓練装置を提供する。
【0007】
第3の局面では、本開示は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信接続されたメモリと、を備え、前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに前記の方法を実行させる電子デバイスを提供する。
【0008】
第4の局面では、本開示は、コンピュータに前記の方法を実行させるためのコンピュータコマンドが記憶された非一時的なコンピュータ可読記憶媒体を提供する。
【0009】
以上の技術案からわかるように、本開示は、検索モデルの訓練過程において、中間訓練により得られた検索モデルを用いて訓練データの中の負例の品質を向上させ、訓練データの中の正例及び/又は負例を拡充することができるため、検索モデルの訓練は、検索効果を保証した上で、初期に取得された高品質の訓練データに対する依存を低減することができる。
【0010】
前記の選択可能な方法が有する他の効果は、以下で具体的な実施形態と合わせて説明する。
【図面の簡単な説明】
【0011】
図面は、本開示をより良く理解するためのものであり、本開示を限定しない。ここで、
図1】本開示の実施形態を適用可能な例示的なシステムアーキテクチャを示す図である、
図2】本開示の実施形態により提供される検索モデルを訓練するための主要な方法のフローチャートである。
図3】本開示の実施形態により提供される検索モデルを訓練する別の方法のフローチャートである。
図4A図4B本開示の実施形態により提供されるツインタワーモデル及びクロスアテンションモデルの構造の模式図である。
図4B】本開示の実施形態により提供されるツインタワーモデル及びクロスアテンションモデルの構造の模式図である。
図5】本開示の実施形態により提供される好ましい実施形態のフローチャートである。
図6A図6B本開示の実施形態により提供されるツインタワーモデル及びクロスアテンションモデルの訓練の模式図である。
図6B】本開示の実施形態により提供されるツインタワーモデル及びクロスアテンションモデルの訓練の模式図である。
図7A】本開示の実施形態により提供される検索モデルの訓練装置の構成図である。
図7B】本開示の実施形態により提供される検索モデルの訓練装置の別の構成図である。
図8】本開示の実施形態を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0012】
以下、図面に基づいて、本開示の例示的な実施例を説明する。理解を容易にするために、本開示の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【0013】
図1は本開示の実施形態が適用され得る例示的なシステムアーキテクチャを示した。図1に示されたように、当該システムアーキテクチャは、端末装置101、102、ネットワーク103、及びサーバ104を含むことができる。ネットワーク103は、端末装置101、102とサーバ104との間に通信リンクの媒体を提供する。ネットワーク103は、例えば有線、無線通信リンク、又は光ファイバケーブルなどの様々な接続タイプを含むことができる。
【0014】
ユーザは、端末装置101、102を用いて、ネットワーク103を介してサーバ104とインタラクションすることができる。端末装置101、102には、例えば検索系アプリケーション、音声インタラクション系アプリケーション、ウェブページブラウザアプリケーション、通信系アプリケーションなど、様々なアプリケーションをインストールすることができる。
【0015】
端末装置101及び102は、情報検索をサポート及び開始し、検索結果を表示することができる様々な電子デバイスであっても良く、スマートフォン、タブレット、PC(Personal Computer、パーソナルコンピュータ)、スマートスピーカー、ウェアラブルデバイス、スマートテレビなどを含むが、これらに限定されない。本開示により提供される装置は、前記サーバ104に配置されて動作することができ、複数のソフトウェア又はソフトウェアモジュール(例えば、分散的なサービスを提供するために)として実現されても良く、単一のソフトウェア又はソフトウェアモジュールとして実現されてもよいが、ここで具体的に限定しない。
【0016】
例えば、検索モデルの訓練装置は、前記のサーバ104内に配置して実行され、サーバ104は、本開示で提供される方法を用いて検索モデルを訓練する。端末装置101又は102からクエリ(クリエ)を含む検索リクエストを受信すると、訓練により得られた検索モデルを用いて、ユーザに返す検索結果を特定する。そして、検索結果を端末装置101又は102に返信することができる。
【0017】
サーバ104は、単一のサーバであっても良く、複数のサーバからなるサーバ群であってもよい。理解すべきなのは、図1における端末装置、ネットワーク、及びサーバの数は、単なる例示的なものである。実現の必要に応じて、任意の数の端末装置、ネットワーク、及びサーバを有することができる。
【0018】
図2は、本開示の実施形態により提供される検索モデルを訓練するための主要な方法のフローチャートである。図2に示されたように、当該方法は以下のステップを含むことができる。
【0019】
201では、クエリ(クリエ)と、そのクエリに対応する関連テキスト正例及び関連テキスト負例とを含む初期訓練データを取得し、初期訓練データを用いて初期検索モデルを得るように訓練する。
【0020】
本願で訓練データを初期に構築する際に、まず、人工標識セットを構築し、即ちクエリの集合に対してそれぞれ人工で候補文書からそのクエリの関連文書正例を標識することにより、訓練データの中の関連文書正例の高品質を保証することができる。クエリに対応する関連テキスト負例について、候補テキストからランダムに選択すれば良い。ランダムに選択された個数は、あらかじめ設定された値を採用して良く、例えば4つのテキストをランダムに選択する。
【0021】
本開示の実施形態に係る候補テキストは、具体的な応用分野に関連する。たとえば、汎用のWebページ検索エンジンであれば、その候補テキストは検索エンジンがクロールした膨大なWebページである。書籍類の検索エンジンであれば、その候補テキストは書籍データベースの中のすべての書籍テキストである。ある具体的な分野(たとえば医学系)の論文であれば、その候補テキストは論文データベースの中の膨大な論文である。対話プラットフォームに適用すると、この候補テキストは対話知識ベースの中のすべての回答に対応するテキストなどである。
【0022】
前記の方式以外にも、関連テキスト正例について、例えばユーザの履歴検索ログから取得して標識したりする他の方式で標識しても良く、ここでは詳しく説明しない。
【0023】
初期検索モデルの訓練は、初期訓練データを用いて行うことができ、本開示で採用される検索モデルのタイプは、例えば、ツインタワーモデル、クロスアテンションモデルなどであってもよい。これらのモデルに対する訓練過程は、後続の実施形態において詳細に説明される。
【0024】
202では、初期検索モデルを用いて候補テキストから訓練データの中のクエリとの関連度が予め設定された第1の要件を満たすテキストを選択してそのクエリに対応する関連テキスト負例を更新し、更新された訓練データを用いて第1の検索モデルを得るように訓練する。
【0025】
ステップ201から分かるように、訓練データを構築する際に、クエリの関連テキスト正例は正確であるが、クエリの関連テキスト負例は不正確であることが多い。しかし、負例は検索モデルの効果に非常に大きな影響を与えるため、本ステップは訓練データの中の関連テキスト負例の品質を向上させる処理である。
【0026】
正確な関連テキスト正例及びランダムに選択された関連テキスト負例はすでに訓練により得られた初期検索モデルにある程度の効果を持たせた。したがって、この初期検索モデルを用いて候補テキストから一部のクエリの強関連負例を特定し、この強関連負例を用いて訓練データを更新することで、訓練データの品質を向上させることができる。更新された訓練データに基づいて訓練された第1の検索モデルは、さらに効果が向上する。
【0027】
好ましい実施形態の1つとして、このステップでは、初期検索モデルを用いてクエリと各候補テキストとの関連度を特定し、関連度スコアが上位M1個の候補テキストからランダムにM2個を選択して、当該クエリに対応する関連テキスト負例を更新することができる。ここで、M1及びM2はいずれも正整数であり、M1>M2である。
【0028】
前記の好ましい実施形態に加えて、例えば、関連度スコアが予め設定された閾値よりも大きい候補テキストを選択してクエリに対応する関連テキスト負例を更新したりする、他の方法を採用して予め設定された第1の要件を満たすテキストを選択する。
【0029】
203では、第1の検索モデルを用いて、候補テキストから、訓練データの中のクエリとの関連度が予め設定された第2の要件を満たすテキストを選択してそのクエリに対応する関連テキスト正例を拡充し、及び/又は、そのクエリとの関連度が予め設定された第3の要件を満たすテキストを選択して、そのクエリに対応する関連テキスト負例を拡充し、拡充された訓練データを用いて第2の検索モデルを得るように訓練する。
【0030】
前記のステップ202により、訓練データの中の関連テキスト負例の品質を向上したが、検索モデルの訓練について、訓練データの中の正例と負例の数も同様に重要な役割を果たし、検索モデルの効果に大きく影響している。したがって、本ステップは訓練データの中の関連テキストの正例及び/又は負例の数を拡充する処理である。
【0031】
好ましい実施形態として、このステップでは、最初に、初期検索モデルを使用して、候補テキストから訓練データの中のクエリの関連テキストを検索し、次に第1の検索モデルを用いて関連テキストと当該クエリとの関連度を特定し、関連度が予め設定された第1の閾値以上であるテキストを、当該クエリに対応する関連テキスト正例を拡充するために使用し、及び/又は、関連度が予め設定された第2の閾値以下であるテキストを、当該クエリに対応する関連テキスト負例を拡充するために使用することができる。ここで、第1の閾値は第2の閾値より大きく、例えば、第1の閾値は0.9、第2の閾値は0.1とする。この好ましい実施形態により、関連テキストの正例と負例の数を拡充し、訓練により得られた検索モデルの効果を高めることに加えて、関連テキスト負例の品質もある程度向上し、検索モデルの効果をより向上させることができる。
【0032】
前記の好ましい実施形態に加えて、他の実施形態を採用してもよい。例えば、第1の検索モデルを用いて関連テキストとそのクエリとの関連度を特定した後、関連度ランキングに従って、上位のいくつかのテキストをそのクエリに対応する関連テキスト正例の拡充に用い、下位のいくつかのテキストをそのクエリに対応する関連テキスト負例の拡充に用いる。また例えば、第1の検索モデルを直接に利用して、各候補テキストとそのクエリとの関連度を特定し、関連度が予め設定された第1の閾値以上のテキストをそのクエリに対応する関連テキスト正例の拡充に用い、関連度が予め設定された第2の閾値以下のテキストをそのクエリに対応する関連テキスト負例の拡充に用いる。
【0033】
前記の実施形態により第2の検索モデルが得られた後、この第2の検索モデルを情報検索用のモデルとしてよい。例えば、ユーザが入力したクエリを第2の検索モデルに入力すると、第2の検索モデルは、候補テキストからそのクエリに対応する関連テキストを特定することができる。
【0034】
さらに、初期モデルの訓練と第1ラウンドの訓練における第1検索モデルモデル及び第2検索モデルの訓練に加えて、第2ラウンドの訓練をさらに行うことができる。当該過程は、図3に示されたように、以下のステップを含むことができる。
【0035】
ステップ301~303は、図2に示される実施形態におけるステップ201~203と同じであり、ここでは詳しく説明しない。
【0036】
ステップ304では、第2の検索モデルを用いて候補テキストから訓練データの中のクエリとの関連度が予め設定された第4の要件を満たすテキストを選択してそのクエリに対応する関連テキスト負例を更新し、更新された訓練データを用いて第3の検索モデルを得るように訓練する。
【0037】
本ステップは、第2の検索モデルを用いて訓練データの中の関連テキスト負例の品質をさらに向上させ、より強い負例を見つけることで、検索モデルによる困難なサンプルの判断に有利である。
【0038】
好ましい実施形態として、第2の検索モデルを利用してクエリと候補テキストの関連度を特定し、関連度ランキングに基づいてN1個の候補テキストの間隔でN2個の候補テキストを選択した後に、選択されたN2個の候補テキストから当該クエリに対応する関連テキスト正例との類似度が予め設定された類似度閾値以上である候補テキストをフィルタリングした後、得られた候補テキストを用いて当該クエリに対応する関連テキスト負例を更新することができる。ここで、N1及びN2は、あらかじめ設定された正整数である。
【0039】
上述のようにN1個の候補テキストの間隔でN2個の候補テキストを選択し、たとえば候補テキストを10個おきに選択するという選択方式は、候補テキストの中に類似テキストが大量に出現することを効率的に防止することができる。そして、選択されたテキストから関連テキスト正例との類似度が高い候補テキストをフィルタリングする。このフィルタリング処理の目的は、ある場合に標識漏れの正例が関連テキスト負例として誤って選択され、検索モデルの効果に影響を与えることを防止するためである。最終的に4つの関連テキスト負例を生成して訓練サンプルの中のクエリに対応する関連テキスト負例を置き換える。
【0040】
前記好ましい実施形態に加えて、他の方法を採用してクエリに対応する関連テキスト負例を更新しても良い。例えば、第2の検索モデルを用いてクエリと候補テキストとの関連度を特定した後、上位いくつかの候補テキストを選択してそのクエリに対応する関連テキスト負例を更新することができる。
【0041】
305では、第3の検索モデルを用いて、候補テキストから各拡充クエリとの関連度が予め設定された第5の要件を満たすテキストをそれぞれ選択して、各拡充クエリに対応する関連テキスト正例を生成し、及び/又は、各拡充クエリとの関連度が予め設定された第6の要件を満たすテキストをそれぞれ選択して各拡充クエリに対応する関連テキスト負例を生成し、各拡充クエリに対応する関連テキスト正例及び/又は関連テキスト負例を用いて訓練データを拡充し、 拡充された訓練データを用いて第4の検索モデルを得るように訓練する。
【0042】
本ステップは、訓練データの中の関連テキストをさらに拡充するものであり、関連テキスト正例及び/又は関連テキスト負例の拡充を含み、検索モデルの効果を高める。
【0043】
本ステップで扱う拡充クエリは、訓練データに新たに追加されたクエリである。 好ましい実施形態として、このステップでは、まず、第2の検索モデルを使用して候補テキストから訓練データの中のクエリの関連テキストを検索し、第3の検索モデルを用いて関連テキストと各拡充クエリとの類似度を判定し、類似度が予め設定された第1の閾値以上のテキストを各拡充クエリに対応する関連テキスト正例とし、及び/又は、類似度が予め設定された第2の閾値以下のテキストを各拡充クエリに対応する関連テキスト負例とすることができる。例えば、第1の閾値を0.9とし、第2の閾値を0.1とする。
【0044】
前記の好ましい実施形態に加えて、他の実施形態を採用してもよい。例えば、第3の検索モデルを用いて関連テキストとそのクエリとの関連度を特定した後、関連度ランキングに基づいて、上位のいくつかのテキストをそのクエリに対応する関連テキスト正例の拡充に用い、下位のいくつかのテキストをそのクエリに対応する関連テキスト負例の拡充に用いる。また、例えば、第3の検索モデルを直接に利用して、各候補テキストとそのクエリとの関連度を特定し、関連度が予め設定された第1の閾値以上のテキストをそのクエリに対応する関連テキスト正例の拡充に用い、関連度が予め設定された第2の閾値以下のテキストをそのクエリに対応する関連テキスト負例の拡充に用いる。
【0045】
前記実施形態により第4の検索モデルが得られた後に、当該第4の検索モデルを情報検索用のモデルとすることができる。例えばユーザが入力したクエリを第4の検索モデルに入力すると、第4の検索モデルは候補テキストからそのクエリに対応する関連テキストを特定することができる。
【0046】
また、前記実施例において、初期検索モデル、第2の検索モデル及び第4の検索モデルは同じタイプのモデルを採用し、第1の検索モデル及び第3の検索モデルは同じタイプのモデルを採用して良い。好ましい実施形態として、第2の検索モデルは、訓練時に、既に得られた初期検索モデルに基づいて拡充された訓練データを使用してさらに訓練されて良い。第4の検索モデルは、訓練時に、既に得られた第2の検索モデルに基づいて拡充された訓練データを用いてさらに訓練されて良い。好ましい実施形態として、第3の検索モデルは、訓練時に、既に取得された第1の検索モデルに基づいて更新された訓練データを使用してさらに訓練されて良い。
【0047】
現在、情報検索分野でよく使われているモデルは主に2種類あり、1つはツインタワーモデル(Dual Model)である。ツインタワーモデルとは、2つのエンコーダを用いてクエリと候補テキストをそれぞれ符号化してクエリのベクトル表現と候補テキストのベクトル表現を得た後に、2つのベクトル表現間の関連度(類似度とも呼ばれる)を内積などによりクエリと候補テキストの関連スコアとして計算するためである。図4Aに示されたように、この2つのエンコーダの構造はツインタワー型の構造を呈しているため、ツインタワーモデルと呼ばれている。
【0048】
もう1つはクロスアテンション(Cross Attention)モデルである。クロスアテンションモデルとは、図4Bに示されたように、クエリと候補テキストとをスプライシングし、スプライシングされたテキストを、クロスアテンションメカニズムを用いて統一的に符号化した後、さらに符号化結果をマッピング(Softmax)してクエリと候補テキストとの関連度を得るものである。
【0049】
なお、クロスアテンションモデルは、モデル効果が良く、正確度が高いが、効率が低い。一方、ツインタワーモデルは、効率が高いが、効果がクロスアテンションモデルに及ばない。本開示は、これら2つのモデルのそれぞれの特徴を考慮して、2つのモデルのそれぞれの利点を十分に利用するように本開示で提供される検索モデルの訓練プロセスにこれら2つのモデルを適用する好ましい実施形態を提供する。以下では、このような好ましい実施形態について、具体的な実施形態と合わせて詳細に説明する。
【0050】
図5は、本開示の実施形態により提供される好ましい実施形態のフローチャートである。図5に示されたように、当該方法は、以下のステップを含むことができる。
【0051】
501では、初期訓練データを取得してData0として標記する。
【0052】
本ステップでは、初期訓練データは、クエリと、クエリに対応する関連テキスト正例及び関連テキスト負例とを含む。ここで、関連テキスト正例は人工で標識され、関連テキスト負例は候補テキストからランダムに選択される。
【0053】
本実施例では、2つのセットを構築することができる。一つは、ユーザが入力したクエリの集合を予め選択し、候補テキストからクエリに関連する関連テキスト正例を人工で標識する人工標識セットである。 もう一つは、クエリのみを含む拡充クエリセットである。 拡充クエリセットは、後続で関連テキストの正例と負例の拡充に用いられる。
【0054】
初期訓練データにおけるクエリに対応する関連テキスト負例は、候補テキストセットからランダムに選択することができる。例えば、クエリ毎に候補テキストセットからクエリに対応する関連テキスト負例として4つの候補テキストをランダムに選択する。
【0055】
502では、初期訓練データを用いてツインタワーモデルを訓練して初期検索モデルを得てDM0として標記する。
【0056】
初期訓練データの中の訓練データのサンプル数は少ないため、本ステップでは実際に少量の負例データを用いて訓練を行う。
【0057】
ツインタワーモデルは訓練を行う場合に、図6Aに示されたように、訓練データに合計でn個の訓練サンプルが存在すると仮定し、<クエリ、doc+、doc->と示される。ここで、doc+とdoc-は、それぞれクエリに対応する関連テキスト正例と関連テキスト負例を示す。
【0058】
ツインタワーモデルは、クエリ及び各doc+とdoc-をそれぞれ符号化し、n個の訓練データから、クエリと2n個の関連テキストとの関連度をそれぞれ計算することができる。当該2n個の関連テキストは、そのクエリに対する関連テキスト正例と負例、及び他のクエリに対する関連テキスト正例と負例を含む。訓練過程における訓練目標は、ツインタワーモデルが出力したクエリとそのクエリに対応するdoc+との関連度がそのクエリと初期訓練データの中の他の関連テキストとの関連度よりも大きいことである。すなわち、クエリとそれに対応するdoc+との関連度が2n個の関連度の中で最大値となるようにする。
【0059】
前記のステップ501及び502は、初期の検索モデル訓練過程と見なすことができる。この過程で少量の負例データが採用され、かつ当該少量の負例データがランダムで選択されたものであり、数量的にも品質的にも検索モデルに良い効果を達成させることができないため、後続で少なくとも1ラウンドの訓練過程を行って検索モデルの効果をさらに高める必要がある。本実施形態では、さらに2ラウンドの訓練を実施することを例とする。ここで、第1ラウンドの訓練は、以下のステップ503~506を含む。
【0060】
503では、DM0を用いて訓練データの中の各クエリの関連テキスト負例を更新して更新された訓練データを生成してData1と標記する。
【0061】
好ましい実施形態として、DM0を用いて、訓練データの中のクエリと各候補テキストとの関連度を特定し、関連度スコアが上位M1個の候補テキストから、M2個をランダムに選択して当該クエリに対応する関連テキスト負例を更新することができる。ここで、M1及びM2は何れも正整数、M1>M2である。
【0062】
例えば、DM0を用いて訓練データの中のクエリと候補データベースにおける各候補テキストとの関連度を特定し、関連度スコアに基づいて上位1000個の候補テキストを候補セットとし、クエリ毎に関連テキスト正例が依然として人工で標識されたデータである一方、関連テキスト負例が前記得られた候補セットからランダムに選択された4個である。
【0063】
適切な関連テキスト正例及びランダムに選択された関連テキスト負例は、すでに訓練で得られたDM0にある程度の効果を与えたため、そのDM0を利用して候補テキストからクエリの強関連負例の一部を特定し、その強関連負例を用いて訓練データを更新することで、訓練データの品質を向上させることができる。
【0064】
504では、更新された訓練データを用いてクロスアテンションモデルを訓練して第1の検索モデルを得てCM1として標記する。
【0065】
クロスアテンションモデルを訓練する場合に、図6Bに示されたように、入力は<クエリ、doc+>及び<クエリ、doc->である。クロスアテンションモデルは、入力されたクエリとdoc(doc+又はdoc-)をスプライシングして統合的に符号化し、符号化結果に対してsoftmaxを行ってクエリとdocの関連度スコアにマッピングする。クロスセクションモデルに対する訓練は、バイナリ分類問題とみなして良く、即ちクロスセクションモデルが出力した関連度に基づいてdocを分類し、分類結果yが関連と非関連の2種類であり、関連が正例、非関連が負例に対応する。これにより、クロスアテンションモデルから得られた訓練データにおいて、クエリと対応するdoc+との関連度が予め設定された閾値以上であり、クエリと対応するdoc-との関連度が予め設定された閾値未満であることを訓練目標とすることができる。すなわち、理想的には、クロスアテンションモデルでは、doc+に対する分類結果が関連であり、doc-に対する分類結果が非関連である。
【0066】
505では、CM1を用いて現在の訓練データの中の関連テキスト正例と関連テキスト負例を拡充して拡充された訓練データを得てData2として標記する。
【0067】
好ましい実施形態として、DM0を利用して候補テキストから訓練データの中のクエリの関連テキストを検索し、CM1を用いて関連テキストとクエリとの関連度を特定し、関連度が予め設定された第1の閾値以上のテキストを当該クエリに対応する関連テキスト正例を拡充し、関連度が予め設定された第2の閾値以下のテキストを当該クエリに対応する関連テキスト負例を拡充することができる。ここで、第1の閾値は第2の閾値より大きく、例えば、第1の閾値を0.9とし、第2の閾値を0.1とする。
【0068】
クロスアテンションモデルCM1の関連度判定はより正確であるため、適切な閾値設定と合わせて、より信頼性の高い関連テキスト正例と関連テキスト負例を選択することができる。このような方式で訓練データを拡充することは、CM1の能力をDM0に渡してDM1を得ることに相当し、ツインタワーモデルの効果を著しく高めることができる。
【0069】
506では、拡充された訓練データを用いて、さらにDM0を訓練して第2の検索モデルを得てDM1として標記する。
【0070】
DM1は、DM0の上に拡充した訓練データを用いてさらに訓練されたものである。 これにより、検索モデルの訓練過程を最適化し、高速化することができる。具体的な訓練過程は、前記のステップ502においてDM0を訓練する方法と同じであるため、ここでは詳しく説明しない。
【0071】
第2ラウンドの訓練過程は、以下のステップ507~510を含む。
【0072】
507では、DM1を用いて訓練データの中の各クエリの関連テキスト負例を更新して更新された訓練データを生成してData3として標記する。
【0073】
好ましい実施形態として、DM1を利用して、現在の訓練データの中のクエリと候補テキストとの関連度を特定し、関連度ランキングに基づいてN1個の候補テキストの間隔でN2個の候補テキストを選択した後に、選択されたN2個の候補テキストから、そのクエリに対応する関連テキスト正例との類似度が予め設定された類似度閾値以上である候補テキストをフィルタリングした後、得られた候補テキストをそのクエリに対応する関連テキスト負例の更新に用いることができる。ここで、N1、N2は予め設定された正整数である。
【0074】
このステップにおける関連テキスト負例の選択方法は、ステップ503における選択方法よりも厳密である。DM1で特定された関連度に基づいて各候補テキストをソートした後、候補テキストを10個おきに選択することができる。このような処理により、候補テキストの中に類似するテキストが大量に出現する事態を効果的に回避し、関連テキスト負例の品質を向上させることができる。そして、選択された候補テキストから、さらにクエリに対応する関連テキスト正例との類似度が高い候補テキストをフィルタリングする。このような処理により、幾つかの場合に標識漏れの正例が関連テキスト負例として誤って選択され、検索モデルの効果に影響を与えることを効率的に防止することができる。例えば、最終的に4つの関連テキスト負例を生成して訓練サンプルの中のクエリに対応する関連テキスト負例を置き換える。本ステップの処理方式は、より質の高い負例を得ることができ、訓練された検索モデルが難しいサンプルを判定するのに有利である。
【0075】
508では、更新された訓練データを用いてCM1をさらに訓練して第3の検索モデルを得てCM2として標記する。
【0076】
本ステップにおけるCM2は、既に訓練されたCM1に基づいて、更新された訓練データを用いてさらに訓練されたものである。これにより、検索モデルの訓練を最適化し、高速化することができる。具体的な訓練過程は、前記のステップ504におけるCM1の訓練過程と同じであるため、ここでは詳しく説明しない。
【0077】
509では、CM2を用いて現在の訓練データの中の関連テキスト正例と関連テキスト負例を拡充して拡充された訓練データを得てData4として標記する。
【0078】
好ましい実施形態として、DM1を用いて候補テキストから現在の訓練データにおけるクエリの関連テキストを検索し、CM2を用いて関連テキストと各拡充クエリとの類似度を特定し、類似度が予め設定された第1の閾値以上のテキストを各拡充クエリに対応する関連テキスト正例とし、類似度が予め設定された第2の閾値以下のテキストを各拡充クエリに対応する関連テキスト負例とし、各拡充クエリに対応する関連テキスト正例と関連テキスト負例を用いて訓練データを拡充することができる。
【0079】
本ステップにおける拡充方式はステップ505と類似しているが、本ステップで拡充クエリセットを用いて拡充してより多くの関連テキスト正例と関連テキスト負例を得ることにより、より良いモデル訓練効果を得る点が異なる。
【0080】
510では、拡充された訓練データを用いて、さらにDM1を訓練して第4の検索モデルを得てDM2として標記する。
【0081】
このステップにおけるDM2の訓練は、DM1を基に拡充可能な訓練データを用いてさらに訓練されたものであって良い。これにより、検索モデルの訓練を最適化し、高速化することができる。具体的な訓練過程は、前記のステップ506におけるDM1の訓練過程と同じであるため、ここでは詳しく説明しない。
【0082】
ここまで本開示の実施形態で得られた第4の検索モデルDM2は、ユーザのクエリを検索モデルに入力し、そのクエリと各候補テキストとの関連度を得、その関連度に基づいてクエリの関連テキストを特定する最終的な検索モデルとすることができる。サーバ側は、そのクエリの関連テキストを検索結果として端末装置に返信することができる。
【0083】
以上は、本開示の実施形態により提供された方法の詳細な説明であり、以下で実施形態と合わせて本開示により提供される装置を詳しく説明する。
【0084】
図7Aは、本開示の実施形態により提供される検索モデルの訓練装置の構成図である。当該装置は、サーバ側のアプリに配置されても良く、サーバ側のアプリに配置されるプラグイン又はソフトウェア開発キット(Software Development Kit、SDK)のような機能ユニットであっても良く、強力な計算能力を有するコンピュータ端末に配置されても良く、本開示の実施形態で特に限定されていない。図7に示されたように、当該装置は、初期取得部01と、初期訓練部02と、第1の更新部03と、第1の訓練部04と、第1の拡充部05と、第2の訓練部06とを備えることができる。なお、各構成部の主な機能は次のとおりである。
【0085】
初期取得部01は、クエリと、当該クエリに対応する関連テキスト正例及び関連テキスト負例とを含む初期訓練データを取得する。
【0086】
好ましい実施形態として、初期訓練データの中の関連テキスト正例は人工標識により得られ、関連テキスト負例は候補テキストからランダムに選択される。
【0087】
初期訓練部02は、初期訓練データを用いて初期検索モデルを得るように訓練する。
【0088】
好ましい実施形態として、初期訓練ユニット02は、初期訓練データを用いてツインタワーモデルを訓練して初期検索モデルを得られる。ここで、訓練目標は、ツインタワーモデルが出力したクエリとそのクエリに対応する関連テキスト正例との関連度がそのクエリと初期訓練データの中の他の関連テキストとの関連度よりも大きいことを含む。
【0089】
第1の更新部03は、初期検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第1の要件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新する。
【0090】
好ましい実施形態として、第1の更新部03は、初期検索モデルを用いてクエリと各候補テキストとの関連度を特定し、関連度スコアが上位M1個の候補テキストからM2個をランダムに選択して当該クエリに対応する関連テキスト負例を更新する。ここで、M1及びM2は何れも正整数であり、M1>M2である。
【0091】
第1の訓練部04は、第1の更新部03により更新された訓練データを用いて第1の検索モデルを得るように訓練する。
【0092】
好ましい実施形態として、第1の訓練ユニット04は、第1の更新ユニット03により更新された訓練データを用いてクロスアテンションモデルを訓練して第1の検索モデルを得られる。ここで、訓練目標は、クロスアテンションモデルにより得られた学習データにおいて、クエリとそのクエリに対応する関連テキスト正例との関連度が予め設定された閾値以上であり、クエリとそのクエリに対応する関連テキスト負例との関連度が予め設定された閾値未満であることを含む。
【0093】
第1の拡充部05は、第1の検索モデルを用いて、候補テキストから、訓練データの中のクエリとの関連度が予め設定された第2の要件を満たすテキストを選択して、そのクエリに対応する関連テキスト正例を拡充し、及び/又は、そのクエリとの関連度が予め設定された第3の要件を満たすテキストを選択して、そのクエリに対応する関連テキスト負例を拡充する。
【0094】
好ましい実施形態として、第1の拡充ユニット05は、初期検索モデルを利用して、候補テキストから訓練データの中のクエリの関連テキストを検索し、第1の検索モデルを用いて、関連テキストと当該クエリとの関連度を特定し、関連度が予め設定された第1の閾値以上であるテキストを当該クエリに対応する関連テキスト正例の拡充に用い、及び/又は、関連度が予め設定された、第1の閾値よりも小さい第2の閾値以下であるテキストを当該クエリに対応する関連テキスト負例の拡充に用いることができる。
【0095】
第2の訓練部06は、第1の拡充部で拡充された訓練データを用いて第2の検索モデルを得るように訓練する。
【0096】
好ましい実施形態として、第2の訓練ユニット06は、第1の拡充ユニット05により拡充された訓練データを用いて、ツインタワーモデルをさらに訓練して第2の検索モデルを得ることができる。
【0097】
図7Bは、本開示の実施形態により提供される別の装置構成の模式図である。本実施形態において、当該装置は、図7Aに示されたユニット及び構造に加えて、第2の更新部07、第3の訓練部08、第2の拡充部09、及び第4の訓練部10をさらに含むことができる。
【0098】
第2の更新部07は、第2の検索モデルを用いて、候補テキストから訓練データの中のクエリとの関連度が予め設定された第4の用件を満たすテキストを選択して当該クエリに対応する関連テキスト負例を更新し、更新された訓練データを用いて第3の検索モデルを得るように訓練する。
【0099】
好ましい実施形態として、第2の更新ユニット07は、第2の検索モデルを利用してクエリと当該候補テキストとの関連度を特定し、関連度ランキングに基づいてN1個の候補テキストの間隔でN2個の候補テキストを選択し、選択されたN2個の候補テキストから当該クエリに対応する関連テキスト正例との類似度が予め設定された類似度閾値以上である候補テキストをフィルタリングした後、得られた候補テキストを用いて当該クエリに対応する関連テキスト負例を更新することができる。ここで、N1とN2は予め設定された正整数である。
【0100】
第3の訓練部08は、第2の更新部07により更新された訓練データを用いて第3の検索モデルを得るように訓練する。
【0101】
好ましい実施形態として、第3の訓練ユニット08は、更新された訓練データを用いて第1の検索モデルをさらに訓練して第3の検索モデルを得ることができる。
【0102】
第2の拡充部09は、第3の検索モデルを利用して、候補テキストから各拡充クエリとの関連度が予め設定された第5の要件を満たすテキストをそれぞれ選択して各拡充クエリに対応する関連テキスト正例の生成に用い、及び/又は、各拡充クエリとの関連度が予め設定された第6の要件を満たすテキストを選択して各拡充クエリに対応する関連テキスト負例の生成にそれぞれ用い、各拡充クエリに対応する関連テキスト正例及び/又は関連テキスト負例を用いて訓練データを拡充することができる。
【0103】
好ましい実施形態として、第2の拡充部09は、第2の検索モデルを用いて、候補テキストから訓練データの中のクエリの関連テキストを検索し、第3の検索モデルを用いて関連テキストと各拡充クエリとの類似度を特定し、類似度が予め設定された第1の閾値以上のテキストを各拡充クエリに対応する関連テキスト正例とし、及び/又は、類似度が予め設定された第2の閾値以下のテキストを各拡充クエリに対応する関連テキスト負例とする。
【0104】
第4の訓練部10は、第2の拡充部09により拡充された訓練データを用いて第4の検索モデルを得るように訓練する。
【0105】
好ましい実施形態として、第4の訓練ユニット10は、拡充された訓練データを用いて、第2の検索モデルをさらに訓練して第4の検索モデルを得ることができる。
【0106】
本開示の実施形態によれば、本開示は更に電子デバイス及び可読記憶媒体を提供する。
【0107】
図8は、本開示の実施形態に係る検索モデルの訓練方法の電子デバイスのブロック図である。電子デバイスは、様々な形式のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、PDA、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータであることが意図される。電子デバイスは、様々な形式のモバイル装置、例えば、PDA、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の類似するコンピューティング装置を示してもよい。本文で示された構成要素、それらの接続及び関係、ならびにそれらの機能は例示にすぎなく、本明細書において説明及び/又は請求される本開示の実現を限定することが意図されない。
【0108】
図8に示すように、この電子デバイスは、一つ又は複数のプロセッサ801、メモリ802、及び各構成要素に接続するための高速インターフェース及び低速インターフェースを含むインターフェースを備える。各構成要素は、異なるバスで相互接続され、そして、共通マザーボードに、又は必要に応じて、他の態様で実装されてもよい。プロセッサは、電子デバイス内で実行されるコマンドを処理してもよく、メモリに記憶される又はメモリ上で外部入力/出力装置(例えば、インターフェースに結合される表示装置)にグラフィカルユーザインターフェースのグラフィカル情報を表示するコマンドを含む。他の実施形態において、必要な場合に、複数のプロセッサ及び/又は複数のバスが、複数のメモリとともに用いられてもよい。同様に、複数の電子デバイスが接続されてもよく、それぞれのデバイスが必要な操作の一部を提供する(例えば、サーババンク、ブレードサーバの集まり、又はマルチプロセッサシステムとする)。図8において、一つのプロセッサ501を例とする。
【0109】
メモリ802は、本開示で提供される非一時的コンピュータ可読記憶媒体である。なお、前記メモリには、少なくとも1つのプロセッサが本開示により提供される検索モデルの訓練方法を実行するように、前記少なくとも1つのプロセッサに実行可能なコマンドが記憶されている。本開示の非一時的コンピュータ可読記憶媒体は、本開示により提供される検索モデルの訓練方法をコンピュータに実行させるためのコンピュータコマンドを記憶している。
【0110】
メモリ802は、非一時的コンピュータ可読記憶媒体として、非一時的ソフトウェアプログラム、非一時的コンピュータ実行可能なプログラム、モジュール、例えば、本開示の実施形態における検索モデルの訓練方法に対応するプログラムコマンド/ユニットを記憶するために用いられる。プロセッサ801は、メモリ802に記憶されている非一時的ソフトウェアプログラム、コマンド及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち、前記方法の実施形態における検索モデルの訓練方法を実現する。
【0111】
メモリ802は、プログラム記憶領域及びデータ記憶領域を含んでもよく、プログラム記憶領域はオペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶してもよく、データ記憶領域は当該電子デバイスの使用により作成されたデータなどを記憶してもよい。また、メモリ802は、高速ランダムアクセスメモリを含んでもよく、さらに非一時的メモリ、例えば、少なくとも一つの磁気ディスク記憶装置、フラッシュメモリ装置、又は他の非一時的固体記憶装置を含んでもよい。幾つかの実施例において、メモリ802は、プロセッサ801に対して遠隔設置されたメモリを選択的に含んでもよく、これらのリモートメモリは、ネットワークを介して電子デバイスに接続されてもよい。上記のネットワークの実例には、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせが含まれるが、これらに限定されない。
【0112】
電子デバイスは、更に、入力装置803と出力装置804とを備えても良い。プロセッサ801、メモリ802、入力装置803及び出力装置804は、バス又は他の手段により接続されても良く、図8においてバスによる接続を例とする。
【0113】
入力装置803は、入力された数字又はキャラクタ情報を受信し、当該電子デバイスのユーザ設定及び機能制御に関連するキー信号入力を生成でき、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置804は、表示装置、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含むことができる。当該表示装置は、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、及びプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示装置はタッチパネルであってもよい。
【0114】
本明細書に説明されるシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、専用ASIC(専用集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、記憶システム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及びコマンドを受信し、当該記憶システム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置にデータ及びコマンドを送信するようにつなげられた、特殊用途でもよく一般用途でもよい少なくとも一つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能及び/又は解釈可能な一つ又は複数のコンピュータプログラムにおける実行を含んでもよい。
【0115】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又は、コードとも称される)は、プログラマブルプロセッサの機械命令を含み、高水準のプロセス及び/又はオブジェクト向けプログラミング言語、及び/又はアセンブリ/機械言語で実行されることができる。本明細書で用いられる「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号としての機械命令を受け取る機械可読媒体を含むプログラマブルプロセッサに機械命令及び/又はデータを提供するのに用いられる任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、及びプログラマブル論理デバイス)を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令及び/又はデータを提供するために用いられる任意の信号を指す。
【0116】
ユーザとのインタラクティブを提供するために、本明細書に説明されるシステムと技術は、ユーザに対して情報を表示するための表示装置(例えば、CRT(ブラウン管)又はLCD(液晶ディスプレイ)モニタ)、ユーザがコンピュータに入力を与えることができるキーボード及びポインティングデバイス(例えば、マウスや、トラックボール)を有するコンピュータ上に実施されることが可能である。その他の種類の装置は、さらに、ユーザとのインタラクションを提供するために使用されることが可能であり、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚的なフィードバック、聴覚的なフィードバック、又は触覚的なフィードバック)であり得、ユーザからの入力は、任意の形態で(音響、音声又は触覚による入力を含む)受信され得る。
【0117】
本明細書に説明されるシステムと技術は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータであり、ユーザは、当該グラフィカルユーザインターフェースもしくは当該ウェブブラウザを通じて本明細書で説明されるシステムと技術の実施形態とインタラクションすることができる)、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実施されることが可能である。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイド・エリア・ネットワーク(「WAN」)、インターネットワークを含む。
【0118】
コンピュータシステムは、クライアントとサーバを含み得る。クライアントとサーバは、一般的に互いから遠く離れており、通常は、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、相応するコンピュータ上で実行され、互いにクライアント-サーバの関係を有するコンピュータプログラムによって生じる。
【0119】
以上で示された様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除できることを理解されたい。例えば、本開示に説明される各ステップは、並列の順序又は順次的な順序で実施されてもよいし、又は異なる順序で実行されてもよく、本開示で開示された技術案の望ましい結果が達成できる限り、ここで制限されない。
【0120】
前記の具体的な実施形態は本開示の保護範囲に対する制限を構成しない。設計要件及び他の要因に従って、様々な修正、組み合わせ、部分的組み合わせ及び置換を行うことができることを当業者は理解するべきである。本開示の精神及び原則の範囲内で行われる修正、同等の置換、改善は、何れも本開示の保護範囲内に含まれるべきである。


図1
図2
図3
図4A
図4B
図5
図6A
図6B
図7A
図7B
図8