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

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

▶ 富士通株式会社の特許一覧

特開2022-165715情報検索プログラム、情報検索方法、および情報検索装置
<>
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図1
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図2
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図3
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図4
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図5
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図6
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図7
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図8
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図9
  • 特開-情報検索プログラム、情報検索方法、および情報検索装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022165715
(43)【公開日】2022-11-01
(54)【発明の名称】情報検索プログラム、情報検索方法、および情報検索装置
(51)【国際特許分類】
   G06F 16/332 20190101AFI20221025BHJP
   G06F 40/58 20200101ALI20221025BHJP
   G06F 16/9032 20190101ALI20221025BHJP
【FI】
G06F16/332
G06F40/58
G06F16/9032
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021071178
(22)【出願日】2021-04-20
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】押尾 翔平
(72)【発明者】
【氏名】岸下 直弘
(72)【発明者】
【氏名】井上 茂乗
(72)【発明者】
【氏名】中島 正弘
(72)【発明者】
【氏名】塙 大紀
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AA03
5B175GC02
(57)【要約】
【課題】特定言語のナレッジを特定言語以外の言語でも検索できるようにするという需要が存在する。従来法では、日本語の情報を検索する場合、日本人らしい日本語で指定された検索クエリと、翻訳を通した日本語での検索クエリとの間で語彙に差が生じてしまい、検索結果に大きな差が生じる場合があった。
【解決手段】第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、検索条件が第1言語である場合、検索条件を第1言語と異なる第2言語に翻訳し、第2言語に翻訳された検索条件を第1言語に再翻訳し、第1言語に再翻訳された検索条件を機械学習モデルに入力して情報検索を行い、検索条件が第1言語と異なる言語である場合、検索条件を第1言語に翻訳し、第1言語に翻訳された検索条件を機械学習モデルに入力して情報検索を行う処理をコンピュータに実行させる。
【選択図】図7
【特許請求の範囲】
【請求項1】
第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、
検索条件が前記第1言語である場合、
前記検索条件を前記第1言語と異なる第2言語に翻訳し、
前記第2言語に翻訳された前記検索条件を前記第1言語に再翻訳し、
前記第1言語に再翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行い、
前記検索条件が前記第1言語と異なる言語である場合、
前記検索条件を前記第1言語に翻訳し、
前記第1言語に翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行う
処理をコンピュータに実行させることを特徴とする情報検索プログラム。
【請求項2】
前記第1言語に翻訳または再翻訳された前記検索条件を用いて前記訓練データを生成し、
生成された前記訓練データを用いて前記機械学習モデルを再訓練する
処理を前記コンピュータにさらに実行させることを特徴とする請求項1に記載の情報検索プログラム。
【請求項3】
前記訓練データを生成する処理は、前記第1言語の前記検索条件を特徴量とし、前記検索条件に対する前記情報検索の結果として出力する前記第1言語のデータを正解ラベルとする、前記訓練データを生成する処理を含むことを特徴とする請求項1または2に記載の情報検索プログラム。
【請求項4】
前記第1言語と異なる言語に翻訳された前記情報検索の結果を、前記情報検索を要求した情報処理端末に送信する処理を前記コンピュータにさらに実行させることを特徴とする請求項1乃至3のいずれか一項に記載の情報検索プログラム。
【請求項5】
前記情報検索の結果を前記情報処理端末に送信する処理は、前記第1言語の前記情報検索の結果に対応する、前記第1言語と異なる言語に予め翻訳されたデータを、前記情報検索の結果として前記情報処理端末に送信する処理を含むことを特徴とする請求項4に記載の情報検索プログラム。
【請求項6】
第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、
検索条件が前記第1言語である場合、
前記検索条件を前記第1言語と異なる第2言語に翻訳し、
前記第2言語に翻訳された前記検索条件を前記第1言語に再翻訳し、
前記第1言語に再翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行い、
前記検索条件が前記第1言語と異なる言語である場合、
前記検索条件を前記第1言語に翻訳し、
前記第1言語に翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行う
処理をコンピュータが実行することを特徴とする情報検索方法。
【請求項7】
第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、
検索条件が前記第1言語である場合、
前記検索条件を前記第1言語と異なる第2言語に翻訳し、
前記第2言語に翻訳された前記検索条件を前記第1言語に再翻訳し、
前記第1言語に再翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行い、
前記検索条件が前記第1言語と異なる言語である場合、
前記検索条件を前記第1言語に翻訳し、
前記第1言語に翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行う
制御部を有することを特徴とする情報検索装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報検索プログラム、情報検索方法、および情報検索装置に関する。
【背景技術】
【0002】
問合せ業務支援のため、例えば、社内に存在するドキュメントやFAQ(Frequently Asked Questions)などのナレッジを検索できるナレッジ活用の機能が備わっている製品がある。当該製品は、例えば、ユーザからの問合せなど、日々発生する全てのインシデントやユーザとのやり取りの履歴を問合せ情報として一元管理する。また、当該製品は、精度の高いナレッジ検索を実現するため、例えば、検索文を特徴量とし、当該検索文に対して表示したいナレッジを正解ラベルとして機械学習により生成したモデルを用いる。
【0003】
このような製品において、特定言語で蓄積されているナレッジを、特定言語以外の他言語でも検索および活用できるようにするという需要が存在する。当該需要を満たすための方法として、例えば、特定言語の検索対象に対して他言語で検索を行う場合、翻訳エンジンを用いて検索クエリを特定言語に翻訳して検索を行ない、検索結果を他言語に翻訳し、ユーザに提示する方法がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-71865号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の方法では、検索対象と同一言語の検索クエリと、それ以外の言語の検索クエリとで、検索性能に差が生じる場合があった。より具体的には、例えば、従来の方法では、日本語の情報を検索する場合、日本人らしい日本語で指定された検索クエリと、翻訳を通した日本語での検索クエリとの間で語彙に差が生じてしまい、検索結果に大きな差が生じる場合があった。
【0006】
一つの側面では、機械学習モデルを用いた情報検索の精度を向上させることを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、検索条件が第1言語である場合、検索条件を第1言語と異なる第2言語に翻訳し、第2言語に翻訳された検索条件を第1言語に再翻訳し、第1言語に再翻訳された検索条件を機械学習モデルに入力して情報検索を行い、検索条件が第1言語と異なる言語である場合、検索条件を第1言語に翻訳し、第1言語に翻訳された検索条件を機械学習モデルに入力して情報検索を行う処理をコンピュータに実行させる。
【発明の効果】
【0008】
一つの側面では、機械学習モデルを用いた情報検索の精度を向上させる。
【図面の簡単な説明】
【0009】
図1図1は、従来方法にかかるドキュメント検索における言語間の挙動差の一例を示す図である。
図2図2は、実施例1にかかる情報処理システムの全体構成例を示す図である。
図3図3は、実施例1にかかる情報検索装置100の機能構成を示すブロック図である。
図4図4は、実施例1にかかる検索対象ドキュメント121の一例を示す図である。
図5図5は、実施例1にかかる置換用ドキュメント122の一例を示す図である。
図6図6は、実施例1にかかるフィードバックデータ123および訓練データ124の一例を示す図である。
図7図7は、実施例1にかかる全体の処理構成の一例を示す図である。
図8図8は、実施例1にかかるドキュメント検索の一例を示す図である。
図9図9は、実施例1にかかる情報検索処理の流れを示すフローチャートである。
図10図10は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示する情報検索プログラム、情報検索方法、および情報検索装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【0011】
まず、図1を用いて、従来方法の課題について、より具体的に説明する。図1は、従来方法にかかるドキュメント検索における言語間の挙動差の一例を示す図である。図1の例は、日本語で蓄積されたドキュメントを、検索エンジンを用いて検索する場合を示す。なお、従来方法を含め、検索エンジンは、Webを介した検索システムに含まれるものであってもよいし、ローカルの検索システムのものであってもよい。
【0012】
図1に示すように、従来方法では、例えば、ドキュメント検索を行う際、英語を用いるユーザは、検索システムに対し検索クエリを英語で入力する。すると、入力された英語の検索クエリは、検索システムに含まれる翻訳エンジンによって日本語に翻訳される。そして、日本語に翻訳された検索クエリを用いて検索エンジンによって日本語のドキュメントが検索される。
【0013】
一方、日本語を用いるユーザの場合は、入力された日本語の検索クエリをそのまま用いて日本語のドキュメントが検索される。この場合、日本語の検索クエリには、ネイティブな日本人が用いる日本語の表現が含まれる場合がある。そうすると、図1に示すように、英語ユーザと日本語ユーザとで同じようなドキュメントを検索する場合であっても、日本人が入力した日本語と、翻訳を通した日本語との表現の違いにより検索結果に差が生じる場合がある。
【0014】
そこで、本願の開示する情報検索プログラム、情報検索方法、および情報検索装置では、このような検索結果の差を軽減し、情報検索の精度を向上させることを目的とする。なお、以下の説明では、情報検索の対象をドキュメントとしているが、情報検索の対象は、ドキュメントやFAQをはじめ特定言語で記述された様々な情報を含んでよい。
【0015】
[全体構成例]
図2は、実施例1にかかる情報処理システムの全体構成例を示す図である。図2に示すように、実施例1にかかる情報処理システムは、情報検索装置100と、ユーザ端末200とがネットワークNを介して相互に通信可能に接続されるシステムである。なお、ネットワークNには、有線や無線を問わず、インターネットやイントラネットなどの各種通信網を採用できる。また、ネットワークNは、単一のネットワークではなく、例えば、イントラネットとインターネットとがゲートウェイなどネットワーク装置やその他の装置(図示せず)を介して構成されてよい。
【0016】
情報検索装置100は、実施例1を含む本実施形態の実行主体であり、ユーザ端末200を介して入力された検索クエリに基づいて、第1言語で記述された情報を検索し、検索結果をユーザ端末200に送信する。
【0017】
なお、情報検索装置100は、ユーザ端末200から受信した検索クエリが第1言語以外である場合、第1言語に翻訳し、翻訳された検索クエリで情報検索を行う。一方、情報検索装置100は、ユーザ端末200から受信した検索クエリが第1言語である場合、第2言語に翻訳した後、第1言語に再翻訳し、再翻訳された検索クエリで情報検索を行う。ここで、第1言語は、例えば、日本語であってよく、第2言語は英語であってよいが、各々、それら以外の言語であってよい。しかしながら、上述したように、あくまでも、情報検索装置100は、第1言語で記述された情報を、翻訳または再翻訳された第1言語の検索クエリで検索する。
【0018】
このように、情報検索装置100は、検索クエリの言語がどのような言語であっても、第1言語の検索クエリに翻訳または再翻訳することによって平易な第1言語で情報を検索でき、言語間における検索性能の差を軽減できる。なお、情報検索装置100は、図2では1台のコンピュータとして示しているが、複数台のコンピュータで構成される分散型コンピューティングシステムであってもよい。また、情報検索装置100は、クラウドコンピューティングサービスを提供するクラウドサービス提供者によって管理されるクラウドサーバ装置であってもよい。
【0019】
ユーザ端末200は、ドキュメントやFAQなどの情報を検索するユーザによって使用される情報処理端末である。ユーザ端末200は、ユーザの職場や自宅などに設置されるデスクトップPC(Personal Computer)やノートPCであってもよいし、スマートフォンやタブレットPCなどのモバイル端末であってもよい。
【0020】
ユーザは、ユーザ端末200を介して、例えば、情報検索装置100によって提供されるWebサイトやアプリケーションにアクセスし、情報検索のための検索条件である検索クエリを入力し、検索結果を得る。ここで、ユーザは日本語のみならず様々な言語圏のユーザであってよく、入力される検索クエリは、様々な言語で入力され得る。また、情報検索をアプリケーションによって行う場合、ユーザ端末200には、当該アプリケーションが情報検索装置100などから予めダウンロートされ、インストールされてよい。
【0021】
[情報検索装置100の機能構成]
次に、図2に示される情報検索装置100の機能構成について説明する。図3は、実施例1にかかる情報検索装置100の機能構成を示すブロック図である。図3に示すように、情報検索装置100は、通信部110、記憶部120、および制御部130を有する。
【0022】
通信部110は、ユーザ端末200など、他の装置との間の通信を制御する処理部であり、例えば、ネットワークインタフェースカードなどの通信インタフェースである。
【0023】
記憶部120は、各種データや、制御部130が実行するプログラムを記憶する記憶装置の一例であり、例えば、メモリやハードディスクなどである。記憶部120は、検索対象ドキュメント121、置換用ドキュメント122、フィードバックデータ123、訓練データ124、および検索モデル125を記憶する。
【0024】
検索対象ドキュメント121は、例えば、情報検索の対象となる、ドキュメントやFAQなどに関する情報を記憶する。なお、検索対象のドキュメントなどは、例えば、日本語である第1言語によって記述される。
【0025】
図4は、実施例1にかかる検索対象ドキュメント121の一例を示す図である。図4に示すように、検索対象ドキュメント121は、「ID、タイトル、本文、言語」などを対応付けて記憶する。
【0026】
検索対象ドキュメント121に記憶される「ID」は、例えば、検索対象のドキュメントを一意に示す識別子である。また、「タイトル」および「本文」は、それぞれ、検索対象のドキュメントのタイトルおよび本文である。また、「言語」は、検索対象のドキュメントを記述している第1言語を示す略称など、例えば、日本語であればJa、英語であればEnである。
【0027】
置換用ドキュメント122は、例えば、検索対象ドキュメント121に記憶された検索対象のドキュメントと置き換えられてユーザ端末200に出力される置換用のドキュメントなどに関する情報を記憶する。置換用のドキュメントは、例えば、英語である第2言語によって記述される。置換用のドキュメントは、例えば、第1言語よりも第2言語のドキュメントの取得を希望するユーザに対して、検索対象のドキュメントに代えて、または検索対象のドキュメントと併せてユーザに提示するためのドキュメントである。
【0028】
図5は、実施例1にかかる置換用ドキュメント122の一例を示す図である。図5に示すように、置換用ドキュメント122は、「ID、タイトル、本文、言語、対応するID」などを対応付けて記憶する。
【0029】
置換用ドキュメント122に記憶される「ID」は、例えば、置換用のドキュメントを一意に示す識別子である。また、「タイトル」および「本文」は、それぞれ、置換用のドキュメントのタイトルおよび本文である。また、「言語」は、置換用のドキュメントを記述している第2言語を示す略称などである。また、「対応するID」は、対応する検索対象のドキュメントの識別子、例えば、検索対象ドキュメント121の「ID」であり、これにより、検索対象ドキュメント121と置換用ドキュメント122とを紐づけることができる。
【0030】
フィードバックデータ123は、例えば、ユーザに提示した、検索対象のドキュメントまたは置換用のドキュメントに対するユーザからのフィードバックに関する情報を記憶する。フィードバックデータ123は、例えば、情報検索装置100が、ユーザ端末200を介して、提示したドキュメントは正しかったかまたは役に立ったかなどをユーザに確認することにより生成されるデータである。
【0031】
図6は、実施例1にかかるフィードバックデータ123および訓練データ124の一例を示す図である。図6に示すように、フィードバックデータ123は、「検索クエリ、翻訳/再翻訳後のクエリ、正しくヒットしたドキュメント」などを対応付けて記憶する。
【0032】
フィードバックデータ123に記憶される「検索クエリ」は、ユーザによって入力された検索条件であって、例えば、検索クエリや検索ワードであってよい。「検索クエリ」は、第1言語のみならず、様々な言語で入力され得る。また、「翻訳/再翻訳後のクエリ」は、「検索クエリ」を第1言語に翻訳または再翻訳した検索クエリや検索ワードである。「検索クエリ」が、第1言語以外である場合は第1言語に翻訳され、第1言語である場合は第1言語以外の言語に翻訳された後、第1言語に再翻訳され、「翻訳/再翻訳後のクエリ」が生成される。「正しくヒットしたドキュメント」は、例えば、検索クエリに対して正しかったまたは役に立ったなどとユーザによって示されたドキュメントの識別子である。なお、「正しくヒットしたドキュメント」は、ユーザに提示されたドキュメントの識別子であるため、ユーザ端末200に出力された、検索対象のドキュメントや置換用のドキュメントの識別子であり得る。また、「正しくヒットしたドキュメント」は、提示したドキュメントに対する正否の回答であってもよい。
【0033】
訓練データ124は、例えば、翻訳または再翻訳された第1言語の検索クエリを特徴量とし、検索クエリに対して情報検索の結果として出力する第1言語のドキュメントを正解ラベルとして訓練される機械学習モデルの訓練データである。なお、訓練データ124は、第1言語によって記述された訓練データである。
【0034】
図6に示すように、訓練データ124は、「検索文、上位に表示されるべきドキュメント」などを対応付けて記憶する。訓練データ124に記憶される「検索文」は翻訳または再翻訳された第1言語の検索クエリである。「上位に表示されるべきドキュメント」は、例えば、検索クエリに対して正しかったまたは役に立ったなどとユーザによって示されたドキュメントの識別子である。なお、「上位に表示されるべきドキュメント」は、第1言語で記述される検索対象のドキュメントの識別子である。そのため、図6に示すように、フィードバックデータ123の「正しくヒットしたドキュメント」が第1言語以外の言語の場合、対応する第1言語のドキュメントの識別子に変換され、「上位に表示されるべきドキュメント」に記憶される。
【0035】
検索モデル125は、第1言語によって記述された訓練データ124を用いた機械学習により訓練され、生成された機械学習モデルである。検索モデル125は、当該機械学習モデルを構築するためのモデルパラメータを記憶できる。
【0036】
なお、記憶部120には、上記情報以外にも様々な情報を記憶できる。また、各情報のデータ構成は、上記内容に限定されない。
【0037】
制御部130は、情報検索装置100全体を司る処理部であり、例えば、プロセッサなどである。制御部130は、検索部131、翻訳部132、および機械学習部133を備える。なお、各処理部は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【0038】
検索部131は、第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、ユーザによって入力された検索クエリである検索条件を機械学習モデルに入力して情報検索を行う。ここで、検索部131は、検索条件が第1言語である場合、翻訳部132によって第1言語以外の言語に翻訳された後、第1言語に再翻訳された検索条件を機械学習モデルに入力して情報検索を行う。一方、検索部131は、検索条件が第1言語と異なる言語である場合、翻訳部132によって第1言語に翻訳された検索条件を機械学習モデルに入力して情報検索を行う。
【0039】
翻訳部132は、検索条件が第1言語である場合、検索条件を第1言語と異なる第2言語に翻訳し、第2言語に翻訳された検索条件を第1言語に再翻訳する。一方、翻訳部132は、検索条件が第1言語と異なる言語である場合、検索条件を第1言語に翻訳する。
【0040】
また、翻訳部132は、情報検索の結果として第1言語と異なる第2言語のドキュメントの取得を希望するユーザに対してドキュメントを第2言語に翻訳し、情報検索を要求した情報処理端末、すなわち、ユーザ端末200に送信する。なお、第2言語へのドキュメントの翻訳は、情報検索が要求された際に行われるのではなく、予め行われておいてもよい。これにより、情報検索の度に翻訳を行うよりも検索レスポンスを向上させることができる。
【0041】
機械学習部133は、翻訳部132によって第1言語に翻訳または再翻訳された検索条件を用いて第1言語の訓練データを生成する。より具体的には、機械学習部133は、第1言語の検索条件を特徴量とし、検索条件に対する情報検索の結果として出力する第1言語のデータを正解ラベルとする、訓練データを生成する。そして、機械学習部133は、生成された訓練データを用いて機械学習モデルを訓練または再訓練する。
【0042】
[機能概要]
次に、検索条件の言語間における検索結果の差を軽減し、情報検索の精度を向上させるための実施例1にかかる情報検索処理の全体について説明する。図7は、実施例1にかかる全体の処理構成の一例を示す図である。図7の例では、第1言語のドキュメントを検索するために、検索クエリが第1言語で入力される場合を示す。
【0043】
まず、図7に示すように、機械学習部133は、第1言語に再翻訳された検索クエリを特徴量とし、検索クエリに対して情報検索の結果として出力する第1言語のドキュメントを正解ラベルとしてモデル学習を行う(ステップS1)。これにより、検索モデル125が生成される。なお、検索クエリの翻訳は、翻訳部132によって行われる。
【0044】
ここで、第1言語に再翻訳された検索クエリは、フィードバックデータの検索クエリの他、手入力によって生成された第1言語の検索クエリが第1言語と異なる任意の第2言語に翻訳され、第1言語に再翻訳されたものであってもよい。再翻訳された検索クエリは、訓練データ124に記憶される。また、正解ラベルとする第1言語のドキュメントはドキュメントを一意に示す識別子であってよい。
【0045】
次に、検索部131は、ユーザ端末200によって入力された第1言語の検索クエリを受信すると、翻訳部132に送信する。これにより、第1言語の検索クエリは、翻訳部132によって、第1言語と異なる任意の第2言語に翻訳され、第1言語に再翻訳される(ステップS2)。なお、検索部131は、第1言語の検索クエリと共に、または別で、検索クエリの言語情報をユーザ端末200から受信できる。検索クエリの言語情報は、検索クエリがどの言語で記述されたかを示すデータで、例えば、ユーザ端末200を介してユーザによって指定される。これにより、情報検索装置100は、検索クエリがどの言語で記述されたかを認識できるが、情報検索装置100は、例えば、言語解析などの既存技術によって検索クエリを記述する言語を判定してもよい。
【0046】
次に、検索部131は、第1言語に再翻訳された検索クエリを検索モデル125に入力し、出力されるドキュメントの識別子を用いて、検索対象ドキュメント121から、検索結果として第1言語のドキュメントを得る(ステップS3)。
【0047】
ここで、ステップS2における検索クエリの再翻訳およびステップS3におけるドキュメントの検索について、具体例を挙げて説明する。図8は、実施例1にかかるドキュメント検索の一例を示す図である。図8は、第1言語を日本語、第2言語を英語とした場合の例である。
【0048】
図8に示すように、ユーザ端末200を介して入力された日本語の検索クエリは英語に翻訳される。なお、図8に示すように、ユーザ端末200を介して入力された日本語の検索クエリには、ネイティブな日本人が用いる日本語の表現が含まれ得る。次に、英語に翻訳された検索クエリは日本語に再翻訳される。このように、情報検索装置100は、検索クエリを他言語に翻訳した後、元の言語に再翻訳することにより、検索クエリを平易な表現に変換できる。これにより、情報検索装置100は、平易な表現の第1言語で情報を検索でき、図1を用いて説明したような、入力されたそのままの第1言語の表現と、翻訳を通した第1言語の表現との違いによる検索結果の差を軽減できる。
【0049】
次に、検索部131は、ユーザ端末200を用いてユーザによって指定された、検索結果の言語情報が第1言語以外の言語の場合、検索結果のドキュメントに対応する、指定言語に翻訳されたドキュメントを得る(ステップS4)。なお、ここで得られる翻訳されたドキュメントは、検索対象ドキュメント121に記憶される第1言語の各ドキュメントが、翻訳部132によって各種言語に予め翻訳され、置換用ドキュメント122に記憶されたドキュメントである。なお、ユーザによって指定された、検索結果の言語情報が第1言語の場合、または特に指定が無かったなどの場合、ステップS4は実行されなくてもよい。検索結果のドキュメントは、検索部131によってユーザ端末200に送信される。
【0050】
次に、ユーザ端末200は、受信した検索結果のドキュメントが正しかったかまたは役に立ったかなど適切であった場合、ユーザによるフィードバックデータ123として、適切なドキュメントの識別子を情報検索装置100に送信する。なお、ここで送信される適切なドキュメントの識別子は、検索結果としてユーザに提示されたドキュメントの識別子である。そのため、ステップS4によって第1言語以外の言語に翻訳されたドキュメントが提示された場合は、適切なドキュメントの識別子は、当該翻訳されたドキュメントの識別子である。
【0051】
次に、検索部131は、ユーザに提示されたドキュメントが第1言語以外の言語の場合、ユーザ端末200から受信された適切なドキュメントの識別子を、対応するベース言語の識別子に変換する(ステップS5)。ここで、ベース言語の識別子とは、検索対象ドキュメント121に記憶される第1言語のドキュメントの識別子である。なお、ユーザに提示されたドキュメントが第1言語の場合、ステップS5は実行されなくてよい。
【0052】
次に、検索部131は、検索モデル125の再訓練のため、第1言語に再翻訳された検索クエリ、および適切なドキュメントの識別子を、訓練データ124に追加する(ステップS6)。これにより、機械学習部133によって、追加された訓練データ124を用いて、検索モデル125の再訓練が行われる(ステップS1)。このように、検索モデルの生成、生成された検索モデルによるドキュメントの検索、および検索結果による検索モデルの再訓練が行われる。
【0053】
[処理の流れ]
次に、実施例1にかかる情報検索処理を流れに沿って、より具体的に説明する。図9は、実施例1にかかる情報検索処理の流れを示すフローチャートである。図9で説明する情報検索処理は、例えば、情報検索装置100によってユーザ端末200に提供された、情報検索用の入力フォームに対し、ユーザが検索クエリを入力するところから開始される。
【0054】
まず、図9に示すように、ユーザは、ユーザ端末200を介して情報検索のための検索クエリを入力する(ステップS101)。また、検索クエリと共に、または別で、検索クエリや検索結果の言語情報が入力されてもよい。
【0055】
次に、ユーザ端末200は、ステップS101で入力された検索クエリを情報検索装置100に送信する(ステップS102)。なお、検索クエリや検索結果の言語情報が入力されている場合は、検索クエリと共に、または別で、情報検索装置100に送信される。
【0056】
次に、情報検索装置100は、検索クエリをユーザ端末200から受信していない場合(ステップS103:No)、検索クエリの受信を待つ。一方、検索クエリを受信した場合(ステップS103:Yes)、情報検索装置100は、受信された検索クエリが第1言語か否かを判定する(ステップS104)。当該判定は、ユーザによって入力された検索クエリの言語情報によって行われてもよいし、言語解析などによって検索クエリを記述する言語を判定することによって行われてもよい。
【0057】
検索クエリが第1言語である場合(ステップS104:Yes)、情報検索装置100は、検索クエリを第1言語とは異なる第2言語に翻訳する(ステップS105)。一方、検索クエリが第1言語以外の言語である場合(ステップS104:No)、ステップS105は実行されず、ステップS106に進む。
【0058】
次に、情報検索装置100は、ステップS105で第2言語に翻訳された検索クエリ、またはユーザ端末200から受信された第1言語以外の言語の検索クエリを第1言語に翻訳する(ステップS106)。
【0059】
次に、情報検索装置100は、ステップS106で第1言語に翻訳された検索クエリを用いて情報検索を実行する(ステップS107)。これにより、ドキュメントなどが検索されるが、検索がヒットしない場合、例えば、ユーザ端末200にその旨を通知し、検索クエリの再入力を促すなどしてよい。
【0060】
次に、ステップS107の情報検索による検索結果の翻訳が必要な場合(ステップS108:Yes)、情報検索装置100は、検索結果をユーザによって指定された言語の情報に置き換える(ステップS109)。検索結果の翻訳が必要な場合とは、例えば、ユーザによって検索結果の言語情報が指定されている場合である。また、ここで置き換えられる情報は、例えば、検索結果である第1言語のドキュメントが第1言語以外の言語に予め翻訳されたドキュメントである。一方、検索結果の翻訳が不要な場合(ステップS108:No)、ステップS109は実行されず、ステップS110に進む。
【0061】
次に、情報検索装置100は、ステップS109で置き換えられた情報を検索結果として、またはステップS109を実行していない場合はステップS107による検索結果をユーザ端末200に送信する(ステップS110)。
【0062】
次に、ユーザ端末200は、検索結果を情報検索装置100から受信していない場合(ステップS111:No)、検索結果の受信を待つ。一方、検索結果を受信した場合(ステップS111:Yes)、ユーザ端末200は、検索結果をユーザ端末200のディスプレイなどに表示する(ステップS112)。ステップS112の実行後、図9に示す情報検索処理は終了する。
【0063】
[効果]
上述したように、情報検索プログラムは、第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、検索条件が第1言語である場合、検索条件を第1言語と異なる第2言語に翻訳し、第2言語に翻訳された検索条件を第1言語に再翻訳し、第1言語に再翻訳された検索条件を機械学習モデルに入力して情報検索を行い、検索条件が第1言語と異なる言語である場合、検索条件を第1言語に翻訳し、第1言語に翻訳された検索条件を機械学習モデルに入力して情報検索を行う処理を情報検索装置100に実行させる。
【0064】
これにより、情報検索装置100は、検索条件の言語がどのような言語であっても、第1言語の検索クエリに翻訳または再翻訳することによって平易な第1言語で情報を検索でき、言語間における検索性能の差を軽減できる。このように、情報検索装置100は、機械学習モデルを用いた情報検索の精度を向上させることができる。
【0065】
また、情報検索プログラムは、第1言語に翻訳または再翻訳された検索条件を用いて訓練データを生成し、生成された訓練データを用いて機械学習モデルを再訓練する処理を情報検索装置100にさらに実行させる。
【0066】
これにより、情報検索装置100は、機械学習モデルを用いた情報検索の精度を向上させることができる。
【0067】
また、情報検索装置100に実行させる、訓練データを生成する処理は、第1言語の検索条件を特徴量とし、検索条件に対する情報検索の結果として出力する第1言語のデータを正解ラベルとする、訓練データを生成する処理を含む。
【0068】
これにより、情報検索装置100は、機械学習モデルを用いた情報検索の精度を向上させることができる。
【0069】
また、情報検索プログラムは、第1言語と異なる言語に翻訳された情報検索の結果を、情報検索を要求した情報処理端末に送信する処理を情報検索装置100にさらに実行させる。
【0070】
これにより、情報検索装置100は、機械学習モデルを用いた情報検索の精度を向上させつつ、ユーザの希望する言語で情報提供を行うことができる。
【0071】
また、情報検索装置100に実行させる、情報検索の結果を情報処理端末に送信する処理は、第1言語の情報検索の結果に対応する、第1言語と異なる言語に予め翻訳されたデータを、情報検索の結果として情報処理端末に送信する処理を含む。
【0072】
これにより、情報検索装置100は、ユーザの希望する言語で情報提供を行ないつつ、情報検索の度に翻訳を行うよりも検索レスポンスを向上させることができる。
【0073】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更できる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更できる。
【0074】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成できる。例えば、情報検索装置100の検索部131と翻訳部132とを統合できる。
【0075】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0076】
[ハードウェア]
上述した情報検索装置100のハードウェア構成について説明する。図10は、ハードウェア構成例を示す図である。図10に示すように、情報検索装置100は、通信部100a、HDD(Hard Disk Drive)100b、メモリ100c、およびプロセッサ100dを有する。また、図10に示した各部は、バスなどで相互に接続される。
【0077】
通信部100aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD100bは、図3に示した機能を動作させるプログラムやデータベース(DB)を記憶する。
【0078】
プロセッサ100dは、図3に示した各処理部と同様の処理を実行するプログラムをHDD100bなどから読み出してメモリ100cに展開することで、図3で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、情報検索装置100が有する各処理部と同様の機能を実行する。具体的には、例えば、プロセッサ100dは、検索部131や翻訳部132などと同様の機能を有するプログラムをHDD100bなどから読み出す。そして、プロセッサ100dは、検索部131や翻訳部132などと同様の処理を実行するプロセスを実行する。
【0079】
このように、情報検索装置100は、プログラムを読み出して実行することで各処理を実行する情報処理装置として動作する。また、情報検索装置100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、情報検索装置100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用できる。
【0080】
なお、このプログラムは、インターネットなどのネットワークを介して配布できる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行できる。
【0081】
なお、以上の実施例1を含む実施形態に関し、さらに以下の付記を開示する。
【0082】
(付記1)第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、
検索条件が前記第1言語である場合、
前記検索条件を前記第1言語と異なる第2言語に翻訳し、
前記第2言語に翻訳された前記検索条件を前記第1言語に再翻訳し、
前記第1言語に再翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行い、
前記検索条件が前記第1言語と異なる言語である場合、
前記検索条件を前記第1言語に翻訳し、
前記第1言語に翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行う
処理をコンピュータに実行させることを特徴とする情報検索プログラム。
【0083】
(付記2)前記第1言語に翻訳または再翻訳された前記検索条件を用いて前記訓練データを生成し、
生成された前記訓練データを用いて前記機械学習モデルを再訓練する
処理を前記コンピュータにさらに実行させることを特徴とする付記1に記載の情報検索プログラム。
【0084】
(付記3)前記訓練データを生成する処理は、前記第1言語の前記検索条件を特徴量とし、前記検索条件に対する前記情報検索の結果として出力する前記第1言語のデータを正解ラベルとする、前記訓練データを生成する処理を含むことを特徴とする付記1または2に記載の情報検索プログラム。
【0085】
(付記4)前記第1言語と異なる言語に翻訳された前記情報検索の結果を、前記情報検索を要求した情報処理端末に送信する処理を前記コンピュータにさらに実行させることを特徴とする付記1乃至3のいずれか1つに記載の情報検索プログラム。
【0086】
(付記5)前記情報検索の結果を前記情報処理端末に送信する処理は、前記第1言語の前記情報検索の結果に対応する、前記第1言語と異なる言語に予め翻訳されたデータを、前記情報検索の結果として前記情報処理端末に送信する処理を含むことを特徴とする付記4に記載の情報検索プログラム。
【0087】
(付記6)第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、
検索条件が前記第1言語である場合、
前記検索条件を前記第1言語と異なる第2言語に翻訳し、
前記第2言語に翻訳された前記検索条件を前記第1言語に再翻訳し、
前記第1言語に再翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行い、
前記検索条件が前記第1言語と異なる言語である場合、
前記検索条件を前記第1言語に翻訳し、
前記第1言語に翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行う
処理をコンピュータが実行することを特徴とする情報検索方法。
【0088】
(付記7)前記第1言語に翻訳または再翻訳された前記検索条件を用いて前記訓練データを生成し、
生成された前記訓練データを用いて前記機械学習モデルを再訓練する
処理を前記コンピュータがさらに実行することを特徴とする付記6に記載の情報検索方法。
【0089】
(付記8)前記訓練データを生成する処理は、前記第1言語の前記検索条件を特徴量とし、前記検索条件に対する前記情報検索の結果として出力する前記第1言語のデータを正解ラベルとする、前記訓練データを生成する処理を含むことを特徴とする付記6または7に記載の情報検索方法。
【0090】
(付記9)前記第1言語と異なる言語に翻訳された前記情報検索の結果を、前記情報検索を要求した情報処理端末に送信する処理を前記コンピュータがさらに実行することを特徴とする付記6乃至8のいずれか1つに記載の情報検索方法。
【0091】
(付記10)前記情報検索の結果を前記情報処理端末に送信する処理は、前記第1言語の前記情報検索の結果に対応する、前記第1言語と異なる言語に予め翻訳されたデータを、前記情報検索の結果として前記情報処理端末に送信する処理を含むことを特徴とする付記9に記載の情報検索方法。
【0092】
(付記11)第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、
検索条件が前記第1言語である場合、
前記検索条件を前記第1言語と異なる第2言語に翻訳し、
前記第2言語に翻訳された前記検索条件を前記第1言語に再翻訳し、
前記第1言語に再翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行い、
前記検索条件が前記第1言語と異なる言語である場合、
前記検索条件を前記第1言語に翻訳し、
前記第1言語に翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行う
制御部を有することを特徴とする情報検索装置。
【0093】
(付記12)前記第1言語に翻訳または再翻訳された前記検索条件を用いて前記訓練データを生成し、
生成された前記訓練データを用いて前記機械学習モデルを再訓練する
処理を前記制御部にさらに実行させることを特徴とする付記11に記載の情報検索装置。
【0094】
(付記13)前記訓練データを生成する処理は、前記第1言語の前記検索条件を特徴量とし、前記検索条件に対する前記情報検索の結果として出力する前記第1言語のデータを正解ラベルとする、前記訓練データを生成する処理を含むことを特徴とする付記11または12に記載の情報検索装置。
【0095】
(付記14)前記第1言語と異なる言語に翻訳された前記情報検索の結果を、前記情報検索を要求した情報処理端末に送信する処理を前記制御部にさらに実行させることを特徴とする付記11乃至13のいずれか1つに記載の情報検索装置。
【0096】
(付記15)前記情報検索の結果を前記情報処理端末に送信する処理は、前記第1言語の前記情報検索の結果に対応する、前記第1言語と異なる言語に予め翻訳されたデータを、前記情報検索の結果として前記情報処理端末に送信する処理を含むことを特徴とする付記14に記載の情報検索装置。
【0097】
(付記16)プロセッサと、
前記プロセッサに動作可能に接続されたメモリと
を備えた情報検索装置であって、前記プロセッサは、
第1言語の訓練データを用いた機械学習により生成された訓練済みの機械学習モデルを用いた情報検索において、
検索条件が前記第1言語である場合、
前記検索条件を前記第1言語と異なる第2言語に翻訳し、
前記第2言語に翻訳された前記検索条件を前記第1言語に再翻訳し、
前記第1言語に再翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行い、
前記検索条件が前記第1言語と異なる言語である場合、
前記検索条件を前記第1言語に翻訳し、
前記第1言語に翻訳された前記検索条件を前記機械学習モデルに入力して前記情報検索を行う
処理を実行することを特徴とする情報検索装置。
【符号の説明】
【0098】
100 情報検索装置
100a 通信部
100b HDD
100c メモリ
100d プロセッサ
110 通信部
120 記憶部
121 検索対象ドキュメント
122 置換用ドキュメント
123 フィードバックデータ
124 訓練データ
125 検索モデル
130 制御部
131 検索部
132 翻訳部
133 機械学習部
200 ユーザ端末
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10