(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】変換装置、変換方法、変換プログラム及び記憶媒体
(51)【国際特許分類】
G06F 16/33 20190101AFI20240731BHJP
G06F 40/157 20200101ALI20240731BHJP
【FI】
G06F16/33
G06F40/157
(21)【出願番号】P 2021128361
(22)【出願日】2021-08-04
【審査請求日】2023-08-02
(73)【特許権者】
【識別番号】501271479
【氏名又は名称】株式会社トヨタマップマスター
(74)【代理人】
【識別番号】110002516
【氏名又は名称】弁理士法人白坂
(72)【発明者】
【氏名】田川 達司
【審査官】和田 財太
(56)【参考文献】
【文献】国際公開第2020/079751(WO,A1)
【文献】特開2019-139413(JP,A)
【文献】特開平10-260981(JP,A)
【文献】特開2019-159696(JP,A)
【文献】特開2004-192122(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00
G06F 40/00
(57)【特許請求の範囲】
【請求項1】
検索キーワードによる検索結果が得られなかった場合に、前記検索キーワードを変換する変換装置であって、
前記検索キーワードに含まれる検索語句について、当該検索語句を変換しない語句であるか否かを判定するための第1マスタであって、検索語句を他の語句に変換しない語句を記憶した第1マスタと、
前記検索キーワードに含まれる検索語句について、当該検索語句を別の語句に変換する対象となる語句であるか否かを判定するための第2マスタであって、検索語句を他の語句に変換する語句と、当該語句の変換後の語句を記憶した第2マスタと、を記憶する記憶部と、
前記検索語句が、前記第1マスタに含まれる語句に相関する度合いを示す第1相関度を算出する第1相関度算出部と、
前記検索語句が、前記第2マスタに含まれる語句に相関する度合いを示す第2相関度を算出する第2相関度算出部と、
前記第1相関度と前記第2相関度とのうち高い方の相関度を算出したマスタを用いて、前記検索キーワードに含まれる検索語句を変換し、変換後の語句を出力する変換部と、
を備える変換装置。
【請求項2】
前記記憶部は、
前記検索キーワードに含まれる検索語句について、当該検索語句を、前記検索キーワードから消去する対象となる語句であるか否かを判定するための第3マスタであって、検索語句を消去する語句を記憶した第3マスタを記憶し、
前記検索語句が、前記第3マスタに含まれる語句に相関する度合いを示す第3相関度を算出する第3相関度算出部を備え、
前記変換部は、前記第1相関度と、前記第2相関度と、前記第3相関度とのうち、最も高い相関度を算出したマスタを用いて、前記検索キーワードに含まれる検索語句を変換し、変換後の語句を出力する
ことを特徴とする請求項1に記載の変換装置。
【請求項3】
前記変換装置は、
前記検索キーワードを分散表現した検索ベクトルに変換するベクトル変換部を備え、
前記第1マスタには、前記検索語句を他の語句に変換しない語句それぞれを分散表現した第1ベクトルが記憶され、
前記第2マスタには、前記検索語句を他の語句に変換する語句それぞれを分散表現した第2ベクトルが記憶され、
前記第3マスタには、前記検索語句を消去する語句それぞれを分散表現した第3ベクトルが記憶され、
前記第1相関度算出部は、前記検索ベクトルと前記第1ベクトル各々との相関度を算出して、最も高い相関度を、前記第1相関度として出力し、
前記第2相関度算出部は、前記検索ベクトルと前記第2ベクトル各々との相関度を算出して、最も高い相関度を、前記第2相関度として出力し、
前記第3相関度算出部は、前記検索ベクトルと前記第3ベクトル各々との相関度を算出して、最も高い相関度を、前記第3相関度として出力する
ことを特徴とする請求項2に記載の変換装置。
【請求項4】
前記第1マスタに含まれる語句は、分散表現したときに類似度が第1閾値以上である他の語句が第1の所定数以下となる語句である
ことを特徴とする請求項3に記載の変換装置。
【請求項5】
前記第2マスタに含まれる語句は、分散表現したときに類似度が第2閾値以上である他の語句が第2の所定数以上となる語句である
ことを特徴とする請求項3又は4に記載の変換装置。
【請求項6】
前記第3マスタに含まれる語句は、分散表現したときに類似度が第3閾値以上である他の語句がない語句である
ことを特徴とする請求項3~5のいずれか一項に記載の変換装置。
【請求項7】
前記第1相関度算出部は、多次元で表現される前記検索ベクトルの一部の次元と、多次元で表現される前記第1ベクトルの一部の次元との、相関を算出する
ことを特徴とする請求項3~6のいずれか一項に記載の変換装置。
【請求項8】
前記第2相関度算出部は、多次元で表現される前記検索ベクトルの一部の次元と、多次元で表現される前記第2ベクトルの一部の次元との、相関を算出する
ことを特徴とする請求項3~7のいずれか一項に記載の変換装置。
【請求項9】
前記第3相関度算出部は、多次元で表現される前記検索ベクトルの一部の次元と、多次元で表現される前記第3ベクトルの一部の次元との、相関を算出する
ことを特徴とする請求項3~8のいずれか一項に記載の変換装置。
【請求項10】
前記変換装置は、
クエリを受け付けてPOI(Points of Interest)を検索する検索部を備え、
前記検索部は、前記変換部により変換された検索キーワードを、前記クエリとしてPOIを検索する
ことを特徴とする請求項1~9に記載の変換装置。
【請求項11】
検索キーワードによる検索結果が得られなかった場合に、前記検索キーワードを変換する変換方法であって、
コンピュータが、
前記検索キーワードに含まれる検索語句について、当該検索語句を変換しない語句であるか否かを判定するための第1マスタであって、検索語句を他の語句に変換しない語句を記憶した第1マスタと、
前記検索キーワードに含まれる検索語句について、当該検索語句を別の語句に変換する対象となる語句であるか否かを判定するための第2マスタであって、検索語句を他の語句に変換する語句と、当該語句の変換後の語句を記憶した第2マスタと、を記憶する記憶ステップと、
前記検索語句が、前記第1マスタに含まれる語句に相関する度合いを示す第1相関度を算出する第1相関度算出ステップと、
前記検索語句が、前記第2マスタに含まれる語句に相関する度合いを示す第2相関度を算出する第2相関度算出ステップと、
前記第1相関度と前記第2相関度とのうち高い方の相関度を算出したマスタを用いて、前記検索キーワードに含まれる検索語句を変換し、変換後の語句を出力する変換ステップと、
を実行する変換方法。
【請求項12】
検索キーワードによる検索結果が得られなかった場合に、前記検索キーワードを変換する変換プログラムであって、
コンピュータに、
前記検索キーワードに含まれる検索語句について、当該検索語句を変換しない語句であるか否かを判定するための第1マスタであって、検索語句を他の語句に変換しない語句を記憶した第1マスタと、
前記検索キーワードに含まれる検索語句について、当該検索語句を別の語句に変換する対象となる語句であるか否かを判定するための第2マスタであって、検索語句を他の語句に変換する語句と、当該語句の変換後の語句を記憶した第2マスタと、を記憶させる記憶機能と、
前記検索語句が、前記第1マスタに含まれる語句に相関する度合いを示す第1相関度を算出する第1相関度算出機能と、
前記検索語句が、前記第2マスタに含まれる語句に相関する度合いを示す第2相関度を算出する第2相関度算出機能と、
前記第1相関度と前記第2相関度とのうち高い方の相関度を算出したマスタを用いて、前記検索キーワードに含まれる検索語句を変換し、変換後の語句を出力する変換機能と、
を備える変換プログラム。
【請求項13】
請求項12に記載の変換プログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索キーワードを変換する変換装置、変換方法、変換プログラム、及び当該変換プログラムを記録した記録媒体に関する。
【背景技術】
【0002】
従来、車両等に備えられるナビゲーション装置において、ユーザからの検索キーワードを受け付けて、POI(Points Of Interest)を検索することが行われている。このようなナビゲーション装置においては、なるべく結果を出力できるよう種々の工夫が従来からなされている。例えば、特許文献1においては、第1の検索条件に基づいて、施設を検索し、該当する施設がない場合には、第2の検索条件に基づいて、施設を再検索する技術が開示されている。また、例えば、特許文献2においては、検索語と高い類似度を有する語句を類似語句として抽出し、類似語句を用いた検索処理を実行する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-052938号公報
【文献】特開2019-074982号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1や特許文献2のいずれの場合においても、検索結果が得られない可能性があるという問題がある。
【0005】
そこで、本発明は、上記問題に鑑みてなされたものであり、ユーザにより入力された検索キーワードによる検索結果がなかった場合に、その検索キーワードを検索結果が得られるように変換することができる変換装置、変換方法、変換プログラムおよび記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一態様に係る変換装置は、検索キーワードによる検索結果が得られなかった場合に、検索キーワードを変換する変換装置であって、検索キーワードに含まれる検索語句について、当該検索語句を変換しない語句であるか否かを判定するための第1マスタであって、検索語句を他の語句に変換しない語句を記憶した第1マスタと、検索キーワードに含まれる検索語句について、当該検索語句を別の語句に変換する対象となる語句であるか否かを判定するための第2マスタであって、検索語句を他の語句に変換する語句と、当該語句の変換後の語句を記憶した第2マスタと、を記憶する記憶部と、検索語句が、第1マスタに含まれる語句に相関する度合いを示す第1相関度を算出する第1相関度算出部と、検索語句が、第2マスタに含まれる語句に相関する度合いを示す第2相関度を算出する第2相関度算出部と、第1相関度と第2相関度とのうち高い方の相関度を算出したマスタを用いて、検索キーワードに含まれる検索語句を変換し、変換後の語句を出力する変換部と、を備える。
【0007】
上記課題を解決するために、本発明の一態様に係る変換方法は、検索キーワードによる検索結果が得られなかった場合に、検索キーワードを変換する変換方法であって、コンピュータが、検索キーワードに含まれる検索語句について、当該検索語句を変換しない語句であるか否かを判定するための第1マスタであって、検索語句を他の語句に変換しない語句を記憶した第1マスタと、検索キーワードに含まれる検索語句について、当該検索語句を別の語句に変換する対象となる語句であるか否かを判定するための第2マスタであって、検索語句を他の語句に変換する語句と、当該語句の変換後の語句を記憶した第2マスタと、を記憶する記憶ステップと、検索語句が、第1マスタに含まれる語句に相関する度合いを示す第1相関度を算出する第1相関度算出ステップと、検索語句が、第2マスタに含まれる語句に相関する度合いを示す第2相関度を算出する第2相関度算出ステップと、第1相関度と第2相関度とのうち高い方の相関度を算出したマスタを用いて、検索キーワードに含まれる検索語句を変換し、変換後の語句を出力する変換ステップと、を実行する。
【0008】
上記課題を解決するために、本発明の一態様に係る変換プログラムは、検索キーワードによる検索結果が得られなかった場合に、検索キーワードを変換する変換プログラムであって、コンピュータに、検索キーワードに含まれる検索語句について、当該検索語句を変換しない語句であるか否かを判定するための第1マスタであって、検索語句を他の語句に変換しない語句を記憶した第1マスタと、検索キーワードに含まれる検索語句について、当該検索語句を別の語句に変換する対象となる語句であるか否かを判定するための第2マスタであって、検索語句を他の語句に変換する語句と、当該語句の変換後の語句を記憶した第2マスタと、を記憶させる記憶機能と、検索語句が、第1マスタに含まれる語句に相関する度合いを示す第1相関度を算出する第1相関度算出機能と、検索語句が、第2マスタに含まれる語句に相関する度合いを示す第2相関度を算出する第2相関度算出機能と、第1相関度と第2相関度とのうち高い方の相関度を算出したマスタを用いて、検索キーワードに含まれる検索語句を変換し、変換後の語句を出力する変換機能と、を備える変換プログラム。
【0009】
また、上記変換装置において、記憶部は、検索キーワードに含まれる検索語句について、当該検索語句を、検索キーワードから消去する対象となる語句であるか否かを判定するための第3マスタであって、検索語句を消去する語句を記憶した第3マスタを記憶し、検索語句が、第3マスタに含まれる語句に相関する度合いを示す第3相関度を算出する第3相関度算出部を備え、変換部は、第1相関度と、第2相関度と、第3相関度とのうち、最も高い相関度を算出したマスタを用いて、検索キーワードに含まれる検索語句を変換し、変換後の語句を出力することとしてもよい。
【0010】
また、上記変換装置において、変換装置は、検索キーワードを分散表現した検索ベクトルに変換するベクトル変換部を備え、第1マスタには、検索語句を他の語句に変換しない語句それぞれを分散表現した第1ベクトルが記憶され、第2マスタには、検索語句を他の語句に変換する語句それぞれを分散表現した第2ベクトルが記憶され、第3マスタには、検索語句を消去する語句それぞれを分散表現した第3ベクトルが記憶され、第1相関度算出部は、検索ベクトルと第1ベクトル各々との相関度を算出して、最も高い相関度を、第1相関度として出力し、第2相関度算出部は、検索ベクトルと第2ベクトル各々との相関度を算出して、最も高い相関度を、第2相関度として出力し、第3相関度算出部は、検索ベクトルと第3ベクトル各々との相関度を算出して、最も高い相関度を、第3相関度として出力することとしてもよい。
【0011】
また、上記変換装置において、第1マスタに含まれる語句は、分散表現したときに類似度が第1閾値以上である他の語句が第1の所定数以下となる語句であることとしてもよい。
【0012】
また、上記変換装置において、第2マスタに含まれる語句は、分散表現したときに類似度が第2閾値以上である他の語句が第2の所定数以上となる語句であることとしてもよい。
【0013】
また、上記変換装置において、第3マスタに含まれる語句は、分散表現したときに類似度が第3閾値以上である他の語句がない語句であることとしてもよい。
【0014】
また、上記変換装置において、第1相関度算出部は、多次元で表現される検索ベクトルの一部の次元と、多次元で表現される第1ベクトルの一部の次元との、相関を算出することとしてもよい。
【0015】
また、上記変換装置において、第2相関度算出部は、多次元で表現される検索ベクトルの一部の次元と、多次元で表現される第2ベクトルの一部の次元との、相関を算出することとしてもよい。
【0016】
また、上記変換装置において、第3相関度算出部は、多次元で表現される検索ベクトルの一部の次元と、多次元で表現される第3ベクトルの一部の次元との、相関を算出することとしてもよい。
【0017】
また、上記変換装置において、変換装置は、クエリを受け付けてPOI(Points of Interest)を検索する検索部を備え、検索部は、変換部により変換された検索キーワードを、クエリとしてPOIを検索することとしてもよい。
【発明の効果】
【0018】
本発明の一態様に係る変換装置は、検索キーワードによる検索結果が得られなかった場合に、当該検索キーワードに基づく検索結果が得られるように、検索キーワードを変換することができる。その結果、例えば、変換後の検索キーワードを検索エンジンに提供することで、ユーザが所望する検索結果を得ることができる。
【図面の簡単な説明】
【0019】
【
図1】変換装置の機能構成例を示すブロック図である。
【
図2】第1マスタの構成例を示すデータ概念図である。
【
図3】第2マスタの構成例を示すデータ概念図である。
【
図4】第3マスタの構成例を示すデータ概念図である。
【
図5】変換装置の検索処理に係る動作例を示すフローチャートである。
【
図6】変換装置の検索キーワードの変換処理に係る動作例を示すフローチャートである。
【
図7】変換装置の検索キーワードの変換に係る具体例を説明するための説明図である。
【
図8】変換装置の他の構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
以下、本発明の一実施態様に係る変換装置について、図面を参照しながら詳細に説明する。
【0021】
<実施の形態>
<変換装置の構成>
本発明の一態様に係る変換装置は、検索キーワードによる検索結果が得られなかった場合に、前記検索キーワードを変換する変換装置(
図1の100参照)であって、前記検索キーワードに含まれる検索語句について、当該検索語句を変換しない語句であるか否かを判定するための第1マスタ(
図1の141参照)であって、検索語句を他の語句に変換しない語句を記憶した第1マスタと、前記検索キーワードに含まれる検索語句について、当該検索語句を別の語句に変換する対象となる語句であるか否かを判定するための第2マスタ(
図1の142参照)であって、検索語句を他の語句に変換する語句と、当該語句の変換後の語句を記憶した第2マスタと、を記憶する記憶部(
図1の104参照)と、前記検索語句が、前記第1マスタに含まれる語句に相関する度合いを示す第1相関度を算出する第1相関度算出部(
図1の105参照)と、前記検索語句が、前記第2マスタに含まれる語句に相関する度合いを示す第2相関度を算出する第2相関度算出部(
図1の105参照)と、前記第1相関度と前記第2相関度とのうち高い方の相関度を算出したマスタを用いて、前記検索キーワードに含まれる検索語句を変換し、変換後の語句を出力する変換部(
図1の105参照)と、を備える。以下、詳細に説明する。
【0022】
図1は、変換装置100の機能構成例を示すブロック図である。
図1に示すように、変換装置100は、通信部101と、受付部102と、出力部103と、記憶部104と、CPU105とを備える。
【0023】
変換装置100は、サーバ装置、PCなどにより実現されるコンピュータシステムであるが、これらに限定するものではなく、スマートフォン、タブレット端末等の携帯端末などにより実現されるものであってもよい。以下、各機能部について詳細に説明する。
【0024】
通信部101は、他の装置から通信により情報を受信する機能を有する。通信部101は、外部の装置、例えば、ナビゲーション装置等の検索エンジンから、検索キーワード、又は、検索結果が得られなかった検索キーワードを受信し、CPU105に伝達することとしてよい。また、通信部101は、CPU105により、検索キーワードを変換した変換検索キーワードを、外部の装置、例えば、検索キーワードを送信してきたナビゲーション装置等に、送信することとしてもよい。通信部101は、受信した各種の情報をCPU105に伝達する。また、通信部101は、CPU105の指示のもと、指定された外部の装置に、指定された情報を送信する。なお、検索キーワードとは、ユーザが、その検索キーワードに基づいて、所望の検索結果を得るための言葉であり、一又は複数の語句から成るものであってよい。
【0025】
受付部102は、変換装置100のユーザからの入力を受け付けて、CPU105に伝達する機能を有する。受付部102は、例えば、変換装置100に備えられたハードウェアキーや、タッチキーなどのソフトキーなどにより実現することができる。なお、受付部102に対する入力は音声による入力であってもよい。受付部102は、例えば、変換装置100のユーザから、検索キーワード、又は、検索結果が得られなかった検索キーワードの入力を受け付けて、CPU105に伝達する。
【0026】
出力部103は、CPU105からの指示に従って、指示されたデータを出力する機能を有する。出力部103は、例えば、検索結果が得られなかった検索キーワードを検索結果が得られるように変換した変換後の検索キーワードを出力することとしてもよい。また、あるいは、出力部103は、検索キーワードに基づいて検索されるPOI(Points Of Interest)に関する情報を出力することとしてもよい。出力部103は、変換後の検索キーワードや検索されたPOIに関する情報を、変換装置100に接続されたモニタに画像情報(テキストデータでもよい)として出力することとしてもよいし、音声データとして変換装置100に接続されたスピーカに出力することとしてもよいし、通信部101を介して外部の装置に送信することとしてもよい。即ち、出力部103は、CPU105から指定された情報を、指定された宛先に出力する通信インターフェースとして機能する。
【0027】
記憶部104は、変換装置100が動作するうえで必要とする各種のプログラム及び各種のデータを記憶する記録媒体である。記憶部104は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。
【0028】
記憶部104は、第1マスタ141と、第2マスタ142と、第3マスタ143と、を記憶している。第1マスタ141と、第2マスタ142と、第3マスタ143の詳細については後述する。また、記憶部104は、一般的なナビゲーション等に用いられる地図情報144を記憶していてもよい。地図情報144には、各種のPOIに関する情報が含まれる。POIとは、ユーザが興味を示す可能性のある地点のことであり、地図のデータベースやナビゲーション分野においては、一般的には、店舗や施設等を示す。
【0029】
CPU105は、記憶部104に記憶されている各種のプログラム及び各種のデータを利用して、変換装置100が実行すべき処理を実行するプロセッサである。
【0030】
CPU105は、変換装置100の各部を制御し、検索結果が得られなかった検索キーワードを、検索結果が得られるように別の検索キーワードに変換する処理を実行する。また、CPU105は、検索キーワードに基づいて、POIを検索する機能を実行してもよい。
【0031】
CPU105は、第1相関度算出部、第2相関度算出部、第3相関度算出部、変換部、ベクトル変換部として機能する。また、CPU105は、検索部として機能してもよい。
【0032】
第1相関度算出部は、検索キーワードに含まれる検索語句各々について、第1マスタ141に含まれる各語句に相関する度合いを示す第1相関度を算出する。そして、第1相関度算出部は、最も高い相関を示した語句と、その度合い(パーセンテージ)を出力する。より具体的には、第1相関度算出部は、検索キーワードに含まれる検索語句各々を、ベクトル変換部が変換した検索語句を分散表現したベクトルと、第1マスタ141に含まれる語句を分散表現したベクトルと、の相関をとることで、第1相関度を算出する。
【0033】
第2相関度算出部は、検索キーワードに含まれる検索語句各々について、第2マスタ142に含まれる各語句に相関する度合いを示す第2相関度を算出する。そして、第2相関度算出部は、最も高い相関を示した語句と、その度合い(パーセンテージ)を出力する。より具体的には、第2相関度算出部は、検索キーワードに含まれる検索語句各々を、ベクトル変換部が変換した検索語句を分散表現したベクトルと、第2マスタ142に含まれる語句を分散表現したベクトルと、の相関をとることで、第2相関度を算出する。
【0034】
第3相関度算出部は、検索キーワードに含まれる検索語句各々について、第3マスタ143に含まれる各語句に相関する度合いを示す第3相関度を算出する。そして、第3相関度算出部は、最も高い相関を示した語句と、その度合い(パーセンテージ)を出力する。より具体的には、第3相関度算出部は、検索キーワードに含まれる検索語句各々を、ベクトル変換部が変換した検索語句を分散表現したベクトルと、第3マスタ143に含まれる語句を分散表現したベクトルと、の相関をとることで、第3相関度を算出する。
【0035】
変換部は、検索結果が得られなかった検索キーワードを検索結果が得られるように変換する。ここでいう変換とは、検索キーワードに含まれる検索語句を、そのまま残す、あるいは、別の語句に置換することであってよく、検索語句を検索キーワードから消去する(検索対象の語句として用いない)ことを含んでもよい。
【0036】
より具体的には、変換部は、第1相関度算出部が算出した最も高い第1相関度と、第2相関度算出部が算出した最も高い第2相関度、第3相関度算出部が算出した最も高い第3相関度のうち、最も高い相関を示す相関度を選択する。そして、選択した相関度が所定の閾値を超えるか否かを判定する。ここで、所定の閾値は、算出した相関度を利用した変換を実行するのに適切な相関度を有するかを判断可能な値であればよく、幾度かのシミュレーションにより適切な値を推定し、設定することができる。限定ではなく一例として、所定の閾値は、60%に設定されてよいがこれに限定するものではない。
【0037】
変換部は、選択した相関度が所定の閾値を超えない場合には、検索語句を、既存の分かち書きアルゴリズム等の語句を意味のあるように分割するアルゴリズムを用いて、分割し、分割後の語句それぞれを、新たな検索語句として、変換の対象とする。
【0038】
変換部は、選択した相関度が所定の閾値を超えた場合には、検索語句を選択した相関度を算出した相関度算出部に応じて検索語句を変換する。即ち、選択した相関度を算出した相関度算出部が第1相関度算出部である場合には、変換部は、対象の検索語句を、検索キーワードとして残す。また、選択した相関度を算出した相関度算出部が第2相関度算出である場合には、変換部は、対象の検索語句を、第2マスタ142において検索語句が対応する変換後の語句に変換する。また、選択した相関度を算出した相関度算出部が第3相関度算出部である場合には、変換部は、対象の検索語句を、検索キーワードから消去する。
【0039】
変換部は、検索キーワードに含まれる検索語句各々についての変換処理を終了すると、変換後の検索キーワードを出力部103から出力する。
【0040】
ベクトル変換部は、検索キーワードに含まれる検索語句を分散表現したベクトルに変換する。ベクトル変換部は、一例として、Word2Vec等の既存のアルゴリズムを利用して、語句をベクトル変換することとしてよい。
【0041】
検索部は、検索キーワードに基づいてPOIを検索する機能を有する。検索部は、検索キーワードに基づいて、地図情報144に登録されているPOIを検索する。POIの検索には、既存のアルゴリズムを用いることとしてよい。
【0042】
以上が変換装置100の構成例である。
【0043】
<データ>
ここで、変換装置100が利用する各種の情報について説明する。
【0044】
図2は、第1マスタ141のデータ構成例を示すデータ概念図である。
【0045】
第1マスタ141は、検索語句を別の語句に変換する対象とならない、あるいは、消去の対象とならない語句を集めたマスタ(データベース)である。即ち、第1マスタ141は、検索語句を別の語句に変換しない語句であるか否かを判定するためのマスタである。
【0046】
図2に示す例では、第1マスタ141は、管理ID201と、語句202と、を対応付けた情報である。
【0047】
管理ID201は、対応する語句202を一意に識別するための識別子である。
【0048】
語句202は、対応する管理ID201で管理される語句であって、検索キーワードに含まれる検索語句の中に同一の語句があった場合に、検索キーワードに残す語句の情報である。語句202として登録される語句には、検索キーワードとして一意に定まる語句(例えば、広範に認識される固有名詞)が多く登録されており、換言すれば、分散表現したときに、類似度が高い他の語句が少ない語句が登録されている。更に換言すれば、語句202は、分散表現したときに類似度が第1閾値以上である他の語句が第1の所定数以下となる語句である。なお、ここでの、第1閾値、第1の所定数は、変換装置100のユーザによって、第1マスタ141の語句202として登録するのに適する語句を選出するのに適した任意の値に設定することができる。
【0049】
なお、管理ID201は、変換装置100が各語句202を管理するために便宜上付した識別子であるが、第1マスタ141において管理ID201は必須ではない。
【0050】
変換装置100は、検索キーワードを受け付けると、検索キーワードに含まれる検索語句について、検索キーワードに残すべきか否かを、第1マスタ141を用いて判定することができる。
【0051】
図3は、第2マスタ142のデータ構成例を示すデータ概念図である。
【0052】
第2マスタ142は、検索語句を別の語句に変換する対象となる語句を集めたマスタ(データベース)である。即ち、第2マスタ142は、検索語句を別の語句に変換する語句であるか否かを判定するためのマスタである。
【0053】
図3に示す例では、第2マスタ142は、管理ID301と、変換前語句302と、変換後語句303と、を対応付けた情報である。
【0054】
管理ID301は、対応する変換前語句302を一意に識別するための識別子である。
【0055】
変換前語句302は、対応する管理ID301で管理される語句であって、検索キーワードに含まれる検索語句の中に同一の語句があった場合に、検索語句が変換の対象となる語句の情報である。変換前語句302として登録される語句には、検索キーワードとして多種多様な表現ができる語句(例えば、何らかのジャンルを示す語句)が多く登録されており、換言すれば、分散表現したときに、類似度が高い他の語句が多い語句が登録されている。更に換言すれば、変換前語句302は、分散表現したときに類似度が第2閾値以上である他の語句が第2の所定数以上となる語句である。なお、ここでの、第2閾値、第2の所定数は、変換装置100のユーザによって、第2マスタ142の変換前語句302として登録するのに適する語句を選出するのに適した任意の値に設定することができる。
【0056】
変換後語句303は、対応する変換前語句302が、検索語句と一致する場合に、その検索語句が変換される語句を示す情報である。即ち、検索語句は、変換前語句302のいずれかと高い相関を示す場合であって、他のマスタの語句よりも高い相関を示すときに、高い相関を示した変換前語句302に対応する変換後語句303で示される語句に変換される。
【0057】
なお、管理ID301は、変換装置100が各変換前語句302と変換後語句303との対応関係を管理するために便宜上付した識別子であるが、第2マスタ142において管理ID301は必須ではない。
【0058】
図4は、第3マスタ143のデータ構成例を示すデータ概念図である。
【0059】
第3マスタ143は、検索語句を検索キーワードから消去する対象となる語句を集めたマスタ(データベース)である。即ち、第3マスタ143は、検索語句を検索キーワードから消去する語句であるか否かを判定するためのマスタである。
【0060】
図4に示す例では、第3マスタ143は、管理ID401と、語句402と、を対応付けた情報である。
【0061】
管理ID401は、対応する語句402を一意に識別するための識別子である。
【0062】
語句402は、対応する管理ID401で管理される語句であって、検索キーワードに含まれる検索語句の中に同一の語句があった場合に、検索キーワードに残す語句の情報である。語句402として登録される語句には、検索キーワードとして関連する語句が検索に用いるデータベースに登録されていない、あるいは、登録されている頻度が低い語句(例えば、特定の支払い方法が使用可能どうかを示す語句であり、
図4の例で言えばJCB(登録商標)など)が多く登録されており、換言すれば、分散表現したときに、類似度が高い他の語句がない語句が登録されている。更に換言すれば、語句402は、分散表現したときに類似度が第3閾値以上である他の語句がない語句である。なお、ここでの、第3閾値は、変換装置100のユーザによって、第3マスタ143の語句402として登録するのに適する語句を選出するのに適した任意の値に設定することができる。また、ここでいう他の語句は、検索する対象となるデータベースに含まれる語句のことである。
【0063】
なお、管理ID401は、変換装置100が各語句402を管理するために便宜上付した識別子であるが、第3マスタ143において管理ID401は必須ではない。
【0064】
以上が、第1マスタ141、第2マスタ142、第3マスタ143の構成例である。
【0065】
<変換装置の動作>
次に、変換装置100の動作について説明する。
図5、
図6は、変換装置100の動作例を示すフローチャートである。
図5は、メインフローを示しており、
図6は、
図5のステップS504における検索キーワードの変換処理を示している。
【0066】
図5に示すように、変換装置100は、通信部101又は受付部102を介して、検索キーワードの入力を受け付ける(ステップS501)。受け付けられた検索キーワードは、CPU105に伝達される。
【0067】
CPU105の検索部は、入力された検索キーワードに基づいて、地図情報144を参照して、POIを検索する(ステップS502)。
【0068】
検索部は、検索結果が得られたか否かを判定する(ステップS503)。検索結果が得られなかった場合には、ステップS504の処理に移行し、得られた場合には、ステップS506の処理に移行する。
【0069】
CPU105の変換部は、検索結果が得られなかった検索キーワードを、検索結果が得られる可能性がある検索キーワードに変換するキーワード変換処理を実行して、検索キーワードを別の検索キーワードに変換する(ステップS504)。キーワード変換処理の詳細については、
図6を参照しながら後述する。
【0070】
CPU105の検索部は、変換後の検索キーワードを用いて、POIの検索を実行する(ステップS505)。そして、変換装置100の出力部103は、検索されたPOIの情報を出力し(ステップS506)、処理を終了する。
【0071】
次に、
図6を用いて、検索キーワードの変換処理における変換装置100の動作を説明する。
【0072】
図6に示すように、CPU105は、ステップS601~S608の処理を、検索キーワードに含まれる検索語句それぞれについて、実行する。ここで、検索語句は、検索キーワードに複数の語句が含まれる場合には、複数の語句各々のことであり、検索キーワードが1つの語句である場合には、検索語句は検索キーワードに一致する。
【0073】
CPU105のベクトル変換部は、検索語句を、分散表現したベクトルに変換する(ステップS601)。
【0074】
CPU105の第1相関度算出部は、検索語句と、第1マスタ141に含まれる各語句202との相関度を算出する(ステップS602)。一例として、第1相関度算出部は、検索語句を分散表現したベクトルと、語句202で示される語句それぞれを分散表現したベクトルとの、コサイン類似度を算出する。
【0075】
同様に、CPU105の第2相関度算出部は、検索語句と、第2マスタ142に含まれる各変換前語句302との相関度を算出する(ステップS603)。一例として、第2相関度算出部は、検索語句を分散表現したベクトルと、変換前語句302で示される語句それぞれを分散表現したベクトルとの、コサイン類似度を算出する。
【0076】
また、CPU105の第3相関度算出部は、検索語句と、第3マスタ143に含まれる各語句402との相関度を算出する(ステップS604)。一例として、第3相関度算出部は、検索語句を分散表現したベクトルと、語句402で示される語句それぞれを分散表現したベクトルとの、コサイン類似度を算出する。
【0077】
CPU105の変換部は、第1相関度算出部が算出した各語句202との第1相関度のうち最も高い相関度を有する第1相関度と、第2相関度算出部が算出した各変換前語句302との第2相関度のうち最も高い相関度を有する第2相関度と、第3相関度算出部が算出した各語句402との第3相関度のうち最も高い相関度を有する第3相関度と、のうち最も高い相関度が所定の閾値を超えるか否かを判定する(ステップS605)。
【0078】
第1相関度と、第2相関度、第3相関度と、のうち最も高い相関度が所定の閾値を超えると判定した場合に、CPU105の変換部は、最も高かった相関度に対するマスタによる処理結果を変換後の検索語句として出力する(ステップS606)。即ち、CPU105の変換部は、最も高かった相関度が第1相関度である場合には、検索語句をそのまま残し、最も高かった相関度が第2相関度である場合には、検索語句を、当該第2相関度を算出した態様の変換前語句に対応付けられている変換後語句に変換し、最も高かった相関度が第3相関度である場合には、検索語句を、検索キーワードから消去する。
【0079】
一方で、CPU105の変換部は、第1相関度と、第2相関度と、第3相関度のうち、最も高い相関度が所定の閾値を越えなかった場合には(ステップS605のNO)、検索語句を分かち書きし、複数の語句に分割する(ステップS607)。そして、分かち書き後の各語句を、新たな検索語句(変換対象の語句)に設定し(ステップS608)、ステップS601の処理に戻る。
【0080】
検索キーワードに含まれる全ての検索語句について、ステップS601~S608の処理を行うと、CPU105(又は、出力部103)は、変換後の語句を検索語句として含む検索キーワードを出力して(ステップS609)、処理を終了する。これにより、変換装置100は、検索結果が得られなかった検索キーワードを検索結果が得られそうな別の検索キーワードに変換することができる。
【0081】
以上が、変換装置100の動作例である。
【0082】
<変換の具体例>
図7は、検索キーワードの変換の具体例を説明するための図である。
図7は、検索結果が得られなかった検索キーワードの例として、「胸肉からあげ 中津」を変換する例を示している。
図7(a)は、この検索キーワードの変換の変遷を示す図であり、
図7(b)は、検索語句各々の、各マスタとの相関度の一例を示す図である。
【0083】
検索キーワードとして「胸肉からあげ 中津」を受け付けた場合には、検索語句は、「胸肉からあげ」と「中津」になる。「胸肉からあげ」という検索語句を分散表現したベクトルに変換し、第1マスタ、第2マスタ、第3マスタそれぞれに含まれる語句のベクトルとの相関をとったところ、最も高い相関度が所定の閾値を越えなかったため、
図7(a)に示すように、変換装置100は、「胸肉からあげ」という検索語句を分かち書きして、「胸肉」並びに「からあげ」という新たな二つの検索語句とする。
【0084】
変換装置100は、「胸肉」という検索語句について、第1マスタ、第2マスタ、第3マスタそれぞれの語句との相関度を算出する。その結果、
図7(b)に示すように、変換装置100が、第1相関度が15%、第2相関度が24%、第3相関度が96%という値を算出したとする。この場合、第3相関度が最も高いので、
図7(a)に示すように、変換装置100は、「胸肉」という検索語句を、検索キーワードから消去する。
【0085】
また、変換装置100は、「からあげ」という検索語句について、第1マスタ、第2マスタ、第3マスタそれぞれの語句との相関度を算出する。その結果、
図7(b)に示すように、変換装置100が、第1相関度が30%、第2相関度が98%、第3相関度が11%という値を算出したとする。この場合、第2相関度が最も高いので、
図7(b)に示すように、第2マスタの中の、「唐揚げ」という語句の変換後の語句として「鳥料理」を特定し、
図7(a)に示すように、「からあげ」という検索語句を、「鳥料理」という検索語句に変換する。
【0086】
また、変換装置100は、「中津」という検索語句について、第1マスタ、第2マスタ、第3マスタそれぞれの語句との相関度を算出する。その結果、
図7(b)に示すように、変換装置100が、第1相関度が72%、第2相関度が13%、第3相関度が5%という値を算出したとする。この場合、第1相関度が最も高いので、
図7(a)に示すように、変換装置100は、「中津」という検索語句をそのまま残す。
【0087】
その結果、変換装置100は、変換後の検索キーワードとして、「鳥料理 中津」という新たな検索キーワードを得ることができる。
【0088】
<実施の形態まとめ>
本実施の形態1に係る変換装置100は、検索キーワードに含まれる検索語句を分散表現したベクトルに変換し、ベクトル表現された検索語句と、第1マスタ141~第3マスタ143に登録されている各語句とのベクトル表現との相関度から、検索語句を、そのまま残すか、別の語句に変換するか、消去するかを判定することができる。検索語句を検索結果が得られる可能性が高くなるように別の語句に変換したり、消去したりすることで、検索キーワードとして、より検索結果が得られるやすくなるように、検索キーワードを変換して、変換後の検索キーワードを得ることができる。つまり、変換装置100は、第2マスタによって検索語句をより検索にヒットしやすくなる語句に変換し、ノイズとなり得る検索語句を第3マスタによって積極的に消去し、第1マスタによって元から検索にヒットしやすい検索語句を残すという変換処理を施すことで、変換後の検索キーワードによる検索結果が得られやすくすることができる。したがって、検索エンジンによる検索が得られなかった場合にも、ユーザの所望する検索結果を得ることができる可能性を向上させることができる。
【0089】
<補足>
上記実施の形態に係る変換装置は、上記実施の形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【0090】
(1)上記実施の形態において、変換装置100は、第3マスタ143を用いることなく、検索結果が得られなかった検索キーワードを、検索結果が得られるような検索キーワードに変換することとしてもよい。即ち、変換部は、第1相関度と、第2相関度とのうち、相関度の高い方を選択し、選択した相関度が所定の閾値を超えるか否かを判定し、超える場合に、対応する相関度算出部を特定して、検索語句を残すか、別の語句に変換するようにしてよい。
【0091】
(2)上記実施の形態において、変換装置100は、各マスタに対して、新たな語句を登録する登録部を備えることとしてもよい。登録部は、受付部102を介して変換装置100のユーザから指定された語句を指定先のマスタに登録することとしてよい。
【0092】
(3)上記実施の形態において、変換装置100が、POIの検索を行い、その過程で、検索キーワードによる検索結果が得られなかった場合に、その検索キーワードを変換して、変換後の検索キーワードを用いて再検索する例を示した。しかし、変換装置100は、単に、検索キーワードを変換するだけの装置であってもよい。即ち、変換装置100は、外部の検索エンジンによって検索結果が得られなかった検索キーワードを、通信部101又は受付部102により受け付けて、CPU105が変換し、変換後の検索キーワードを、出力部103が出力するだけであってもよい。即ち、変換装置100によるPOIの検索は必須の構成ではない。
【0093】
(4)上記実施の形態の
図6のステップS605において、どの相関度も所定の閾値を越えなかった場合には(ステップS605のNO)、検索語句を分かち書きして、複数の語句に分割し、新たな検索語句とする例を示している。このとき、検索語句を分かち書きできず、いずれの相関度も所定の閾値を超えないような場合には、その検索語句は、検索キーワードから消去することとしてもよい。
【0094】
(5)上記実施の形態において、検索語句や、各マスタの語句を、分散表現したベクトルは、多次元のベクトルであり、Word2Vecであれば、300次元にも及ぶと言われている。そこで、上記実施の形態において、算出する相関度の精度向上や、算出に係るCPU105の処理負荷の軽減を目的として、多次元表現されたベクトルの中から、適切な次元を選出し、選出した次元の値を用いて、相関度を算出するように構成してもよい。つまり、多次元表現されたベクトルを間引いて、次元数を落として、相関度を算出することとしてもよい。
【0095】
(6)上記実施の形態においては、変換装置における検索結果が得られなかった検索キーワードを、検索結果が得られる検索キーワードに変換する手法として、変換装置のプロセッサが変換プログラム等を実行することにより、作成することとしているが、これは装置に集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、上記実施の形態に示した複数の機能部の機能は1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。すなわち、
図8に示すように、変換装置100は、通信回路101a、受付回路102a、出力回路103a、記憶回路104a、制御回路105a、とから構成されてよく、それぞれ、通信部101、受付部102、出力部103、記憶部104、CPU105、に相当する。
【0096】
また、上記変換プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記変換プログラムは、当該変換プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記プロセッサに供給されてもよい。つまり、例えば、スマートフォン等の情報処理機器を利用して、ネットワーク上から変換プログラムをダウンロードして実行する構成としてもよい。本発明は、上記変換プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0097】
なお、上記変換プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)、C++、Python、Rなどのオブジェクト指向プログラミング言語などを用いて実装できる。
【0098】
(7)上記実施の形態に示した各種の実施例や、<補足>に示した各種の例は適宜組み合わせることとしてもよい。また、各フローチャートに示した各動作は、結果として矛盾がなければその実行順序を入れ替えたり、並列に実行したりすることとしてもよい。
【符号の説明】
【0099】
100 変換装置
101 通信部
102 受付部
103 出力部
104 記憶部
105 CPU(第1相関度算出部、第2相関度算出部、第3相関度算出部、変換部、ベクトル変換部、検索部)