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

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

▶ ヤフー株式会社の特許一覧

<>
  • 特許-生成装置、生成方法及び生成プログラム 図1
  • 特許-生成装置、生成方法及び生成プログラム 図2
  • 特許-生成装置、生成方法及び生成プログラム 図3
  • 特許-生成装置、生成方法及び生成プログラム 図4
  • 特許-生成装置、生成方法及び生成プログラム 図5
  • 特許-生成装置、生成方法及び生成プログラム 図6
  • 特許-生成装置、生成方法及び生成プログラム 図7
  • 特許-生成装置、生成方法及び生成プログラム 図8
  • 特許-生成装置、生成方法及び生成プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-20
(45)【発行日】2023-12-28
(54)【発明の名称】生成装置、生成方法及び生成プログラム
(51)【国際特許分類】
   G06F 40/232 20200101AFI20231221BHJP
   G06F 16/332 20190101ALI20231221BHJP
   G06F 40/216 20200101ALI20231221BHJP
【FI】
G06F40/232
G06F16/332
G06F40/216
【請求項の数】 8
(21)【出願番号】P 2021022809
(22)【出願日】2021-02-16
(65)【公開番号】P2022124899
(43)【公開日】2022-08-26
【審査請求日】2021-10-20
【前置審査】
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鍜治 伸裕
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開平10-134049(JP,A)
【文献】特開2000-259617(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
利用者によって入力された文字列であるクエリに関するクエリ情報のうちから、第1クエリ情報と、当該第1クエリ情報が入力された後に所定の時間内に連続して入力された第2クエリ情報との組合せである第1データを抽出する抽出部と、
前記第1クエリ情報と、前記第1クエリ情報との組合せである第2データを生成し、前記第1データに対して正の値である第1重みを重み付けて学習させ、当該第2データに対して負の値である第2重みを重み付けて学習させた学習モデルであって、前記利用者によって入力されたクエリ情報が当該学習モデルに入力された場合に検索クエリの候補となる文字列を生成するための学習モデルを生成する生成部と
を備えることを特徴とする生成装置。
【請求項2】
前記生成部は、
複数の第1データに対して前記第1重みを重み付けて学習させ、複数の第2データに対して前記第2重みを重み付けて学習させた学習モデルを生成する
ことを特徴とする請求項1に記載の生成装置。
【請求項3】
前記生成部は、
前記第1データを正例として学習させ、前記第2データを負例として学習させた前記学習モデルを生成する
ことを特徴とする請求項1又は2に記載の生成装置。
【請求項4】
前記抽出部は、
前記利用者によって入力されたクエリ情報である第3クエリ情報であって、前記第1クエリ情報及び前記第2クエリ情報とは異なる第3クエリ情報をさらに抽出し、
前記生成部は、
前記第3クエリ情報と、前記第3クエリ情報との組合せである第3データを生成し、前記第1データに対して前記第1重みを重み付けて学習させ、前記第2データに対して前記第2重みを重み付けて学習させ、当該第3データに対して正の値である第3重みを重み付けて学習させた学習モデルを生成する
ことを特徴とする請求項1~3のいずれか1つに記載の生成装置。
【請求項5】
前記生成部は、
前記第1データを正例として学習させ、前記第2データを負例として学習させ、前記第3データを負例として学習させた前記学習モデルを生成する
ことを特徴とする請求項4に記載の生成装置。
【請求項6】
前記生成部は、
前記第1重みが前記第3重みよりも大きい値として学習させた前記学習モデルを生成する
ことを特徴とする請求項4に記載の生成装置。
【請求項7】
コンピュータが実行する生成方法であって、
利用者によって入力された文字列であるクエリに関するクエリ情報のうちから、第1クエリ情報と、当該第1クエリ情報が入力された後に所定の時間内に連続して入力された第2クエリ情報との組合せである第1データを抽出する抽出工程と、
前記第1クエリ情報と、前記第1クエリ情報との組合せである第2データを生成し、前記第1データに対して正の値である第1重みを重み付けて学習させ、当該第2データに対して負の値である第2重みを重み付けて学習させた学習モデルであって、前記利用者によって入力されたクエリ情報が当該学習モデルに入力された場合に検索クエリの候補となる文字列を生成するための学習モデルを生成する生成工程と
を含むことを特徴とする生成方法。
【請求項8】
利用者によって入力された文字列であるクエリに関するクエリ情報のうちから、第1クエリ情報と、当該第1クエリ情報が入力された後に所定の時間内に連続して入力された第2クエリ情報との組合せである第1データを抽出する抽出手順と、
前記第1クエリ情報と、前記第1クエリ情報との組合せである第2データを生成し、前記第1データに対して正の値である第1重みを重み付けて学習させ、当該第2データに対して負の値である第2重みを重み付けて学習させた学習モデルであって、前記利用者によって入力されたクエリ情報が当該学習モデルに入力された場合に検索クエリの候補となる文字列を生成するための学習モデルを生成する生成手順と
をコンピュータに実行させることを特徴とする生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成装置、生成方法及び生成プログラムに関する。
【背景技術】
【0002】
従来、文字列の入力を効率化する目的として、文字列の入力候補を表示する技術が知られている。例えば、変換対象文字列の変換の候補を容易に選択する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-185715号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、変換対象文字列の変換の候補を容易に選択するに過ぎない。そのため、入力候補となり得る文字列を効率よく生成できるとは限らない。
【0005】
本願は、上記に鑑みてなされたものであって、文字列を生成するための適切なデータを生成することができる生成装置、生成方法及び生成プログラムを目的とする。
【課題を解決するための手段】
【0006】
本願に係る生成装置は、利用者によって入力された入力情報のうちから、第1入力情報と、当該第1入力情報が入力された後に連続的に入力された第2入力情報との組合せである第1データを抽出する抽出部と、前記第1入力情報と、前記第1入力情報との組合せである第2データを生成し、前記第1データと、当該第2データとに異なる重みを重み付けて学習させた学習モデルを生成する生成部とを備えることを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、適切な文字列を生成するためのデータを生成することができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る生成装置が実行する提供処理の一例を示す図である。
図2図2は、実施形態に係る学習モデルの生成処理を示す概念図である。
図3図3は、実施形態に係る生成システムの構成例を示す図である。
図4図4は、実施形態に係るクエリ情報記憶部の一例を示す図である。
図5図5は、実施形態に係るデータ記憶部の一例を示す図である。
図6図6は、実施形態に係る重み情報記憶部の一例を示す図である。
図7図7は、実施形態に係る生成装置が実行する生成処理の流れの一例を示すフローチャートである。
図8図8は、実施形態に係る生成装置が実行する提供処理の流れの一例を示すフローチャートである。
図9図9は、生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る生成装置、生成方法及び生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法及び生成プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
〔1.生成装置が示す生成処理の一例〕
まず、図1を用いて、生成装置100が実行する生成処理の一例について説明する。図1は、実施形態に係る生成装置100が実行する生成処理の一例を示す図である。図1では、生成装置100は、取得したクエリ情報に基づいて学習モデルを生成し、かかる学習モデルを用いて、受付けたクエリ情報に対応する検索クエリの候補に関する情報を提供する例を挙げて説明する。
【0011】
まず、学習モデルを生成する処理について説明する。図1の例では、利用者によって入力された検索クエリが示す文字列に綴り間違いがあり、利用者が連続してさらに、正しい綴りである文字列を検索クエリとして入力するものとする。
【0012】
利用者によって利用される端末装置10は、検索サーバ20に検索するための要求を送信する。そして、検索サーバ20は、端末装置10に検索するためのコンテンツ「EX検索」を提供する。そして、端末装置10は、検索するためのコンテンツ「EX検索」を表示する。この場合、利用者は、検索するためのコンテンツに含まれる検索窓に検索クエリとして文字列を入力するものとする。
【0013】
例えば、端末装置10は、「EX検索」に関するコンテンツC1を表示する。かかるコンテンツC1は、検索窓QW1を含む。ここで、利用者は、「XXトマト」を検索したいものとする。この場合、利用者は、検索窓QW1に、検索クエリとして、「XXトメト」と入力する。ここで、利用者は、綴り間違いに気づき、検索窓QW1に、正しい綴りである「XXトマト」を再度入力する。
【0014】
この場合、図1に示すように、検索サーバ20は、利用者によって入力された検索クエリであるクエリ情報を端末装置10から受付ける(ステップS1)。例えば、検索サーバ20は、端末装置10から検索窓に検索クエリが入力される毎に、クエリ情報を受付ける。より具体的な例を挙げて説明すると、検索サーバ20は、第1クエリ情報として「XXトメト」と、第2クエリ情報として「XXトマト」とを端末装置10から受付ける。
【0015】
続いて、生成装置100は、クエリ情報を検索サーバ20から取得する(ステップS2)。例えば、生成装置100は、所定の期間内に入力された検索クエリと、入力された日時とが対応付けられたクエリ情報を取得する。より具体的な例を挙げて説明すると、生成装置100は、第1クエリ情報として「XXトメト」と、第2クエリ情報として「XXトマト」とを含むクエリ情報を検索サーバ20から取得する。
【0016】
そして、生成装置100は、クエリ情報のうちから、第1クエリ情報と、第1クエリ情報が入力された後に連続的に入力された第2クエリ情報との組合せである第1データを抽出する(ステップS3)。例えば、生成装置100は、クエリ情報のうちから、所定の時間内に連続して入力された第1クエリ情報「XXトメト」と、第2クエリ情報「XXトマト」との組合せである第1データを抽出する。
【0017】
なお、第1クエリ情報が示す文字列と、第2クエリ情報が示す文字列との類似の度合いを算出するための処理には、編集距離等の従来技術を用いることで実現可能である。
【0018】
続いて、生成装置100は、第1クエリ情報と、第1クエリ情報との組合せである第2データを生成する(ステップS4)。例えば、生成装置100は、第1クエリ情報「XXトメト」と、第1クエリ情報「XXトメト」との組合せである第2データを生成する。
【0019】
また、生成装置100は、第3クエリ情報と、第3クエリ情報との組合せである第3データを生成する(ステップS5)。ここで、第3クエリ情報とは、クエリ情報のうちから抽出されるクエリ情報であって、第1及び第2クエリ情報を含まないクエリ情報である。
【0020】
例えば、クエリ情報のうちから、第3クエリ情報として「YYオレンジ」を抽出しているものとする。この場合、生成装置100は、第3クエリ情報「YYオレンジ」と、第3クエリ情報「YYオレンジ」との組合せである第3データを生成する。
【0021】
また、生成装置100は、第1データと、第2データと、第3データとの各々に異なる重みを重み付けて学習させた学習モデルを生成する(ステップS6)。
【0022】
ここで、図2を用いて学習モデルを生成する生成処理について説明する。図2は、実施形態に係る学習モデルの生成処理を示す概念図である。図2の例では、第1データDA1は、第1クエリ情報と、第2クエリ情報との組合せのデータある。また、第2データDA2は、第1クエリ情報と、第1クエリ情報との組合せのデータである。また、第3データDA3は、第3クエリ情報と、第3クエリ情報との組合せのデータである。
【0023】
ここで、生成装置100は、第1データと、第2データと、第3データとの各々に異なる重みを重み付けて学習させた学習モデルを生成する。ここで、重みは、各データに対応付けられる。図2の例では、第1データに関する情報として、データを識別する識別子であるデータID(Identifier)「D1」と、第1重み「W1」とが対応付けられる。また、第2データに関する情報として、データID「D2」と、第2重み「W2」とが対応付けられる。また、第3データに関する情報として、データID「D3」と、第3重み「W3」とが対応付けられる。すなわち、各重みは、第1データに対応する第1重みと、第2データに対応する第2重みと、第3データに対応する第3重みとである。
【0024】
また、重みは、正の値又は負の値をとり得る。図2の例では、第1重み「W1」が正の値であり、第2重み「W2」が負の値であり、第3重み「W3」が正の値である。また、第1重み「W1」は、第3重み「W3」よりも大きい値である。
【0025】
そして、生成装置100は、第1データと、第1重みとの組合せを正例(綴り間違いの学習データ)として、第2データと、第2重みとの組合せを負例(正しい綴りの学習データ)として、第3データと、第3重みとの組合せを負例として学習させることで、学習モデルを生成する。なお、かかる生成処理は、機械学習に関連する各種従来技術を用いることで実現可能である。
【0026】
より具体的な例を挙げて説明すると、生成装置100は、第1クエリ情報「XXトメト」と、第2クエリ情報「XXトマト」との組合せである第1データに対して第1重み「50」で重み付ける。また、生成装置100は、第1クエリ情報「XXトメト」と、第1クエリ情報「XXトメト」との組合せである第2データに対して第2重み「-20」で重み付ける。また、生成装置100は、第3クエリ情報「YYオレンジ」と、第3クエリ情報「YYオレンジ」との組合せである第3データに対して第3重み「2」で重み付ける。そして、生成装置100は、第1重みで重み付けられた第1データを正例として、第2重みで重み付けられた第2データを負例として、第3重みで重み付けられた第3データを負例として学習させることで、学習モデルを生成する。
【0027】
図1の説明に戻る。次に、学習モデルを用いたクエリの候補に関する情報を提供する処理について説明する。検索サーバ20は、クエリ情報を端末装置10から受付ける(ステップS7)。例えば、検索サーバ20は、「XXトメト」といったクエリ情報を端末装置10から受付ける。
【0028】
続いて、生成装置100は、クエリ情報を検索サーバ20から受付ける(ステップS8)。例えば、生成装置100は、クエリ情報「XXトメト」を検索サーバ20から受付ける。
【0029】
そして、生成装置100は、検索クエリの候補に関する情報を検索サーバ20に提供する(ステップS9)。具体的には、生成装置100は、受付けたクエリ情報に対応する正しい綴りである検索クエリの候補に関する情報を検索サーバ20に提供する。例えば、生成装置100は、学習モデルを用いて、正しい綴りの候補である検索クエリの候補に関する情報を選択し、かかるクエリの候補に関する情報を検索サーバ20に提供する。
【0030】
より具体的な例を挙げて説明すると、生成装置100は、受付けたクエリ情報「XXトメト」を学習モデルに入力することで、検索クエリの候補として、「XXトマト」を出力する。そして、生成装置100は、検索クエリの候補として、「XXトマト」に関する情報を検索サーバ20に提供する。
【0031】
続いて、検索サーバ20は、検索クエリの候補を端末装置10に提案する(ステップS10)。例えば、検索サーバ20は、検索クエリの候補として、「XXトマト」に関する情報を端末装置10に提案する。そして、端末装置10は、コンテンツC1上で、「XXトマト」を検索クエリの正しい綴りの候補として表示する。
【0032】
従来技術では、変換対象文字列の変換の候補を容易に選択するに過ぎないため、入力候補となり得る文字列を効率よく生成できるとは限らない場合があった。そこで、実施形態に係る生成装置100は、利用者によって入力された入力情報のうちから、第1入力情報と、第1入力情報が入力された後に連続的に入力された第2入力情報との組合せである第1データを抽出する。そして、生成装置100は、第1入力情報と、第1入力情報との組合せである第2データを生成し、第1データと、第2データとに異なる重みを重み付けて学習させた学習モデルを生成する。これにより、生成装置100は、従来の課題を解決する。
【0033】
従来、学習モデルを生成するために、正例や、負例を人の手で作成する必要があったため、学習モデルを生成するためのコストが費やされる場合があった。しかしながら、生成装置100は、利用者による入力情報から正例や、負例を生成するため、従来費やされるコストを低減することができる。このように、生成装置100は、適切な文字列を生成するための学習モデルを低いコストで生成することができる。
【0034】
〔2.生成システムの構成〕
図3に示すように、生成システム1は、端末装置10と、検索サーバ20と、生成装置100とを含む。端末装置10、検索サーバ20及び生成装置100は、ネットワークNを介して、有線又は無線により通信可能に接続される。なお、図3に示す生成システム1には、複数台の端末装置10や、複数台の検索サーバ20や、複数台の生成装置100が含まれてもよい。
【0035】
実施形態に係る端末装置10は、ブラウザに表示されるウェブページやアプリケーション用のコンテンツ等のコンテンツにアクセスする利用者によって利用される情報処理装置である。例えば、端末装置10は、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット端末や、携帯電話機や、PDA(Personal Digital Assistant)等や、スマートウォッチ等のウェアラブルデバイス(Wearable Device)等である。
【0036】
実施形態に係る検索サーバ20は、検索エンジンとして、利用者が入力した検索クエリに応じてネットワーク上での検索を行う情報処理装置であり、例えば、サーバ装置又はクラウドシステム等により実現される。例えば、検索サーバ200は、ネットワークNを介して、利用者が入力した検索クエリに応じたコンテンツや、SNS(Social Networking Service)サービス、電子商取引サービス又はオークションサービスに関するコンテンツ等を検索する。また、検索サーバ20は、これらのコンテンツにおいて、利用者が入力した検索クエリに応じた投稿情報や、商品情報や、画像情報等を検索する。また、検索サーバ20は、利用者が入力した検索クエリに応じたファイルや、アプリケーション等を検索してもよい。
【0037】
実施形態に係る生成装置100は、ネットワークNを介して、各種の装置と通信可能な情報処理装置であり、例えば、サーバ装置又はクラウドシステム等により実現される。例えば、生成装置100は、ネットワークNを介して、他の各種装置と通信可能に接続される。
【0038】
〔3.生成装置の構成〕
以下、上記した生成装置100が有する機能構成の一例について説明する。図3は、実施形態に係る生成装置100の構成例を示す図である。図3に示すように、生成装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0039】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線又は無線で接続され、他の各種装置との間で情報の送受信を行う。
【0040】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部120は、クエリ情報記憶部121と、データ記憶部122と、重み情報記憶部123と、学習モデル124とを有する。
【0041】
(クエリ情報記憶部121について)
クエリ情報記憶部121は、利用者によって入力された検索クエリに関する情報を記憶する。ここで、図4に、実施形態に係るクエリ情報記憶部121の一例を示す。図4に示した例では、クエリ情報記憶部121は、「クエリID」、「日時」、「クエリ内容」といった項目を有する。
【0042】
「クエリID」は、利用者によって入力された検索クエリを識別する識別子である。「日時」は、「クエリID」に対応付けられた検索クエリが入力された日時に関する情報である。「クエリ内容」は、「クエリID」に対応付けられたクエリ内容である。
【0043】
例えば、図4では、クエリIDによって識別された「Q1」は、日時が「DT1」であり、クエリ内容が「QU1」である。なお、図4に示した例では、日時等を、「DT1」等の抽象的な符号で表現したが、日時等は、具体的な数値や、具体的な文字列や、日時を示す各種情報を含むファイルのファイル形式等であってもよい。
【0044】
(データ記憶部122について)
データ記憶部122は、クエリ情報の組合せであるデータに関する情報を記憶する。ここで、図5に、実施形態に係るデータ記憶部122の一例を示す。図5に示した例では、データ記憶部122は、「データID」、「クエリID」、「日時」、「クエリ内容」といった項目を有する。
【0045】
「データID」は、データを識別する識別子である。「クエリID」は、「クエリID」に対応付けられた検索クエリを識別する識別子である。「日時」は、「データID」に対応付けられた検索クエリが入力された日時に関する情報である。「クエリ内容」は、「データID」に対応付けられたクエリ内容である。
【0046】
例えば、図5では、データIDによって識別された「D1」は、クエリIDが「Q1」であり、日時が「DT1」であり、クエリ内容が「QU1」である。
【0047】
(重み情報記憶部123について)
重み情報記憶部123は、データと、重みとが対応付けられたデータセットに関する情報を記憶する。ここで、図6に、実施形態に係る重み情報記憶部123の一例を示す。図6に示した例では、重み情報記憶部123は、「データセットID」、「第1データに関する情報」、「第2データに関する情報」、「第3データに関する情報」といった項目を有する。例えば、各データに関する情報は、「データID」と、「重み」とに関する情報を含む。
【0048】
「データID」は、データを識別する識別子である。「重み」は、「データID」に対応付けられた重みに関する情報である。
【0049】
例えば、図6では、データセットIDによって識別された「SE1」は、第1データに関する情報であるデータIDが「D1」であり、重みが「W1」である。「SE1」は、第2データに関する情報であるデータIDが「D2」であり、重みが「W2」である。「SE1」は、第3データに関する情報であるデータIDが「D3」であり、重みが「W3」である。なお、図6に示した例では、重み等を、「W1」等の抽象的な符号で表現したが、重み等は、具体的な数値や、重みを示す各種情報を含むファイルのファイル形式等であってもよい。
【0050】
(制御部130について)
制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、生成装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムの一例)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0051】
図3に示すように、制御部130は、取得部131と、抽出部132と、生成部133と、受付部134と、提供部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図3に示した接続関係に限られず、他の接続関係であってもよい。
【0052】
(取得部131について)
取得部131は、各種情報を取得する。具体的には、取得部131は、検索サーバ20から、利用者によって入力された検索クエリを示すクエリ情報(入力情報の一例)を取得する。例えば、取得部131は、所定の期間内に入力された検索クエリと、入力された日時とが対応付けられたクエリ情報を取得する。
【0053】
より具体的な例を挙げて説明すると、取得部131は、第1クエリ情報として「XXトメト」と、第2クエリ情報として「XXトマト」とを含むクエリ情報を検索サーバ20から取得する。そして、取得部131は、かかるクエリ情報をクエリ情報記憶部121に記憶する。
【0054】
(抽出部132について)
抽出部132は、各種情報を抽出する。具体的には、抽出部132は、クエリ情報記憶部121に記憶されるクエリ情報のうちから、第1クエリ情報や、第2クエリ情報や、第3クエリ情報を抽出する。
【0055】
また、抽出部132は、クエリ情報記憶部121に記憶されるクエリ情報のうちから、第1クエリ情報と、第1クエリ情報が入力された後に連続的に入力された第2クエリ情報との組合せである第1データを抽出する。
【0056】
例えば、抽出部132は、クエリ情報記憶部121に記憶されるクエリ情報のうちから、所定の時間内に連続して入力された第1クエリ情報「QU1」と、第2クエリ情報「QU2」との組合せである第1データを抽出する。そして、抽出部132は、かかる第1データをデータ記憶部122に記憶する。
【0057】
(生成部133について)
生成部133は、各種情報を生成する。具体的には、生成部133は、第1クエリ情報と、第1クエリ情報との組合せである第2データを生成する。例えば、生成部133は、第1クエリ情報「QU1」と、第1クエリ情報「QU1」との組合せである第2データを生成する。そして、生成部133は、かかる第2データをデータ記憶部122に記憶する。
【0058】
また、生成部133は、第3クエリ情報と、第3クエリ情報との組合せである第3データを生成する。例えば、生成部133は、第3クエリ情報「QU3」と、第3クエリ情報「QU3」との組合せである第3データを生成する。そして、生成部133は、かかる第3データをデータ記憶部122に記憶する。
【0059】
また、生成部133は、重み情報記憶部123を参照して、第1データと、第2データと、第3データとの各々に異なる重みを重み付けて学習させた学習モデル124を生成する。例えば、生成部133は、重み情報記憶部123を参照して、第1データが示すデータID「D1」と、第1重み「W1」との組合せを正例として、第2データが示すデータID「D2」と、第2重み「W2」との組合せを負例として、第3データが示すデータID「D3」と、第3重み「W3」との組合せを負例として学習させることで、学習モデル124を生成する。ここで、図6の例では、第1重み「W1」が正の値であり、第2重み「W2」が負の値であり、第3重み「W3」が正の値である。また、第1重み「W1」は、第3重み「W3」よりも大きい値である。
【0060】
より具体的な例を挙げて説明すると、生成部133は、第1クエリ情報「QU1」と、第2クエリ情報「QU2」との組合せである第1データに対して第1重み「50」で重み付ける。また、生成部133は、第1クエリ情報「QU1」と、第1クエリ情報「QU1」との組合せである第2データに対して第2重み「-20」で重み付ける。また、生成部133は、第3クエリ情報「QU3」と、第3クエリ情報「QU3」との組合せである第3データに対して第3重み「2」で重み付ける。そして、生成部133は、第1重みで重み付けられた第1データを正例として、第2重みで重み付けられた第2データを負例として、第3重みで重み付けられた第3データを負例として学習させることで、学習モデル124を生成する。
【0061】
(受付部134について)
受付部134は、各種情報を受付ける。具体的には、受付部134は、クエリ情報を検索サーバから受付ける。例えば、受付部134は、クエリ情報「XXトメト」を検索サーバ20から受付ける。
【0062】
(提供部135について)
提供部135は、各種情報を提供する。具体的には、提供部135は、検索クエリの候補に関する情報を検索サーバ20に提供する。例えば、提供部135は、受付けたクエリ情報に対応する正しい綴りである検索クエリの候補に関する情報を検索サーバ20に提供する。
【0063】
例えば、提供部135は、学習モデル124を用いて、正しい綴りの候補である検索クエリの候補に関する情報を選択し、かかるクエリの候補に関する情報を検索サーバ20に提供する。
【0064】
より具体的な例を挙げて説明すると、提供部135は、受付けたクエリ情報「XXトメト」を学習モデル124に入力することで、検索クエリの候補として、「XXトマト」を出力する。そして、提供部135は、検索クエリの候補として、「XXトマト」に関する情報を検索サーバ20に提供する。
【0065】
〔4.処理手順(1)生成処理〕
次に、図7を用いて、実施形態に係る生成装置100が実行する生成処理の手順について説明する。図7は、実施形態に係る生成装置100が実行する生成処理の流れの一例を示すフローチャートである。
【0066】
図7に示すように、取得部131は、クエリ情報を取得する(ステップS101)。具体的には、取得部131は、クエリ情報を取得していない場合(ステップS101;No)、クエリ情報を取得するまで待機する。
【0067】
一方、抽出部132は、取得部131がクエリ情報を取得した場合(ステップS101;Yes)、クエリ情報のうちから、第1クエリ情報と、第1クエリ情報が入力された後に連続的に入力された第2クエリ情報との組合せである第1データを抽出する(ステップS102)。
【0068】
そして、生成部133は、第1クエリ情報と、第1クエリ情報との組合せである第2データを生成する(ステップS103)。また、生成部133は、第3クエリ情報と、第3クエリ情報との組合せである第3データを生成する(ステップS104)。具体的には、抽出部132は、クエリ情報記憶部121に記憶されるクエリ情報のうちから、第3クエリ情報を抽出する。そして、生成部133は、第3クエリ情報と、第3クエリ情報との組合せである第3データを生成する。
【0069】
そして、生成部133は、第1データと、第2データと、第3データとに異なる重みを重み付けて学習させた学習モデルを生成する(ステップS105)。
【0070】
〔5.処理手順(2)提供処理〕
次に、図8を用いて、実施形態に係る生成装置100が実行する提供処理の手順について説明する。図8は、実施形態に係る生成装置100が実行する提供処理の流れの一例を示すフローチャートである。
【0071】
図8に示すように、受付部134は、クエリ情報を受付ける(ステップS201)。具体的には、受付部134は、クエリ情報を受付けていない場合(ステップS201;No)、クエリ情報を受付けるまで待機する。一方、提供部135は、受付部134がクエリ情報を受付けた場合(ステップS201;Yes)、検索クエリの候補に関する情報を提供する(ステップS202)。
【0072】
〔6.変形例〕
上述した生成装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、生成装置100の他の実施形態について説明する。
【0073】
〔6-1.適用例〕
上記実施形態では、検索サーバ20に検索クエリが入力された場合を例に挙げて説明したが、これに限定されなくともよい。例えば、テキスト等の文字列を編集する場合や、綴りの訂正を行う場合に適用することが可能である。例えば、適用例は、テキストを編集するアプリケーション等である。
【0074】
〔6-2.生成処理〕
上記実施形態では、生成装置100の生成部133は、第1データと、第2データと、第3データとの各々に異なる重みを重み付けて学習させた学習モデルを生成する例について説明したが、これに限定されない。例えば、生成部133は、第1データと、第2データとに異なる重みを重み付けて学習させた学習モデルを生成してもよい。
【0075】
ここで、第1データは、第1クエリ情報と、第2クエリ情報との組合せのデータあり、第1重みと対応付けられる。また、第2データは、第1クエリ情報と、第1クエリ情報との組合せのデータであり、第2重みと対応付けられる。なお、第1重みが正の値であり、第2重みが負の値である。
【0076】
この場合、生成部133は、第1データと、第1重みとの組合せを正例として、第2データと、第2重みとの組合せを負例として学習させることで、学習モデルを生成してもよい。
【0077】
より具体的な例を挙げて説明すると、生成部133は、第1クエリ情報「XXトメト」と、第2クエリ情報「XXトマト」との組合せである第1データに対して第1重み「50」で重み付ける。また、生成部133は、第1クエリ情報「XXトメト」と、第1クエリ情報「XXトメト」との組合せである第2データに対して第2重み「-20」で重み付ける。そして、生成部133は、第1重みで重み付けられた第1データを正例として、第2重みで重み付けられた第2データを負例として学習させることで、学習モデルを生成してもよい。
【0078】
このように、実施形態に係る生成装置100の生成部133は、第1データと、第2データとに異なる重みを重み付けて学習させた学習モデルを生成するため、適切な文字列を生成するための学習モデルを低いコストで生成することができる。
【0079】
〔6-3.複数のデータ〕
上記実施形態では、生成装置100の生成部133は、第1データと、第2データと、第3データとの各々に異なる重みを重み付けて学習させた学習モデルを生成する例について説明したが、これに限定されない。例えば、生成部133は、各データの各々が複数である場合にも、上記生成処理を実行可能である。
【0080】
例えば、生成部133は、複数の第1データと、複数の第2データと、複数の第3データと毎に異なる重みを重み付けて学習させた学習モデルを生成してもよい。
【0081】
ここで、複数の第1データの各々は、第1クエリ情報と、第2クエリ情報との組合せのデータあり、第1重みと対応付けられる。また、複数の第2データの各々は、第1クエリ情報と、第1クエリ情報との組合せのデータであり、第2重みと対応付けられる。また、複数の第3データの各々は、第3クエリ情報と、第3クエリ情報との組合せのデータであり、第3重みと対応付けられる。なお、第1重みが正の値であり、第2重みが負の値であり、第3重みが正の値である。また、第1重みは、第3重みよりも大きい値である。
【0082】
この場合、生成部133は、複数の第1データと、第1重みとの組合せを正例として、複数の第2データと、第2重みとの組合せを負例として、複数の第3データと、第3重みとの組合せを負例として学習させることで、学習モデルを生成してもよい。
【0083】
より具体的な例を挙げて説明すると、生成部133は、複数の第1データに対して第1重み「50」で重み付ける。また、生成部133は、複数の第2データに対して第2重み「-20」で重み付ける。また、生成部133は、複数の第3データに対して第3重み「2」で重み付ける。そして、生成部133は、第1重みで重み付けられた複数の第1データを正例として、第2重みで重み付けられた複数の第2データを負例として、第3重みで重み付けられた複数の第3データを負例として学習させることで、学習モデルを生成してもよい。
【0084】
なお、上記例では、複数のデータ毎に異なる重みで重み付ける例を挙げて説明したが、これに限定されなくともよい。例えば、複数のデータの各々に異なる重みで重み付けてもよい。
【0085】
例えば、複数の第1データの各々は、第1クエリ情報と、第2クエリ情報との組合せのデータあり、異なる重みと対応付けられる。また、複数の第2データの各々は、第1クエリ情報と、第1クエリ情報との組合せのデータであり、異なる重みと対応付けられる。また、複数の第3データの各々は、第3クエリ情報と、第3クエリ情報との組合せのデータであり、異なる重みと対応付けられてもよい。
【0086】
このように、実施形態に係る生成装置100の生成部133は、複数の第1データと、複数の第2データと、複数の第3データと毎に異なる重みを重み付けて学習させた学習モデルを生成するため、適切な文字列を生成するための学習モデルを低いコストで生成することができる。
【0087】
〔6-4.プログラム〕
また、上述した実施形態に係る生成装置100は、例えば、図9に示すような構成のコンピュータ1000によって実現される。図9は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0088】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0089】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0090】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0091】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0092】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0093】
例えば、コンピュータ1000が生成装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。
【0094】
〔6-5.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0095】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0096】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0097】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【0098】
〔7.効果〕
上述してきたように、実施形態に係る生成装置100は、抽出部132と、生成部133とを有する。抽出部132は、利用者によって入力された入力情報のうちから、第1入力情報と、第1入力情報が入力された後に連続的に入力された第2入力情報との組合せである第1データを抽出する。生成部133は、第1入力情報と、第1入力情報との組合せである第2データを生成し、第1データと、第2データとに異なる重みを重み付けて学習させた学習モデルを生成する。
【0099】
これにより、実施形態に係る生成装置100は、第1入力情報と、第1入力情報との組合せである第2データを生成し、第1データと、第2データとに異なる重みを重み付けて学習させた学習モデルを生成するため、適切な文字列を生成するためのデータを生成することができる。
【0100】
また、実施形態に係る生成装置100において、生成部133は、複数の第1データと、複数の第2データとに異なる重みを重み付けて学習させた学習モデルを生成する。
【0101】
これにより、実施形態に係る生成装置100は、複数の第1データと、複数の第2データとに異なる重みを重み付けて学習させた学習モデルを生成するため、適切な文字列を生成するためのデータを生成することができる。
【0102】
また、実施形態に係る生成装置100において、生成部133は、第1データを正例として学習させ、第2データを負例として学習させた学習モデルを生成する。
【0103】
これにより、実施形態に係る生成装置100は、第1データを正例として学習させ、第2データを負例として学習させた学習モデルを生成するため、適切な文字列を生成するためのデータを生成することができる。
【0104】
また、実施形態に係る生成装置100において、生成部133は、第1データに対応する第1重みを正の値として学習させ、第2データに対応する第2重みを負の値として学習させた学習モデルを生成する。
【0105】
これにより、実施形態に係る生成装置100は、第1データに対応する第1重みを正の値として学習させ、第2データに対応する第2重みを負の値として学習させた学習モデルを生成するため、適切な文字列を生成するためのデータを生成することができる。
【0106】
また、実施形態に係る生成装置100において、抽出部132は、利用者によって入力された入力情報である第3入力情報をさらに抽出し、生成部133は、第3入力情報と、第3入力情報との組合せである第3データを生成し、第1データと、第2データと、第3データとの各々に異なる重みを重み付けて学習させた学習モデルを生成する。
【0107】
これにより、実施形態に係る生成装置100は、第3入力情報と、第3入力情報との組合せである第3データを生成し、第1データと、第2データと、第3データとの各々に異なる重みを重み付けて学習させた学習モデルを生成するため、適切な文字列を生成するためのデータを生成することができる。
【0108】
また、実施形態に係る生成装置100において、生成部133は、第1データを正例として学習させ、第2データを負例として学習させ、第3データを負例として学習させた学習モデルを生成する。
【0109】
これにより、実施形態に係る生成装置100は、第1データを正例として学習させ、第2データを負例して学習させ、第3データを負例として学習させた学習モデルを生成するため、適切な文字列を生成するためのデータを生成することができる。
【0110】
また、実施形態に係る生成装置100において、生成部133は、第1データに対応する第1重みを正の値として学習させ、第2データに対応する第2重みを負の値として学習させ、第3データに対応する第3重みを正の値として学習させた学習モデルを生成する。
【0111】
これにより、実施形態に係る生成装置100は、第1データに対応する第1重みを正の値として学習させ、第2データに対応する第2重みを負の値として学習させ、第3データに対応する第3重みを正の値として学習させた学習モデルを生成するため、適切な文字列を生成するためのデータを生成することができる。
【0112】
また、実施形態に係る生成装置100において、生成部133は、第1重みが第3重みよりも大きい値として学習させた学習モデルを生成する。
【0113】
これにより、実施形態に係る生成装置100は、第1重みが第3重みよりも大きい値として学習させた学習モデルを生成するため、適切な文字列を生成するためのデータを生成することができる。
【0114】
また、実施形態に係る生成装置100において、抽出部132は、利用者によって入力されたクエリに関するクエリ情報のうちから、所定の条件を満たすクエリ情報の組合せを抽出する。
【0115】
これにより、実施形態に係る生成装置100は、利用者によって入力されたクエリに関するクエリ情報のうちから、所定の条件を満たすクエリ情報の組合せを抽出するため、適切なクエリ情報を抽出することができる。
【0116】
また、実施形態に係る生成装置100において、抽出部132は、所定の条件を満たすクエリ情報として、綴り間違いである第1クエリ情報と、第1クエリ情報が入力された後に連続的に入力された第2クエリ情報との組合せを抽出する。
【0117】
これにより、実施形態に係る生成装置100は、所定の条件を満たすクエリ情報として、綴り間違いである第1クエリ情報と、第1クエリ情報が入力された後に連続的に入力された第2クエリ情報との組合せを抽出するため、適切なクエリ情報を抽出することができる。
【0118】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【符号の説明】
【0119】
N ネットワーク
1 生成システム
10 端末装置
20 検索サーバ
100 生成装置
110 通信部
120 記憶部
121 クエリ情報記憶部
122 データ記憶部
123 重み情報記憶部
124 学習モデル
130 制御部
131 取得部
132 抽出部
133 生成部
134 受付部
135 提供部
図1
図2
図3
図4
図5
図6
図7
図8
図9