(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-29
(45)【発行日】2022-08-08
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
G06F 40/232 20200101AFI20220801BHJP
G06F 16/332 20190101ALI20220801BHJP
G10L 15/28 20130101ALI20220801BHJP
【FI】
G06F40/232
G06F16/332
G10L15/28 230Z
(21)【出願番号】P 2019101316
(22)【出願日】2019-05-30
【審査請求日】2021-09-14
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110000637
【氏名又は名称】特許業務法人樹之下知的財産事務所
(72)【発明者】
【氏名】石川 健二
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2014-145842(JP,A)
【文献】特開2008-158738(JP,A)
【文献】特開2019-121048(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20-40/58
G06F 16/00-16/958
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
ユーザが所持するユーザ端末で入力された入力情報を取得する情報取得部と、
所定期間内に連続して入力された複数の前記入力情報から、誤入力された地名を誤入力地名として検出する誤入力検出部と、
前記誤入力地名に対する正しい地名である正解地名を取得する正解取得部と、
前記正解地名に対して前記誤入力地名を関連付けた正誤地名情報を生成する正誤地名情報生成部と、
を備えることを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置において、
前記正解取得部は、前記所定期間内に連続して入力された複数の前記入力情報のうち、最後に入力された前記入力情報から前記正解地名を取得する
ことを特徴とする情報処理装置。
【請求項3】
請求項2に記載の情報処理装置において、
前記正解取得部は、地名と、当該地名の読みと、当該地名を示す文字列とを関連付けた地名情報が複数記録された地名データベースから、前記最後に入力された前記入力情報に含まれる地名を前記正解地名として取得する
ことを特徴とする情報処理装置。
【請求項4】
請求項1から請求項3のいずれか1項に記載の情報処理装置において、
前記誤入力検出部は、前記正解地名に含まれる文字と、複数の前記入力情報に含まれる文字との形状類似度に基づいて、前記誤入力地名を検出する
ことを特徴とする情報処理装置。
【請求項5】
請求項4に記載の情報処理装置において、
前記ユーザ端末の機種に関する機種情報を取得する機種取得部をさらに備え、
前記誤入力検出部は、前記正解地名及び前記入力情報に含まれる文字を、前記ユーザ端末の機種で用いられるフォントで表示させた際の前記形状類似度に基づいて、前記誤入力地名を検出する
ことを特徴とする情報処理装置。
【請求項6】
請求項5に記載の情報処理装置において、
前記正誤地名情報生成部は、前記正解地名に対して、前記誤入力地名及び前記機種情報の組み合わせを関連付けた前記正誤地名情報を生成する
ことを特徴とする情報処理装置。
【請求項7】
請求項1から請求項6のいずれか1項に記載の情報処理装置において、
複数の前記入力情報は、音声情報であり、
前記誤入力検出部は、前記正解地名の文字列に含まれる文字の読み方と、前記音声情報に基づいて、前記誤入力地名を検出する
ことを特徴とする情報処理装置。
【請求項8】
請求項1から請求項7のいずれか1項に記載の情報処理装置において、
前記正誤地名情報生成部は、前記正解地名に対して、前記誤入力地名と、前記誤入力地名が含まれる前記入力情報を入力した前記ユーザのユーザ属性との組み合わせを関連付けた前記正誤地名情報を生成する
ことを特徴とする情報処理装置。
【請求項9】
請求項1から請求項8のいずれか1項に記載の情報処理装置において、
複数の前記正誤地名情報に基づいて、前記入力情報に対して前記正解地名を出力する地名レコメンドモデルを生成するモデル生成部を備える
ことを特徴とする情報処理装置。
【請求項10】
コンピューターにより、誤入力された地名と、正しい地名とを関連付けた正誤地名情報を生成する情報処理方法であって、
前記コンピューターは、情報取得部、誤入力検出部、正解取得部、及び正誤地名情報生成部を備え、
前記情報取得部が、ユーザが所持するユーザ端末において入力された入力情報を取得するステップと、
前記誤入力検出部が、所定期間内に連続して入力された複数の前記入力情報から、誤入力された地名を誤入力地名として検出するステップと、
前記正解取得部が、前記誤入力地名に対する正しい地名である正解地名を取得するステップと、
前記正誤地名情報生成部が、前記正解地名に対して前記誤入力地名を関連付けた前記正誤地名情報を生成するステップと、を実施する
ことを特徴とする情報処理方法。
【請求項11】
コンピューターにより読み取り実行可能な情報処理プログラムであって、
前記コンピューターを請求項1から請求項9のいずれか1項に記載の情報処理装置として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、ユーザ操作によって入力された地名に基づいて各種処理を実施するサービスが知られている。例えば、出発地から目的地までの経路を探索する経路探索サービスや、所望地点の地図や当該地点の各種情報を案内させる地理案内サービス等がある。
しかしながら、ユーザが地名を入力する際に、誤った読み方で地名を入力したり、誤った漢字で地名を入力したりする場合がある。これに対して、近年、ユーザ操作によって入力された地名が誤っている場合でも、その誤りを正し、地名を正しく認識する装置が知られている(例えば、特許文献1参照)。
特許文献1に記載の装置は、ユーザが発した音声に含まれる単語を認識する発話解析装置であり、ユーザの読み間違い等により、不明瞭な単語が発話内に含まれている場合でも、ユーザの発話を解析する装置である。具体的には、地名等を記録した単語リストに記録されている単語を形態素解析や文字解析により単漢字に分解し、各単漢字の読みの各々の組み合わせを読み間違い単語として生成し、入力された単語を正解単語として対応付けて読み間違い単語リストに登録している。また、単語リストに登録された単語との表記の類似性や発音の類似性から、正解単語を類推するためのスコアを算出し、閾値以上のスコアの正解単語を候補単語としている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1に記載のような装置を用い、ユーザが入力した地名の誤りを訂正したり、正しい地名を案内したりする場合、誤りである地名と、正しい地名とを対応付けたデータベースを構築する必要がある。ここで、特許文献1では、予め用意された単語リストに含まれる単語を単漢字または要素に分解して、読み間違い単語リストを生成している。しかしながら、地名の誤りは、ユーザによってそれぞれ異なる場合もあり、ユーザが、地名に含まれる単漢字を誤った別漢字に認識して、当該別漢字に基づいた読みで地名を読んでいる場合もある。この場合、特許文献1では、ユーザの読み間違いを判定することができない。
【0005】
本発明は、ユーザが誤入力した地名に対して正解地名を適正に案内可能な情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の情報処理装置は、ユーザが所持するユーザ端末で入力された入力情報を取得する情報取得部と、所定期間内に連続して入力された複数の前記入力情報から、誤入力された地名を誤入力地名として検出する誤入力検出部と、前記誤入力地名に対する正しい地名である正解地名を取得する正解取得部と、前記正解地名に対して前記誤入力地名を関連付けた正誤地名情報を生成する正誤地名情報生成部と、を備えることを特徴とする。
【発明の効果】
【0007】
本発明では、誤入力検出部は、ユーザ端末から入力される入力情報から誤入力地名を検出し、正解取得部が、誤入力地名に対する正解地名を取得する。そして、正誤地名情報生成部は、正解取得部により取得される正解地名と、誤入力検出部によって検出された誤入力地名とを関連付けた正誤地名情報を生成する。
このように、ユーザ端末から受信した入力情報の履歴に基づいて、正誤地名情報を生成することで、実際にユーザによって入力された地名の間違いと、その地名に対する正解地名とを関連付けることができる。例えば、ユーザが、地名に含まれる文字に対して、辞書にない読み方で誤った入力をした場合でも、その読みの誤入力地名と正解地名とを対応付けることができる。よって、従来よりも、誤入力地名の誤りを高い精度で正解地名に訂正可能な正誤地名情報を生成することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明に係る一実施形態の情報処理システムの概略構成を示す模式図。
【
図2】本実施形態のサーバ装置の概略構成を示すブロック図。
【
図3】本実施形態の情報処理方法を示すフローチャート。
【
図4】本実施形態の情報処理方法を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、本発明に係る一実施形態について説明する。
図1は、本実施形態の情報処理システム100の概略構成を示す模式図である。
この情報処理システム100は、本発明の情報処理装置であるサーバ装置10と、ユーザ端末20とを備え、これらのサーバ装置10と、ユーザ端末20とが、インターネットを介して通信可能に接続されている。
そして、本実施形態の情報処理システム100では、サーバ装置10は、ユーザ端末20において入力された入力情報を受信し、入力情報に地名に対する誤記が含まれているか否かを判定する。そして、入力情報に地名の誤記が含まれている場合、誤記を含む地名(誤入力地名)と、その地名に対する正しい地名(正解地名)とを関連付けた正誤地名情報を生成する。このような正誤地名情報は、地点に基づいた各種処理を実施する際に、地名の正誤判定に用いることができ、例えば、ユーザが入力した地名に誤りがある場合に、誤入力地名を正解地名に訂正したり、正解地名をユーザに案内したりすることができる。また、各種処理としては、例えば、インターネットを介した各種検索処理や、所定地点の地図を表示させる地図表示処理、出発地から目的地までの経路を案内する経路案内処理等を例示できる。
【0010】
[サーバ装置10の構成]
図2は、本実施形態のサーバ装置10の概略構成を示すブロック図である。
サーバ装置10は、
図2に示すように、通信部11、メモリ12、プロセッサ13等の、コンピューターを構築する一般的なハードウェア構成を備えている。
通信部11は、インターネットに接続され、インターネットを介してユーザ端末20等の外部機器と通信する。
【0011】
メモリ12は、サーバ装置10を制御するための各種情報や情報処理プログラムを記録する。
このメモリ12は、地名情報を記録する地名データベース(地名DB121)、正誤地名情報を蓄積する正誤地名データベース(正誤地名DB122)、文字を記録する文字データベース(文字DB123)、及びユーザ情報を記録するユーザデータベース(ユーザDB124)などを備えている。なお、本実施形態では、サーバ装置10のメモリ12に各種データベースが設けられる例を示すが、これに限定されない。各種データベースが、それぞれ、サーバ装置10とネットワークを介して通信可能に接続された他のデータサーバやクラウドストレージに設けられる構成としてもよい。
【0012】
地名DB121は、複数の地名情報が記録されている。この地名情報は、地名ID、名称情報、位置情報、及び、地点属性等を含む。
地名IDは、地点を識別する識別情報である。
名称情報は、地点の名称(地名)に関する情報であり、地名の文字列(例えば漢字等)、文字列の各文字の画像、及び、地名の読み方等を含む。
位置情報は、地点の位置を示す情報であり、経緯度が記録されていてもよく、地点が属するエリア名(例えば、都道府県名や市町村名等)が記録されていてもよい。
地点属性は、その地点に関する情報であり、例えば、その地点に存在する施設名や観光スポット、その地点の特産品等が例示できる。
【0013】
正誤地名DB122は、複数の正誤地名情報が記録されている。正誤地名情報は、正解地名に対して、誤入力地名、ユーザ属性、機種情報、及び誤入力が行われた入力位置が関連付けられた情報であり、1つの正解地名に対して、誤入力地名、ユーザ属性、機種情報、及び入力位置の組み合わせが複数関連付けられていてもよい。
正解地名は、地名に対する正しい文字列や読み方に関する情報である。正解地名としては、地名の文字列や読み方が記録されていてもよく、地点に対する地名IDが記録されていてもよい。
誤入力地名は、正解地名を示す文字列や読み方に対して、誤入力されやすい文字列や読み方が記録されている。例えば、正解地名「放出(ハナテン)」に対して、「ホウシュツ」との誤った読みが記録されていてもよく、正解地名「青海」に対して、「青梅」との誤った文字列が記録されていてもよい。
ユーザ属性は、正解地名に対して、誤入力地名を入力したユーザのユーザ属性である。
機種情報は、誤入力地名を入力したユーザ端末20の機種に関する情報である。
入力位置は、ユーザが誤入力地名を入力した位置を示す情報である。入力位置としては、厳密な位置情報(経緯度)でなくてもよく、例えば「関東地方」等の入力位置を含むエリアが記録されていればよい。
また、正誤地名情報には、誤入力地名、ユーザ属性、機種情報、及び入力位置の組み合わせに対して、誤入力が行われた回数(誤入力数)が記録されている。
【0014】
文字DB123は、文字情報を記録するデータベースであり、この文字情報には、文字と、その文字の形状を示す文字画像情報とが記録されている。文字画像情報には、端末装置の機種毎の画像情報がそれぞれ記録されている。
【0015】
ユーザDB124は、ユーザ端末20を操作する各ユーザに関するユーザ情報を記録する。ユーザ情報は、ユーザを識別するユーザID、そのユーザの属性を示すユーザ属性、及びそのユーザの入力操作の履歴情報が少なくとも記録されている。
ユーザ属性は、例えば、ユーザの性別、年齢、趣味、居所、出身地等を示す情報である。
履歴情報は、ユーザがユーザ端末20を操作した際の操作の履歴であり、例えば、ユーザが入力した検索キーワード等の入力操作履歴や、ユーザが地図上の所定地点を指定した場合の地点指定履歴等が記録されている。また、入力操作履歴としては、ユーザが手入力によって入力した文字列であるテキスト情報の他、ユーザが音声入力を行った際の音声情報をも含むものとする。
これらの操作履歴は、ユーザの入力操作を行った日時、ユーザ(ユーザ端末20)の現在位置、ユーザ端末20の機種を示す機種情報等が関連付けられて記録される。
【0016】
プロセッサ13は、CPU等の演算回路、RAM等の記録回路により構成される。プロセッサ13は、メモリ12に記録されている情報処理プログラムをRAMに展開し、RAMに展開されたプログラムとの協働で、各種処理を実行する。
そして、プロセッサ13は、情報処理プログラムを読み込み実行することで、
図2に示すように、情報取得部131、誤入力検出部132、正解取得部133、正誤地名情報生成部134、モデル生成部135等として機能する。
【0017】
情報取得部131は、本発明の機種取得部としても機能する。この情報取得部131は、ユーザ端末20から送信される送信情報を取得(受信)する。送信情報には、ユーザ端末20を操作するユーザを特定するユーザIDや、ユーザ端末20で入力された入力情報、入力操作された日時、ユーザ端末20の機種を示す機種情報、ユーザ端末20の位置情報(入力位置)等が含まれる。
情報取得部131は、受信した送信情報を操作ログとしてユーザ情報に記録する。
【0018】
誤入力検出部132は、ユーザ端末20から送信された送信情報に含まれる地名の誤入力を検出する。誤入力検出部132による誤入力の検出に関する詳細については、後述する。
正解取得部133は、誤入力検出部132により検出された誤入力された地名(誤入力地名)に対する、正しい地名(正解地名)を取得する。正解取得部133による正解地名の取得方法については後述する。
正誤地名情報生成部134は、正誤地名情報を生成する。
モデル生成部135は、正誤地名情報を元に、誤入力地名に対する正解地名を出力する地名レコメンドモデルを生成する。この地名レコメンドモデルは、多数の正誤地名情報を教師データとして、機械学習により生成されるモデルであり、入力情報、ユーザ属性、及び入力位置を入力として、入力情報に含まれる誤入力地名と、その誤入力地名に対する正解地名とを出力するモデルである。
【0019】
[ユーザ端末20の構成]
ユーザ端末20は、ユーザが保有するコンピューターであり、例えばスマートフォンやタブレット端末、パーソナルコンピューター等により構成される。つまり、ユーザ端末20は、各種情報を表示させる表示ディスプレイ、各種情報を入力操作するための入力操作部、音声情報を入力するためのマイク、ユーザ端末20の現在位置を計測するGPS装置等の位置検出センサー、インターネットを介してサーバ装置10等を通信する通信部、各種情報を記憶する記憶部、及びユーザ端末20を制御する制御部等を含んで構成される。
【0020】
[情報処理方法]
次に、本実施形態の情報処理システム100を用いた情報処理方法、特に、正解地名と誤入力地名とを関連付けた正誤地名情報の生成方法について説明する。
図3及び
図4は、本実施形態の正誤地名情報の生成方法を示すフローチャートである。
図3において、サーバ装置10の情報取得部131は、ユーザ端末20から送信される送信情報を受信する(ステップS1)。
この送信情報は、ユーザがユーザ端末20を操作した際に、ユーザ端末20からサーバ装置10に送信される情報である。例えば、ユーザ端末20において、検索キーワードに基づいた検索処理が実施された場合に、検索キーワードを入力情報とした送信情報がサーバ装置10に送信される。この送信情報には、入力情報の他、ユーザ端末20を操作するユーザを識別するためのユーザID、ユーザ端末20の機種情報、入力情報の入力日時(検索処理を実施した日時)、ユーザ端末20の現在位置(入力位置)が含まれる。
また、情報取得部131は、受信した入力情報、入力日時、機種情報、入力位置を関連付け、ユーザIDに対応するユーザ情報の履歴情報に蓄積する。
【0021】
次に、誤入力検出部132は、ステップS1で受信される送信情報が、所定期間で連続受信したか否かを判定する(ステップS2)。つまり、誤入力検出部132は、ユーザ情報に蓄積された履歴情報に基づいて、所定期間で連続した複数の入力情報が送信されたか否かを判定する。
ユーザ端末20において検索キーワードに基づいた検索処理が実施される際、当該検索キーワードに目的の地名(正解地名)が含まれていない場合では、検索処理でユーザの所望する検索結果を返すことができない。この場合、ユーザは、検索処理で抽出された複数の検索結果を選択することなく、検索キーワードを変更して、再度検索処理を実施する可能性が高く、所望の検索結果が得られた際に、検索結果のいずれかが選択される。したがって、所定期間において、連続して複数回の検索キーワードが入力されることになり、最後の検索キーワードに正解地名が含まれている可能性が高い。誤入力検出部132は、所定期間に連続して複数の送信情報が送信された場合、ステップS2でYesと判定し、これらの送信情報に含まれる入力情報のうち、最後の入力情報以外に誤入力地名が含まれるものと判定する。
【0022】
なお、連続して入力される入力情報としては、予め設定された所定時間内に入力される入力情報である。連続して入力される入力情報は、情報の種別が変更されてもよい。例えば、ユーザが音声情報として入力情報を入力した際に、所望の検索結果が得られないため、テキスト情報の検索キーワードを入力情報として入力する場合があり、さらに、地図上の所定地点を示す入力情報を入力する場合もある。この場合、所定期間内に連続して入力される入力情報は、テキスト情報、音声情報、地点の位置情報と推移する。このように、入力情報の種別が変更される場合、連続して入力される入力情報であるかを判定するための前記所定時間が変更(延長)されてもよい。例えば、テキスト情報の入力情報の後に、テキスト情報の入力情報が入力される場合、これらの入力情報が、連続して入力された入力情報であるか否かを判定するための時間は30秒とする。一方、テキスト情報の入力情報の後に、地図の位置情報の入力情報が入力される場合、これらの入力情報が、連続して入力された入力情報であるか否かを判定するための時間は60秒とする。
【0023】
そして、ステップS2でNoと判定される場合は、送信情報に含まれる検索キーワードに誤入力地名が含まれないとして、処理を終了し、その送信情報に基づいた正誤地名情報の生成は実施しない。
【0024】
一方、ステップS2でYesと判定される場合、正解取得部133は、連続して入力された複数の入力情報のうち、最後の入力情報に、正解地名が含まれるか否かを判定する(ステップS3)。
つまり、正解取得部133は、最後の入力情報に、地名DB121に記録された地名データに対応する正解地名が含まれているか否かを判定する。このステップS3では、正解取得部133は、地名DB121を参照し、入力情報に、地名DB121記録された地名が含まれるか否かを判定する。
例えば、入力情報が文字列により構成されたテキスト情報である場合、その文字列に対応する文字列又は読み方が記録された地名情報を検索する。
入力情報が音声情報である場合、正解取得部133は、音声情報を解析してテキスト情報とし、対応する読み方の地名情報を検索する。音声情報の解析としては、従来の音声認識技術を用いることができ、例えば、音響モデルを用いた音響認識技術や、隠れマルコフモデルを用いた音声認識技術を用いることができる。
また、入力情報が地図上の所定地点の位置情報である場合、その位置に対応した地名を地図情報から取得すればよい。
【0025】
ステップS3でYesと判定される場合、正解取得部133は、その正解地名を取得し、メモリ12に記録する(ステップS4)。
一方、ステップS3でNoと判定される場合では、ユーザは複数回の検索によって、所望の地名を探すことができず、地名の入力を諦めた可能性があり、この場合、処理を終了し、送信情報に基づいた正誤地名情報の生成は実施しない。
【0026】
ステップS4で正解地名が取得されると、誤入力検出部132は、連続して入力された複数の入力情報のうち、最後の入力情報を除く他の入力情報(誤入力情報)から、誤入力地名を検出する。
具体的には、誤入力検出部132は、誤入力情報が地名の読み方を示す入力情報であるか否かを判定する(ステップS5)。このステップS5では、誤入力検出部132は、入力情報が、ひらがなやカタカナ、またはローマ字により入力されたテキスト情報、あるいは音声情報である場合に、Yesと判定する。音声情報の場合、誤入力検出部132は、音声情報を解析してテキスト情報に変換する。
ステップS5でYesと判定すると、誤入力検出部132は、正解地名の読み方を、他の読み方に変換し(ステップS6)、その読み方が誤入力情報に含まれる読み方になるか否かを判定する(ステップS7)。例えば、「放出(ハナテン)」との地名に関し、「ホウシュツ」「ホウスイ」「ホウデ」「ホウダ」「ホウイズル」「ホウテン」「ハナシュツ」「ハナスイ」「ハナデ」「ハナダ」「ハナイズル」等の読み方が抽出され、入力情報にこれらの読み方が含まれる場合、ユーザが誤入力地名を入力したと判定することができる。
ステップS7でYesと判定される場合、誤入力検出部132は、誤入力情報に含まれる読み方を誤入力地名として判定する(ステップS8)。
【0027】
ステップS7でNoと判定される場合、誤入力検出部132は、正解地名の文字列の各文字を類似する文字に変更した場合の文字列の読み方を抽出し(ステップS9)、抽出された読み方が、誤入力情報の読み方になるか否かを判定する(ステップS10)。
例えば、「青梅(オウメ)」との地名に関し、「梅」を「海」「侮」「悔」等に入れ替えた文字列、「青」を「肯」「胃」等に入れ替えた文字列の組み合わせを生成し、これらの組み合わせの読み方を抽出する。この場合、ユーザが正解地名の文字(漢字)を間違え、その読み方を誤入力地名として入力したと判定することができる。
なお、地名の文字を入れ替える際には、ユーザ端末20の機種情報を参照し、文字列の各文字をユーザ端末20の機種の標準フォントに置き換えた際に、正解地名の各文字との形状類似度が所定値以上となる文字を入れ替える。これにより、機種のフォントによるユーザの読み間違いをも検出することが可能となる。
ステップS10でYesと判定される場合、誤入力検出部132は、ステップS8と同様に、誤入力情報に含まれる読み方を誤入力地名として判定する。
【0028】
ステップS10でNoと判定される場合、連続して入力された入力情報は、誤入力地名を含む誤入力情報ではないものとして、処理を終了し、その送信情報に基づいた正誤地名情報の生成は実施しない。
【0029】
一方、ステップS5でNoと判定される場合、誤入力情報に地名の文字列(漢字や英単語等)が含まれる。この場合、
図4に示すように、誤入力検出部132は、誤入力情報に含まれる文字列と、正解地名の文字列とで、一致する文字(一致文字)があり、かつ、複数の入力情報で一致文字が共通するか否かを判定する(ステップS11)。
例えば、「下北沢」との正解地名に対して、「下来沢」「下比沢」「下此沢」等が入力された場合、ユーザが誤入力地名を入力したと判定することができる。
ステップS11でYesと判定される場合、誤入力検出部132は、共通する一致文字が含まれる各誤入力情報の文字列を、誤入力地名として検出する(ステップS12)。
【0030】
ステップS11でNoと判定される場合、誤入力検出部132は、誤入力情報に含まれる文字列の各文字と、正解地名の文字列の各文字との形状類似度を算出する(ステップS13)。具体的には、誤入力検出部132は、各文字の形状を示す文字画像情報を文字DB123から読み出し、正解地名の文字と、誤入力情報の文字との形状類似度を算出する。この際、ユーザ端末20から送信される送信情報に含まれる機種情報を参照し、ユーザ端末20の機種に対応した文字画像情報を読み出すことが好ましい。つまり、ユーザが使用するユーザ端末20は、その機種によって標準で使用するフォントが異なることがあり、フォントによって、文字の見え方が大きく相違する場合がある。これに対して、機種に応じたフォントの文字画像情報を読み出すことで、フォントの違いによる類似度の変化を算出することが可能となる。
例えば、「青梅」との正解地名に対して、「青海」「肯梅」「肯海」等が入力された場合、ユーザが誤入力地名を入力したと判定することができる。
そして、誤入力検出部132は、算出された形状類似度が所定値以上であるか否かを判定し(ステップS14)、Yesと判定される場合に、ステップS12と同様、誤入力情報に含まれる文字列を誤入力地名として検出する。
【0031】
ステップS14において、Noと判定される場合、さらに、誤入力検出部132は、誤入力地名の文字列に含まれる各文字から、文字列の読み方を抽出し、正解地名の読み方に一致するか否かを判定する(ステップS15)。
例えば、「放出(ハナテン)」との正解地名に対して、「花点」「華天」等が入力された場合、ユーザが誤入力地名を入力したと判定することができる。
ステップS15でYesと判定される場合、ステップS12と同様、誤入力検出部132は、誤入力情報の文字列を、誤入力地名として検出する。
【0032】
ステップS15でNoと判定される場合は、連続して入力された入力情報は、誤入力地名を含む誤入力情報ではないものとして、処理を終了し、その送信情報に基づいた正誤地名情報の生成は実施しない。
【0033】
図3に戻り、ステップS8及びステップS12によって誤入力検出部132により誤入力地名が検出された後、正誤地名情報生成部134は、正誤地名DB122を更新する(ステップS16)。
このステップS16では、正誤地名情報生成部134は、誤入力情報を送信したユーザIDに対応するユーザ情報のユーザ属性を読み込む。
そして、正誤地名情報生成部134は、正解地名に対応する正誤地名情報を正誤地名DB122から検索する。
正解地名に対応する正誤地名情報がない場合、正誤地名情報生成部134は、正解地名に対して、誤入力地名、ユーザ属性、及び入力位置を関連付けた正誤地名情報を生成し、正誤地名DB122に記録する。
正誤地名DB122に、正解地名に対する正誤地名情報が既に記録されている場合、正誤地名情報生成部134は、既に記録されている正誤地名情報に、誤入力地名、ユーザ属性、機種情報、及び入力位置の組み合わせを新たに追加して更新する。正誤地名情報に、誤入力地名、ユーザ属性、機種情報、及び入力位置の組み合わせが既に記録されている場合、その組み合わせに対して誤入力数を「1」追加する。
【0034】
この後、モデル生成部135は、正誤地名DB122に記録された正誤地名情報を教師データとして機械学習を行い、入力情報(地名の文字列や読み方)、ユーザ属性、ユーザ端末20の機種、及び現在位置を入力とし、正解地名を出力とした地名レコメンドモデルを生成する(ステップS17)。
このような地名レコメンドモデルでは、地名の文字列や読み方に加え、ユーザ属性や現在位置を入力として、正解地名を出力する。よって、ユーザ属性や、ユーザの現在位置に応じて、レコメンドすべき正解地名を精度よく出力することが可能となる。
例えば、大阪の日本橋(ニッポンバシ)と、東京の日本橋(ニホンバシ)とにおいて、大阪の居住の多数のユーザが、東京において、「ニッポンバシ」とした誤入力地名で、東京の「日本橋」を検索処理が多数行われたとする。この場合、本実施形態の地名レコメンドモデルは、大阪に居住のユーザが、現在位置「大阪」においてユーザ端末20で「ニッポンバシ」と入力した場合、地名レコメンドモデルは、大阪の「日本橋(ニッポンバシ)」を出力する。一方、大阪に居住のユーザが、現在位置「東京」において、ユーザ端末20で「ニッポンバシ」と入力した場合、地名レコメンドモデルは、入力された地名は誤入力地名であるとし、正解地名として東京の「日本橋(ニホンバシ)」を出力することが可能となる。
【0035】
このような地名レコメンドモデルを用いることで、ユーザに対して正確な地名に基づいた各種処理を提供することができる。例えば、サーバ装置10や、サーバ装置10から地名レコメンドモデルが提供されたコンピューターは、ユーザ端末20から入力情報を受信した際に、地名レコメンドモデルに各種情報を入力し、誤入力地名に対する正解地名をユーザ端末20に返してもよい。例えば、「放出(ハナテン)」を「ホウシュツ」と入力したユーザに対して、サーバ装置10が「もしかして、ハナテン?」といった情報を返す例が挙げられる。
あるいは、サーバ装置10や、サーバ装置10から地名レコメンドモデルが提供されたコンピューターは、ユーザ端末20から入力情報を受信した際に、地名レコメンドモデルに各種情報を入力し、誤入力地名に対する正解地名を特定し、その正解地名により各種処理を実施してもよい。例えば、「放出(ハナテン)」の地図表示を要求するユーザが、「ホウシュツ」の地図表示を要求する入力を行った場合、サーバ装置10は、地名レコメンドモデルを用いて、「ホウシュツ」を正解地名である「ハナテン」に変換した上で、ハナテンに対する地図をユーザ端末20に返す。
また、サーバ装置10や、サーバ装置10から地名レコメンドモデルが提供されたコンピューターは、ユーザ端末20における入力支援を行うこともできる。例えば、ユーザ端末20の所定の入力欄に、ユーザが「青梅」と入力した際に、「青海」を含む地名を候補として表示させてもよい。
【0036】
[本実施形態の作用効果]
本実施形態のサーバ装置10は、プロセッサ13がメモリ12に記憶された情報処理プログラムを読み込み実行することで、情報取得部131、誤入力検出部132、正解取得部133、及び正誤地名情報生成部134として機能する。そして、情報取得部131が、ユーザが所持するユーザ端末20で入力された入力情報を取得すると、誤入力検出部132は、所定期間内に連続して入力された複数の入力情報から、誤入力地名を検出し、正解取得部133は、誤入力地名に対する正解地名を取得する。そして、正誤地名情報生成部134は、正解地名に対して誤入力地名を関連付けた正誤地名情報を生成する。
このような本実施形態では、サーバ装置10は、ユーザの実際の地名の間違いに基づいて、誤入力地名と正解地名とを関連付けた正誤地名情報を生成することができる。このため、例えば、ユーザが、ある地名に対して、辞書にないような読み方や文字列で誤入力をしている場合でも、誤入力地名と正解地名とを対応付けた正誤地名情報を生成することができる。
【0037】
本実施形態では、正解取得部133は、所定期間内に連続して入力された複数の入力情報のうち、最後に入力された入力情報から正解地名を取得する。
検索処理等の各種処理で所定期間に連続して入力された入力情報は、最後に入力した入力情報に含まれる地名が正解であり、その正解地名に基づいて、ユーザが所望する正解地名に対する処理が行われた可能性が高い。したがって、本実施形態では、最後に入力した入力情報に基づいて正解地名を適正に取得することができる。
【0038】
また、本実施形態では、地名DB121に、所定地点を識別する地名ID、地名の読み方、地名を表記するための文字列等を含む名称情報、地点の位置を示す位置情報、地点の属性を示す地名属性等を含む地名情報が記録されている。そして、正解取得部133は、最後に入力された入力情報に地名DB121に記録された地名情報に対応する地名を抽出して、正解地名として取得する。
よって、地名情報に記録されている地名は、いずれも、正式な地名に関するものであり、正解取得部133は、地名情報に基づいて正しい読み方や文字列の地名を正解地名として取得することができる。
【0039】
本実施形態では、誤入力検出部132は、正解地名に含まれる文字と、複数の入力情報に含まれる文字と、の形状類似度に基づいて、誤入力地名を検出する。
これにより、誤入力検出部132は、ユーザが誤って入力した文字を、文字の形状特徴から検出することができる。例えば、「青海」との表記を「青梅」としている場合、「海」と「梅」との文字が一致せず、かつ、類似度が高い。この場合、「海」と「梅」とを誤入力している可能性が高く、誤入力検出部132は、「青梅」を誤入力地名と検出することができる。一方、「青梅」との表記を、「赤羽」としている場合では文字列の形状類似度は低い。この場合、誤入力検出部132は、ユーザの誤った認識による誤入力とは判断しない。これにより、ユーザがよく間違う誤入力地名を適正に検出することができる。
【0040】
本実施形態では、情報取得部131は、送信情報として、入力情報に加えてユーザ端末20の機種に関する機種情報を取得する。そして、誤入力検出部132は、正解地名及び入力情報に含まれる文字を、ユーザ端末20の機種で用いられるフォントで表示させた際の形状類似度に基づいて、誤入力地名を検出する。
これにより、機種によって文字の形状類似度が高くなる文字を好適に判断することができる。つまり、機種で用いられるフォントによっては、正解地名で用いられる文字と、ユーザが入力した文字とが類似し、両者を識別しにくい場合がある。このような場合、ユーザは誤入力地名を入力しやすい。本実施形態では、ユーザ端末20の機種に基づいて、その機種のフォントに文字を変換した後、正解地名の文字と、入力情報に含まれる文字との形状類似度を算出する。これにより、機種の違いによるユーザの誤入力を精度よく判定することができる。
【0041】
さらに、本実施形態では、正誤地名情報生成部134は、正解地名に対して、誤入力地名及び機種情報の組み合わせを関連付けた正誤地名情報を生成する。
この場合、所定の機種のユーザ端末20を用いた多数のユーザが、同じ誤入力を行っている場合、正誤地名情報に登録される、当該誤入力地名と当該機種情報との組み合わせに対する総数が増大する。これにより、特定の機種のユーザ端末20を用いた場合に、よく誤入力される地名であるか否かを容易に判定することができる。
例えば、機種に関係なく、誤入力地名に対する誤入力数が増大するが、一部の機種のみ誤入力数が増大している場合は、機種によって表示されるフォントの違いにより、誤入力される可能性が高いことを意味する。よって、このような正誤地名情報を用いることで、ユーザが入力した地名が誤入力地名であるか、正解地名であるかを容易に判断することができる。具体的には、本実施形態では、モデル生成部135は、上記のような正誤地名情報に基づいて、入力された入力情報の文字列及び機種情報に基づいて、誤入力地名と正解地名とを精度よく出力可能な地名レコメンドモデルを生成することができる。
【0042】
本実施形態では、情報取得部131は、入力情報として、音声情報を取得してもよい。
音声情報を取得した場合、誤入力検出部132は、正解地名の文字列に含まれる文字の読み方と、音声情報に基づいて、誤入力地名を検出する。
地名の読み方を誤って記憶しているユーザも多く、この場合、音声入力時に正しい地名を入力することができない。例えば、「放出(ハナテン)」を「ホウシュツ」と入力した場合、従来の装置では正しく地名を判別することができない。
これに対して、本実施形態では、このような音声情報に対しても、ユーザの実際の地名の読み誤りと、正解地名とに基づいて正誤地名情報を生成することができる。これにより、地名の読み間違いを適正に判定可能な地名レコメンドモデルを生成できる。
【0043】
本実施形態では、正誤地名情報生成部134は、正解地名に対して、誤入力地名、機種情報、ユーザ属性、及び入力位置の組み合わせを関連付けた正誤地名情報を生成する。
このため、ユーザ属性に応じた正誤地名情報を生成できる。例えば、関西地方のユーザがよく誤入力する地名、10代から20代の年齢層のユーザがよく誤入力する地名などを判定可能な正誤地名情報を生成することができる。
また、誤入力情報を送信した際の入力位置をも関連付けることで、特定のユーザ属性が、特定の位置でよく間違う地名などを判定可能な正誤地名情報を生成することができる。
例えば、本実施形態の正誤地名情報を用いることで、大阪のユーザが、東京において「ニッポンバシ」と入力した際、「ニッポンバシ」は誤入力であり、「ニホンバシ」が正解地名であるといった出力が可能な地名レコメンドモデルを生成することができる。
また、個々のユーザが誤りやすい地名をレコメンドすることも可能となる。つまり、ユーザ属性として、個々のユーザに特有の情報(例えばユーザID)を含めることで、地名レコメンドモデルは、個々のユーザの固有の誤入力を検出し、正解地名を返すことができる。
【0044】
プロセッサ13は、モデル生成部135として機能し、複数の正誤地名情報に基づいて、入力情報に対して正解地名を出力する地名レコメンドモデルを生成する。
つまり、本実施形態では、多数のユーザから送信された送信情報に基づいて生成される正誤地名情報から、機種情報、ユーザ属性、及び入力位置に基づいた精度の高い誤入力地名の判断が可能な地名レコメンドモデルを生成できる。これにより、ユーザ端末20で入力された入力情報に誤入力地名が含まれる場合に、高い精度で正しい地名を返すことができる。
【0045】
[変形例]
本発明は、上述した実施形態に限定されるものではなく、本発明の目的を達成できる範囲で、以下に示される変形をも含むものである。
【0046】
(変形例1)
上記実施形態では、正解取得部133は、連続して入力される複数の入力情報の最後の入力情報に含まれる地名を、正解地名であると判定し、正解地名に対する地名が含まれない場合、正誤地名情報の生成を行わない例を示した。しかしながら、ユーザが最後まで正解地名に辿り着けなかった場合、入力情報から正解地名を取得するのは困難である。
これに対して、正解取得部133は、最後に入力された入力情報に含まれる各キーワードに基づいて正解地名を取得してもよい。例えば、入力情報に、地名の他に、その地名にある施設や観光スポット、特産品等に関する付加情報が含まれているか否かを判定してもよい。この場合、地名DB121の地名情報に記録されている地名属性に基づいて、正解地名を特定することができる。
例えば、連続して入力された入力情報の全てに「青梅」とのキーワードが含まれ、最後に入力された入力情報が、「青梅、ゼップ(登録商標)」とのキーワードが含まれる場合、正解取得部133は、「ゼップ東京」との施設が地名属性として記録された地名情報を抽出することで、「青海」との正解地名を取得してもよい。
【0047】
(変形例2)
上記実施形態では、モデル生成部135により地名レコメンドモデルを生成する例を示したが、これに限定されない。
例えば、サーバ装置10又は、サーバ装置10から正誤地名情報を提供されたコンピューターは、正誤地名情報に基づいて、ユーザの誤入力地名から正解地名をレコメンドしたり、誤入力地名を正解地名に変換したりする処理を実施してもよい。例えば、サーバ装置10は、プロセッサ13が情報処理プログラムを読み込み実行することで、誤入力変換部として機能してもよい。この誤入力変換部は、ユーザ端末20から送信される送信情報に基づいて、ユーザに対応する機種情報、ユーザ属性、及び入力位置を特定する。そして、正誤地名情報から入力情報に含まれる誤入力地名を検索する。そして、当該誤入力地名と組み合わせを構成する機種情報、ユーザ属性、及び入力位置が、ユーザに対応する機種情報、ユーザ属性、及び入力位置が含まれる場合、入力情報に誤入力地名が含まれると判定し正解地名を返す。このような処理によっても、ユーザの誤入力地名に対して正解地名をレコメンドしたり、誤入力地名を正解地名に変換したりすることができる。
【0048】
(変形例3)
上記実施形態では、正誤地名情報は、正解地名に対して、誤入力地名、機種情報、ユーザ属性、及び入力位置の組み合わせと、その組み合わせに対する誤入力数とを記録する例を示したが、これに限定されない。例えば、正誤地名情報は、少なくとも正解地名に対して、誤入力地名と誤入力数とが関連付けられていればよい。
【0049】
(変形例4)
上記実施形態では、誤入力検出部132は、正解地名の読み方を他の読み方に変換した場合、又は、正解地名の文字列の各文字を類似する文字に変更した場合に誤入力情報の読み方になるか否かを判定することで、誤入力地名を検出した。また、誤入力検出部132は、誤入力情報と正解地名との文字列で一致文字があるか、誤入力情報に含まれる文字列の各文字と、正解地名の文字列の各文字との形状類似度が所定値以上かを判定することで誤入力地名を検出した。
これに対して、誤入力検出部132は、連続して入力された入力情報のうち、最後の入力情報以外の全てを誤入力地名として検出してもよい。この場合、ユーザが、正解地名に対して誤って入力した誤入力地名ではない可能性もある。しかしながら、多数のユーザから、正解地名に対する誤入力地名を収集し、多数の教師データに基づいて、モデル生成部135が地名レコメンドモデルを生成することで、正解地名に対して、多くのユーザが誤って入力する誤入力地名を適正に判断することができる。例えば、ユーザが正解地名である「青梅」を、「おおさか」として誤入力した場合、上記実施形態では、誤入力検出部132は、「おおさか」を誤入力地名として検出しない。しかしながら、本変形例4のように、最後の入力情報以外の全てを誤入力地名として検出する場合、「おおさか」が「青梅」の誤入力地名として検出されることになる。
そして、多数のユーザから上記誤入力に関する情報が集まれば、モデル生成部135によって、「おおさか」が「青梅」の間違いであるとの地名レコメンドモデルが生成されることになる。つまり、正解地名に含まれる各文字の読み方とは全く異なる読み方で誤入力地名を入力している場合や、正解地名の各文字とは全く類似しない文字で誤入力地名を入力している場合であっても、正解地名と誤入力地名とを対応付けることが可能となる。
【0050】
(変形例5)
上記実施形態において、サーバ装置10がコンピューターにより構成されて、情報取得部131、誤入力検出部132、正解取得部133、正誤地名情報生成部134、モデル生成部135等として機能する例を示した。ここで、サーバ装置10を構成するコンピューターの数は特に限定されない。例えば、1台のコンピューターによってサーバ装置10が構成されてもよく、複数のコンピューターをネットワークで接続して構築されるクラウドサーバをサーバ装置10としてもよい。
【符号の説明】
【0051】
10…サーバ装置(情報処理装置)、11…通信部、12…メモリ、13…プロセッサ、20…ユーザ端末、131…情報取得部、132…誤入力検出部、133…正解取得部、134…正誤地名情報生成部、135…モデル生成部、121…地名DB、122…正誤地名DB、123…文字DB、124…ユーザDB。