(57)【要約】      （修正有）【課題】ユーザにより入力された文字列に対して正しい文字列をより高精度に抽出することを可能とする情報処理装置及び制御プログラムを提供する。【解決手段】情報処理装置である端末装置１は、連続する所定数の文字が含まれる各文字群と、各文字群の分散表現を示すベクトルとの対応関係情報を記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶する記憶部１４と、入力文字列から抽出した連続する所定数の文字が含まれる複数の文字群に対応する各ベクトルの第２の平均又は総和を算出する算出部１５２と、第２の平均又は総和と類似する第１の平均又は総和に対応する登録文字列を抽出する抽出部１５３と、抽出された登録文字列を出力する出力部１３と、を有する。【選択図】図３
2019003488.tif 000002
【特許請求の範囲】
【請求項１】
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶する記憶部と、
ユーザにより入力された入力文字列を取得する取得部と、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出する算出部と、
前記算出部により算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出する抽出部と、
前記抽出部により抽出された前記登録文字列を出力する出力部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記取得部は、ユーザにより入力された前記入力文字列とは異なる入力単語をさらに取得し、
前記抽出部により抽出された各登録文字列を、各登録文字列に対応する前記第１の平均又は総和が、前記入力単語に対応する前記第１の平均又は総和と類似する順に順位付けする順位付け部をさらに有し、
前記出力部は、前記抽出部により抽出された各登録文字列を前記順位付け部により順位付けされた順位に基づいて出力する、請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、さらに、複数の登録文字列のそれぞれと、各登録文字列の分散表現を示す第２のベクトルとの第２の対応関係情報を記憶し、且つ、前記複数の登録文字列に対応する複数の前記第２のベクトルを各登録文字列と関連付けて記憶し、
前記取得部は、ユーザにより入力された前記入力文字列とは異なる入力単語をさらに取得し、
前記抽出部により抽出された各登録文字列を、各登録文字列に対応する前記第２のベクトルが、前記入力単語に対応する前記第２のベクトルと類似する順に順位付けする順位付け部をさらに有し、
前記出力部は、前記抽出部により抽出された各登録文字列を前記順位付け部により順位付けされた順位に基づいて出力する、請求項１に記載の情報処理装置。
【請求項４】
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶する記憶部と、
ユーザにより入力された入力文字列を取得する取得部と、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出する算出部と、
前記算出部により算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出する抽出部と、
前記入力文字列を前記抽出部により抽出された前記登録文字列に置換する置換部と、
を有することを特徴とする情報処理装置。
【請求項５】
前記抽出部は、ユークリッド距離又はコサイン類似度を利用して、前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和を特定する、請求項１〜４の何れか一項に記載の情報処理装置。
【請求項６】
前記記憶部は、前記登録文字列が漢字である場合、当該登録文字列をひらがなに変換し、ひらがなに変換された登録文字列から抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの前記第１の平均又は総和を各登録文字列と関連付けて記憶し、
前記算出部は、前記入力文字列が漢字である場合、当該入力文字列をひらがなに変換し、ひらがなに変換された入力文字列から抽出した連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの前記第２の平均又は総和を算出する、請求項１〜５の何れか一項に記載の情報処理装置。
【請求項７】
記憶部及び出力部を有する情報処理装置の制御方法であって、
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を前記記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて前記記憶部に記憶し、
ユーザにより入力された入力文字列を取得し、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、
前記算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出し、
前記抽出された登録文字列を前記出力部に出力する、
ことを含むことを特徴とする制御方法。
【請求項８】
記憶部及び出力部を有する情報処理装置の制御方法であって、
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を前記記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて前記記憶部に記憶し、
ユーザにより入力された入力文字列を取得し、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、
前記算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出し、
前記入力文字列を前記抽出された前記登録文字列に置換する、
ことを含むことを特徴とする制御方法。
【請求項９】
記憶部及び出力部を有する情報処理装置の制御プログラムであって、
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を前記記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて前記記憶部に記憶し、
ユーザにより入力された入力文字列を取得し、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、
前記算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出し、
前記抽出された登録文字列を前記出力部に出力する、
ことを前記情報処理装置に実行させることを特徴とする制御プログラム。
【請求項１０】
記憶部及び出力部を有する情報処理装置の制御プログラムであって、
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を前記記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて前記記憶部に記憶し、
ユーザにより入力された入力文字列を取得し、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、
前記算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出し、
前記入力文字列を前記抽出された前記登録文字列に置換する、
ことを前記情報処理装置に実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザにより入力された文字列を処理する情報処理装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
一般に、ユーザは、電子文書を作成する場合、又はＷｅｂブラウザを介した検索を行う場合等に、情報処理装置を用いて必要な情報を入力する。しかしながら、ユーザにより入力された文字列は、人為的な入力ミス等により誤っている可能性がある。その場合、ユーザにより入力された文字列の訂正用候補を出力して、ユーザに文字列の訂正を促すことが望まれている。
【０００３】
例えば、特許文献１には、予め登録された補正ルールに基づいて、入力部によって入力された文字列の誤りを検出し、誤りがあった場合に正しい文字列に補正する文書作成装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２９３０７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ユーザにより入力される文字列の誤りには多種多様なパターンが存在し得るため、あらゆるパターンの誤りを検出し、正しい文字列に補正することは困難である。ユーザにより入力された文字列の訂正用候補を出力するシステムにおいては、正しい文字列をより高精度に抽出することが望まれている。
【０００６】
本発明は、ユーザにより入力された文字列に対する正しい文字列をより高精度に抽出することを可能とする情報処理装置、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶する記憶部と、ユーザにより入力された入力文字列を取得する取得部と、入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出し、抽出した複数の文字群に対応する複数のベクトルを記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出する算出部と、算出部により算出された第２の平均又は総和と類似する、記憶部に記憶された第１の平均又は総和に対応する登録文字列を抽出する抽出部と、抽出部により抽出された登録文字列を出力する出力部と、を有する。
【０００８】
また、本発明に係る情報処理装置において、取得部は、ユーザにより入力された入力文字列とは異なる入力単語をさらに取得し、抽出部により抽出された各登録文字列を、各登録文字列に対応する第１の平均又は総和が、入力単語に対応する第１の平均又は総和と類似する順に順位付けする順位付け部をさらに有し、出力部は、抽出部により抽出された各登録文字列を順位付け部により順位付けされた順位に基づいて出力することが好ましい。
【０００９】
また、本発明に係る情報処理装置において、記憶部は、さらに、複数の登録文字列のそれぞれと、各登録文字列の分散表現を示す第２のベクトルとの第２の対応関係情報を記憶し、且つ、複数の登録文字列に対応する複数の第２のベクトルを各登録文字列と関連付けて記憶し、取得部は、ユーザにより入力された入力文字列とは異なる入力単語をさらに取得し、抽出部により抽出された各登録文字列を、各登録文字列に対応する第２のベクトルが、入力単語に対応する第２のベクトルと類似する順に順位付けする順位付け部をさらに有し、出力部は、抽出部により抽出された各登録文字列を順位付け部により順位付けされた順位に基づいて出力することが好ましい。
【００１０】
また、本発明に係る情報処理装置は、連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶する記憶部と、ユーザにより入力された入力文字列を取得する取得部と、入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出し、抽出した複数の文字群に対応する複数のベクトルを記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出する算出部と、算出部により算出された第２の平均又は総和と類似する、記憶部に記憶された第１の平均又は総和に対応する登録文字列を抽出する抽出部と、入力文字列を抽出部により抽出された登録文字列に置換する置換部と、を有する。
【００１１】
また、本発明に係る情報処理装置において、抽出部は、ユークリッド距離又はコサイン類似度を利用して、第２の平均又は総和と類似する、記憶部に記憶された第１の平均又は総和を特定することが好ましい。
【００１２】
また、本発明に係る情報処理装置において、記憶部は、登録文字列が漢字である場合、当該登録文字列をひらがなに変換し、ひらがなに変換された登録文字列から抽出された連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶し、算出部は、入力文字列が漢字である場合、当該入力文字列をひらがなに変換し、ひらがなに変換された入力文字列から抽出した連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第２の平均又は総和を算出することが好ましい。
【００１３】
本発明に係る制御方法は、記憶部及び出力部を有する情報処理装置の制御方法であって、連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶部に記憶し、ユーザにより入力された入力文字列を取得し、入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出し、抽出した複数の文字群に対応する複数のベクトルを記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、算出された第２の平均又は総和と類似する、記憶部に記憶された第１の平均又は総和に対応する登録文字列を抽出し、抽出された登録文字列を出力部に出力することを含む。
【００１４】
また、本発明に係る制御方法は、記憶部及び出力部を有する情報処理装置の制御方法であって、連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶部に記憶し、ユーザにより入力された入力文字列を取得し、入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出し、抽出した複数の文字群に対応する複数のベクトルを記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、算出された第２の平均又は総和と類似する、記憶部に記憶された第１の平均又は総和に対応する登録文字列を抽出し、入力文字列を抽出された登録文字列に置換することを含む。
【００１５】
本発明に係る制御プログラムは、記憶部及び出力部を有する情報処理装置の制御プログラムであって、連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶部に記憶し、ユーザにより入力された入力文字列を取得し、入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出し、抽出した複数の文字群に対応する複数のベクトルを記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、算出された第２の平均又は総和と類似する、記憶部に記憶された第１の平均又は総和に対応する登録文字列を抽出し、抽出された登録文字列を出力部に出力することを情報処理装置に実行させる。
【００１６】
また、本発明に係る制御プログラムは、記憶部及び出力部を有する情報処理装置の制御プログラムであって、連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する所定数の文字が含まれる複数の文字群に対応する複数のベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶部に記憶し、ユーザにより入力された入力文字列を取得し、入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出し、抽出した複数の文字群に対応する複数のベクトルを記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、算出された第２の平均又は総和と類似する、記憶部に記憶された第１の平均又は総和に対応する登録文字列を抽出し、入力文字列を抽出された登録文字列に置換することを情報処理装置に実行させる。
【発明の効果】
【００１７】
本発明に係る情報処理装置、制御方法及び制御プログラムは、ユーザにより入力された文字列に対する正しい文字列をより高精度に抽出することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】情報処理装置による処理の一例を説明するための模式図である。
【図２】情報処理装置による処理の一例を説明するための模式図である。
【図３】端末装置１の概略構成の一例を示す図である。
【図４】ベクトルテーブル１４３のデータ構造の一例を示す図である。
【図５】登録文字列抽出処理の動作の例を示すフローチャートである。
【図６】抽出される登録文字列の一例を説明するための図である。
【図７】抽出される登録文字列の一例を説明するための図である。
【図８】抽出される登録文字列の一例を説明するための図である。
【図９】抽出される登録文字列の一例を説明するための図である。
【図１０】抽出される登録文字列の一例を説明するための図である。
【図１１】抽出される登録文字列の一例を説明するための図である。
【図１２】置換処理の動作の例を示すフローチャートである。
【図１３】情報処理システム１０の概略構成の一例を示す図である。
【図１４】サーバ装置３の概略構成の一例を示す図である。
【図１５】登録文字列表示処理に係る動作シーケンスの一例を示す。
【図１６】ファイル修正処理に係る動作シーケンスの一例を示す。
【発明を実施するための形態】
【００１９】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【００２０】
（第１の実施形態）
図１、２は、情報処理装置による処理の一例を説明するための模式図である。
【００２１】
情報処理装置は、事前学習された学習器を使用する（Ａ）。この学習器の学習データとして例えば複数の文章が用いられ、まず、各文章から連続する所定数の文字（以降、所定文字数と称する）が含まれる複数の文字群が抽出される（１）。所定数は、例えば２である。この学習器は、各文字群間の関連性に基づいて、各文字群が入力された場合に、各文字群の分散表現（Distributed Representation）を示すベクトルが出力されるように事前学習される（２）。即ち、この学習器は、同一の文章に出現する可能性（共起性：co-occurrence）が高い、又は、同一の文章において近い位置に出現する可能性が高い等の、関連性の高い文字列がそれぞれ入力された場合に、類似するベクトルが出力されるように事前学習される。この学習器は、各文字群と、各文字群の分散表現を示すベクトルとの対応関係情報の一例である。
【００２２】
また、情報処理装置には、複数の登録文字列が辞書データとして予め登録される（Ｂ）。登録文字列は、例えば単語である。まず、学習器が事前学習される場合と同様に、各登録文字列から連続する所定数の文字が含まれる複数の文字群が抽出される（１）。次に、事前学習された学習器に各文字群が入力されることにより各文字群の分散表現を示すベクトルが出力される（２）。次に、各登録文字列から抽出された各文字群に対応する各ベクトルの平均又は総和（第１の平均又は総和）が第１ベクトル情報として各登録文字列と関連付けて記憶される（３）。
【００２３】
情報処理装置は、ユーザによって入力文字が入力されると、事前学習された学習器、辞書データとして予め登録された登録文字列及び各登録文字列の第１ベクトル情報を用いて、入力文字列の訂正用候補となる登録文字列を抽出する（Ｃ）。まず、情報処理装置は、入力文字を単語単位の入力文字列に分割する（１）。次に、情報処理装置は、学習器が事前学習される場合と同様に、入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出する（２）。次に、情報処理装置は、事前学習された学習器に各文字群を入力することにより出力されたベクトルを取得する（３）。次に、情報処理装置は、入力文字列から抽出した各文字群に対応する各ベクトルの平均又は総和（第２の平均又は総和）を算出する（４）。次に、情報処理装置は、辞書データとして予め登録された登録文字列の中から、第２の平均又は総和と類似する、第１の平均又は総和に対応する登録文字列を抽出する（５）。次に、情報処理装置は、抽出した登録文字列を入力文字列の訂正用候補として表示する（６）。なお、情報処理装置は、ユーザによって事前に入力されたテキストファイル等から入力文字列を取得し、取得した入力文字列を、訂正用候補として抽出した登録文字列に置換してもよい。
【００２４】
図２に示す例では、ユーザにより入力された入力文字「米大統領がニュヨクへ移動」の内の入力文字列「ニュヨク」から２文字ずつの文字群「  ニ」、「ニュ」、「ュヨ」、「ヨク」、「ク  」が抽出されている。また、各文字群に対応するベクトル(-0.84,0.13,0.35,...)、(-0.78,0.24,0.40,...)、(-0.32,0.67,0.31,...)、(-0.58,0.35,0.23,...)、(-0.87,0.08,0.39,...)の平均値(-0.85,0.43,0.40,...)が「ニュヨク」に対する第２の平均として算出される。そして、予め登録された登録文字列の中から、算出された第２の平均と類似する第１の平均（第１ベクトル情報）(-0.93,0.36,0.41,...)に対応する登録文字列「ニューヨーク」が訂正用候補として抽出されている。
【００２５】
このように、情報処理装置は、各登録文字列を所定数毎にベクトル化して統計を取った情報を用いて、入力文字列に類似する登録文字列を抽出することにより、入力文字列に対する正しい文字列を、より柔軟且つ高精度に抽出することが可能となる。
【００２６】
図３は、実施形態に従った端末装置１の概略構成の一例を示す図である。
【００２７】
端末装置１は、情報処理装置の一例であり、例えば、パーソナルコンピュータ、携帯電話等である。端末装置１は、ユーザにより入力された入力文字に対して訂正用候補を抽出して表示する。そのために、端末装置１は、通信部１１と、操作部１２と、表示部１３と、記憶部１４と、制御部１５とを備える。
【００２８】
通信部１１は、例えばＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）等に準拠した通信インターフェース回路を有し、インターネット等のネットワークに接続する。または、端末装置１が携帯電話等である場合、通信部１１は、例えば２．１ＧＨｚ帯等の帯域を感受帯域とするアンテナを含む通信インターフェース回路を有し、基地局を介して移動体通信網等のネットワークに接続する。その場合、通信部１１は、基地局との間でＷ−ＣＤＭＡ（Wideband Code Division Multiple Access）方式、ＣＤＭＡ（Code Division Multiple Access）方式又はＬＴＥ（Long Term Evolution）方式等による無線通信を行う。通信部１１は、ネットワークから受信したデータを制御部１５に供給し、制御部１５から受信したデータをネットワークに送信する。
【００２９】
操作部１２は、入力部の一例である。操作部１２は、端末装置１の操作が可能であればどのようなデバイスでもよく、例えば、キーボード、タッチパネル式の入力装置等である。ユーザは、操作部１２を用いて、文字、数字等を入力することができる。操作部１２は、ユーザにより操作されると、その操作に対応する信号を発生する。発生した信号は、ユーザの指示として、制御部１５に入力される。
【００３０】
表示部１３は、出力部の一例である。表示部１３は、動画像、静止画像等の出力が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ、有機ＥＬ（Electro−Luminescence）ディスプレイ、タッチパネル式の表示装置等である。表示部１３は、制御部１５から供給される動画像データに応じた動画像、静止画像データに応じた静止画像等を表示する。
【００３１】
記憶部１４は、例えば、半導体メモリ、磁気ディスク装置、及び光ディスク装置の内の少なくとも一つを有する。記憶部１４は、制御部１５による処理に用いられる各種コンピュータプログラム、データ等を記憶する。コンピュータプログラムは、例えば例えばＣＤ−ＲＯＭ（compact disk read only memory）、ＤＶＤ−ＲＯＭ（digital versatile disk read only memory）等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部１４にインストールされてもよい。
【００３２】
また、記憶部１４は、データとして、第１学習器１４１、第２学習器１４２、ベクトルテーブル１４３及びユーザにより入力されたテキストファイル等を記憶する。
【００３３】
第１学習器１４１は、連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報の一例である。なお、文字には、ひらがな、カタカナ、漢字、アルファベット、数字、記号、絵文字等が含まれる。第１学習器１４１として、予め他のコンピュータにより事前学習された学習器が、そのコンピュータにより端末装置１に送信されて端末装置１に記憶される。なお、第１学習器１４１は、端末装置１により事前学習されてもよい。第１学習器１４１の学習データとして、例えば所定のＷｅｂサイト等に公開された新聞、ニュース等に掲載された複数の文章等が用いられる。第１学習器１４１を生成するコンピュータは、まず、各文章から連続する所定数（例えば２）の文字が含まれる複数の文字群、即ち文章内において共起関係にある文字群を抽出する。コンピュータは、例えばＮ−ｇｒａｍ法により、文字群を抽出する。なお、コンピュータは、文章の先頭と最後に、空白（ブランク）が追加した上で、文字群を抽出する。
【００３４】
例えば、所定数が２であり、学習データが「ニューヨークの天候は雨」である場合、１２個の文字列「  ニ」、「ニュ」、「ュー」、「ーヨ」、「ヨー」、「ーク」、「クの」、「の天」、「天候」、「候は」、「は雨」、「雨  」が抽出される。
【００３５】
なお、コンピュータは、文章を単純に所定数ずつに分割することにより、文章から連続する所定数の文字が含まれる複数の文字群を抽出してもよい。また、所定数は、固定値に限定されず、例えば先頭の文字列及び最後の文字列を２文字とし、他の文字列を３文字とするように、所定の条件に基づいて変化させてもよい。
【００３６】
次に、コンピュータは、各文字群間の関連性に基づいて、各文字群が入力された場合に、特徴空間において、入力された文字群の分散表現を示すベクトル（特徴ベクトル）が出力されるように第１学習器１４１を事前学習させる。コンピュータは、同一の文章に出現する可能性（共起性）が高い文字群、又は、同一の文章において近い位置に出現する可能性が高い文字群等の、関連性の高い文字列がそれぞれ入力された場合に、類似するベクトルが出力されるように第１学習器１４１を事前学習させる。同一の文章とは、例えば一つの文、段落又は文書等に属する文章のことを意味する。即ち、特定の文字群の周辺（所定距離内）に出現する文字群はその特定の文字群と類似する意味を有する可能性が高いという仮定のもとに、互いに近接する位置に存在する文字群には類似するベクトルが割り当てられる。
【００３７】
第１学習器１４１として、例えばニューラルネットワーク技術に基づくニューラル言語モデル、特にＷｏｒｄ２Ｖｅｃ、Ｇｌｏｖｅ、Ｆａｓｔｔｅｘｔ等の言語モデルが使用される。分散表現及びＷｏｒｄ２Ｖｅｃについては「MIKOLOV, Tomas, et al. Distributed representations of words and phrases and their compositionality. In: Advances in neural information processing systems. 2013. p. 3111-3119.」等を参照することができる。Ｇｌｏｖｅについては「PENNINGTON, Jeffrey; SOCHER, Richard; MANNING, Christopher D. Glove: Global Vectors for Word Representation. In: EMNLP. 2014. p. 1532-1543.」等を参照することができる。Ｆａｓｔｔｅｘｔについては「JOULIN, Armand, et al. Bag of tricks for efficient text classification. arXiv preprint arXiv:1607.01759, 2016.」等を参照することができる。
【００３８】
第２学習器は、複数の文字列（例えば単語）のそれぞれと、各文字列の分散表現を示す第２のベクトルとの第２の対応関係情報の一例である。第２学習器１４２として、予め他のコンピュータにより事前学習された学習器が、そのコンピュータにより端末装置１に送信されて端末装置１に記憶される。なお、第２学習器１４２は、端末装置１により事前学習されてもよい。第２学習器１４２の学習データとして、例えば所定のＷｅｂサイト等に公開された新聞、ニュース等に掲載された複数の文章等が用いられる。第２学習器１４２を生成するコンピュータは、まず、各文章から複数の文字列を抽出する。コンピュータは、各文章に対して、例えば形態素解析を実行し、各文章から文字列を抽出する。
【００３９】
例えば、学習データが「ニューヨークの天候は雨」である場合、３個の文字列「ニューヨーク」、「天候」、「雨」が抽出される。
【００４０】
次に、コンピュータは、各文字列間の関連性に基づいて、各文字列が入力された場合に、特徴空間において、入力された文字列の分散表現を示す第２のベクトル（特徴ベクトル）が出力されるように第２学習器１４２を事前学習させる。コンピュータは、同一の文章に出現する可能性（共起性）が高い文字列、又は、同一の文章において近い位置に出現する可能性が高い文字列等の、関連性の高い文字列がそれぞれ入力された場合に、類似するベクトルが出力されるように第２学習器１４２を事前学習させる。文字列には、登録文字列、又はユーザにより入力された入力文字に含まれる入力単語が含まれる。同一の文章とは、例えば一つの文、段落又は文書等に属する文章のことを意味する。即ち、特定の文字列の周辺（所定距離内）に出現する文字列はその特定の文字列と類似する意味を有する可能性が高いという仮定のもとに、互いに近接する位置に存在する文字列には類似するベクトルが割り当てられる。
【００４１】
第２学習器１４２として、例えばニューラルネットワーク技術に基づくニューラル言語モデル、特にＷｏｒｄ２Ｖｅｃ、Ｇｌｏｖｅ、Ｆａｓｔｔｅｘｔ等の言語モデルが使用される。
【００４２】
図４は、ベクトルテーブル１４３のデータ構造の一例を示す図である。
【００４３】
図４に示すように、ベクトルテーブル１４３には、辞書データとして登録された複数の登録文字列（例えば単語）毎に、各登録文字列、第１ベクトル情報及び第２ベクトル情報等が相互に関連付けて記憶されている。
【００４４】
辞書データとして登録される各登録文字列は、例えばコンピュータプログラムとともに、記憶部１４にインストールされる。また、辞書データとして登録される各登録文字列は、ユーザにより追加されてもよい。
【００４５】
第１ベクトル情報は、各登録文字列から抽出された連続する所定数の文字が含まれる複数の文字群のそれぞれに対応する各ベクトルの平均又は総和である。以降、第１ベクトル情報として記憶される平均又は総和を第１の平均又は総和と称する場合がある。第１ベクトル情報は、予め他のコンピュータにより算出され、端末装置１に送信されて端末装置１に記憶される。なお、第１ベクトル情報は、端末装置１により算出されてもよい。第１ベクトル情報を算出するコンピュータは、まず、第１学習器１４１が生成される場合と同様にして、各登録文字列から連続する所定数（例えば２）の文字が含まれる複数の文字群を抽出する。
【００４６】
例えば、所定数が２であり、登録文字列が「ニューヨーク」である場合、７個の文字群「  ニ」、「ニュ」、「ュー」、「ーヨ」、「ヨー」、「ーク」、「ク  」が抽出される。
【００４７】
次に、コンピュータは、抽出した各文字群を第１学習器１４１に入力し、第１学習器１４１から出力された各ベクトルを取得する。次に、コンピュータは、取得した各ベクトルの平均をその登録文字列の第１ベクトル情報として算出する。コンピュータは、ベクトルに含まれる要素毎に各ベクトルの要素値の平均値を算出し、算出した平均値を各要素の要素値とするベクトルを、各ベクトルの平均として算出する。なお、コンピュータは、取得した各ベクトルの総和をその登録文字列の第１ベクトル情報として算出してもよい。その場合、コンピュータは、ベクトルの要素毎に各ベクトルの要素値の総和値を算出し、算出した総和値を各要素の要素値とするベクトルを、各ベクトルの総和として算出する。
【００４８】
なお、各ベクトルの平均又は総和とは、各ベクトルの要素値の平均値又は総和値を要素値とするベクトルに限定されず、各ベクトルの要素値に所定の定数又は係数を加算、減算、乗算又は除算した値の平均値又は総和値を要素値とするベクトルも含む。
【００４９】
第２ベクトル情報は、各登録文字列に対応する第２のベクトルであり、各登録文字列を第２学習器１４２に入力することにより出力される第２のベクトル自体である。第２ベクトル情報は、予め他のコンピュータにより算出され、端末装置１に送信されて端末装置１に記憶される。なお、第２ベクトル情報は、端末装置１により算出されてもよい。
【００５０】
図３に戻って、制御部１５は、一又は複数個のプロセッサ及びその周辺回路を有する。制御部１５は、端末装置１の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵ（Central Processing Unit）である。制御部１５は、端末装置１の各種処理が記憶部１４に記憶されているプログラム、操作部１２の操作からの出力等に応じて適切な手順で実行されるように、通信部１１、表示部１３等の動作を制御する。
【００５１】
制御部１５は、取得部１５１、算出部１５２、抽出部１５３、順位付け部１５４、出力制御部１５５及び置換部１５６等を有する。制御部１５が有するこれらの各部は、制御部１５が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。または、制御部１５が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして端末装置１に実装されてもよい。
【００５２】
図５は、端末装置１による登録文字列抽出処理の動作の例を示すフローチャートである。
【００５３】
以下に説明するフローチャートは、予め記憶部１４に記憶されているプログラムに基づいて、主に制御部１５により、端末装置１の各要素と協働して実行される。このフローチャートは、例えばワードプロセッシングプログラム等の文書編集プログラムが実行されているときに実行される。
【００５４】
最初に、取得部１５１は、ユーザにより操作部１２を用いて入力された入力文字を取得する（ステップＳ１０１）。
【００５５】
次に、算出部１５２は、取得部１５１が取得した入力文字を単語単位の入力文字列に分割する（ステップＳ１０２）。算出部１５２は、入力文字に対して、例えば形態素解析を実行し、入力文字を単語毎に分割して、入力文字列を抽出する。
【００５６】
例えば、入力文字が「米大統領がニュヨクへ移動」である場合、入力文字は６個の入力文字列「米」、「大統領」、「が」、「ニュヨク」、「へ」、「移動」に分割される。
【００５７】
次に、算出部１５２は、入力文字の内の入力文字列毎に、各入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出する（ステップＳ１０３）。算出部１５２は、第１学習器１４１が生成される場合と同様にして、各入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出する。算出部１５２は、例えばＮ−ｇｒａｍ法により、文章内において共起関係にある文字群を抽出する。
【００５８】
例えば、所定数が２であり、入力文字列が「ニュヨク」である場合、５個の文字群「  ニ」、「ニュ」、「ュヨ」、「ヨク」、「ク  」が抽出される。
【００５９】
次に、算出部１５２は、抽出した各文字群を第１学習器１４１に入力し、第１学習器１４１から出力された各ベクトルを、各文字群に対応する各ベクトルとして取得する（ステップＳ１０４）。
【００６０】
次に、算出部１５２は、取得した各ベクトルの平均をその入力文字列の第２の平均として算出する。または、算出部１５２は、取得した各ベクトルの総和をその入力文字列の第２の総和として算出する（ステップＳ１０５）。算出部１５２は、第１ベクトル情報（第１の平均又は総和）が算出される場合と同様にして、第２の平均又は総和を算出する。
【００６１】
次に、抽出部１５３は、算出部１５２により算出された第２の平均又は総和と類似する、ベクトルテーブル１４３に第１ベクトル情報として記憶された第１の平均又は総和に対応する登録文字列を抽出する（ステップＳ１０６）。抽出部１５３は、ユークリッド距離又はコサイン類似度を利用して、第２の平均又は総和と類似する第１の平均又は総和を特定する。
【００６２】
抽出部１５３は、例えば、第２の平均と、ベクトルテーブル１４３において各登録文字列に関連付けて記憶された第１の平均とのユークリッド距離を算出し、算出したユークリッド距離が小さい順に所定数（例えば５個）の登録文字列を、入力文字列に類似する登録文字列として抽出する。なお、抽出部１５３は、第２の平均と、ベクトルテーブル１４３において各登録文字列に関連付けて記憶された第１の平均とのコサイン類似度を算出し、算出したコサイン類似度が大きい順に所定数（例えば５個）の登録文字列を、入力文字列に類似する登録文字列として抽出してもよい。または、抽出部１５３は、第２の総和と、ベクトルテーブル１４３において各登録文字列に関連付けて記憶された第１の総和とのコサイン類似度を算出し、算出したコサイン類似度が大きい順に所定数（例えば５個）の登録文字列を、入力文字列に類似する登録文字列として抽出してもよい。
【００６３】
なお、抽出部１５３は、入力文字列と一致する登録文字列については、入力文字列に類似する登録文字列として抽出しない。また、抽出部１５３は、ユークリッド距離が所定閾値以下となる登録文字列、又は、コサイン類似度が所定閾値以上となる登録文字列に限り、入力文字列に類似する登録文字列として抽出してもよい。
【００６４】
次に、順位付け部１５４は、入力文字に含まれる文脈情報（コンテクスト）に基づいて、抽出部１５３により抽出された各登録文字列を順位付けする（ステップＳ１０７）。
【００６５】
順位付け部１５４は、入力文字から、入力文字に含まれ且つ抽出部１５３により抽出された登録文字列に対応する入力文字列とは異なる任意の入力単語を文脈情報として抽出する。
【００６６】
例えば、入力文字が「米大統領がニュヨクへ移動」である場合、文脈情報として入力単語「米」等が抽出される。
【００６７】
順位付け部１５４は、抽出部１５３により抽出された各登録文字列を、各登録文字列に対応する第１の平均又は総和が、文脈情報として抽出した入力単語に対応する第１の平均又は総和と類似する順に順位付けする。順位付け部１５４は、ベクトルテーブル１４３から、抽出部１５３により抽出された各登録文字列及び文脈情報として抽出した入力単語に対応する各第１の平均又は総和を読み出す。そして、順位付け部１５４は、例えば、抽出部１５３により抽出された各登録文字列に対応する第１の平均と、文脈情報として抽出した入力単語に対応する第１の平均とのユークリッド距離を算出し、算出したユークリッド距離が小さい順に、抽出部１５３により抽出された各登録文字列を順位付けする。または、順位付け部１５４は、抽出部１５３により抽出された各登録文字列に対応する第１の平均又は総和と、文脈情報として抽出した入力単語に対応する第１の平均又は総和とのコサイン類似度を算出し、算出したコサイン類似度が大きい順に、抽出部１５３により抽出された各登録文字列を順位付けする。
【００６８】
なお、順位付け部１５４は、入力文字自体から文脈情報を抽出するのではなく、入力文字の前後に入力された文字から文脈情報を抽出してもよい。
【００６９】
また、順位付け部１５４は、文脈情報として複数の入力単語を抽出してもよい。その場合、順位付け部１５４は、文脈情報として抽出した入力単語毎に、抽出部１５３により抽出された各登録文字列とのユークリッド距離を算出し、算出したユークリッド距離の平均又は総和が小さい順に、抽出部１５３により抽出された各登録文字列を順位付けする。または、順位付け部１５４は、文脈情報として抽出した入力単語毎に、抽出部１５３により抽出された各登録文字列とのコサイン類似度を算出し、算出したコサイン類似度の平均又は総和が大きい順に、抽出部１５３により抽出された各登録文字列を順位付けする。
【００７０】
また、順位付け部１５４は、抽出部１５３により抽出された各登録文字列を、各登録文字列に対応する第２のベクトルが、文脈情報として抽出した入力単語に対応する第２のベクトルと類似する順に順位付けしてもよい。その場合、順位付け部１５４は、ベクトルテーブル１４３から、抽出部１５３により抽出された各登録文字列及び文脈情報として抽出した入力単語に対応する各第２のベクトルを読み出す。そして、順位付け部１５４は、例えば、抽出部１５３により抽出された各登録文字列に対応する第２のベクトルと、文脈情報として抽出した入力単語に対応する第２のベクトルとのユークリッド距離を算出し、算出したユークリッド距離が小さい順に、抽出部１５３により抽出された各登録文字列を順位付けする。または、順位付け部１５４は、抽出部１５３により抽出された各登録文字列に対応する第２のベクトルと、文脈情報として抽出した入力単語に対応する第２のベクトルとのコサイン類似度を算出し、算出したコサイン類似度が大きい順に、抽出部１５３により抽出された各登録文字列を順位付けする。
【００７１】
また、順位付け部１５４は、文脈情報として抽出した入力単語と、抽出部１５３により抽出された各登録文字列の共起性に基づいて、抽出部１５３により抽出された各登録文字列を順位付けしてもよい。順位付け部１５４は、例えばインターネット上で利用可能な所定のデータベースを利用して、文脈情報として抽出した入力単語と、抽出部１５３により抽出された各登録文字列との両方が、同一の文書、段落又は文章等に出現する共起回数を計数する。順位付け部１５４は、例えばＡｐｒｉｏｒｉアルゴリズムを使用して、共起回数を計数する。Ａｐｒｉｏｒｉアルゴリズムについては「AGRAWAL, Rakesh, et al. Fast algorithms for mining association rules. In: Proc. 20th int. conf. very large data bases, VLDB. 1994. p. 487-499.」を参照することができる。順位付け部１５４は、計数した共起回数が大きい順に、抽出部１５３により抽出された各登録文字列を順位付けする。
【００７２】
また、順位付け部１５４は、文脈情報として抽出した入力単語と、抽出部１５３により抽出された各登録文字列とからそれぞれ文字群を抽出し、抽出した各文字群の共起性に基づいて、各登録文字列を順位付けしてもよい。
【００７３】
また、順位付け部１５４は、文脈情報として複数の入力単語を抽出した場合、文脈情報として抽出した入力単語毎に共起回数を計数し、計数した共起回数の平均又は総和が大きい順に、抽出部１５３により抽出された各登録文字列を順位付けする。
【００７４】
また、順位付け部１５４は、各文字列の第２のベクトルの類似性と、各文字列の共起性の両方に基づいて、各登録文字列を順位付けしてもよい。その場合、順位付け部１５４は、算出したユークリッド距離を、共起回数が大きい程小さくなるように補正（重み付け）し、補正したユークリッド距離が小さい順に各登録文字列を順位付けする。または、順位付け部１５４は、算出したコサイン類似度を、共起回数が大きい程大きくなるように補正（重み付け）し、補正したコサイン類似度が大きい順に各登録文字列を順位付けする。
【００７５】
次に、出力制御部１５５は、抽出部１５３により抽出された各登録文字列を、所定文字列の訂正用候補として表示部１３に表示することにより出力し（ステップＳ１０８）、一連のステップを終了する。出力制御部１５５は、各登録文字列を、順位付け部１５４により順位付けされた順位に基づいて、例えば順位付けされた順位が高い順に出力する。各登録文字列を順位付け部１５４により順位付けされた順位に基づいて出力することにより、ユーザは、正しい文字列を見つけやすくなるため、ユーザの利便性を向上させることが可能となる。
【００７６】
なお、ステップＳ１０７の処理を省略し、出力制御部１５５は、各登録文字列を任意の順序で出力してもよい。または、出力制御部１５５は、各登録文字列を、算出部１５２により算出された第２の平均と、ベクトルテーブル１４３に記憶された第１の平均とのユークリッド距離が小さい順に出力してもよい。または、出力制御部１５５は、各登録文字列を、算出部１５２により算出された第２の平均又は総和と、ベクトルテーブル１４３に記憶された第１の平均又は総和とのコサイン類似度が大きい順に出力してもよい。この場合も、ユーザは、正しい登録文字列を見つけやすくなるため、ユーザの利便性を向上させることが可能となる。
【００７７】
なお、ベクトルテーブル１４３に辞書データとして登録される登録文字列は、カタカナ、ひらがな、漢字、英字等のグループ毎に分けて管理されてもよい。その場合、抽出部１５３は、入力文字列が属するグループ（カタカナ、ひらがな、漢字又は英字）と同一のグループに属する登録文字列の中から、入力文字列に類似する登録文字列を抽出してもよい。これにより、抽出部１５３は、入力文字列に類似する登録文字列を高精度且つ高効率に抽出することが可能となる。
【００７８】
また、抽出部１５３は、入力文字列がカタカナ、ひらがな、漢字又は英字のみからなり、且つ、抽出した登録文字列がカタカナ、ひらがな、漢字又は英字の組合せからなる場合、抽出した登録文字列から、入力文字列が属するグループと異なるグループに属する文字を削除してもよい。これによっても、抽出部１５３は、入力文字列に類似する登録文字列を高精度に抽出することが可能となる。
【００７９】
また、抽出部１５３は、漢字を一旦ひらがなに変換してから辞書データとして登録される登録文字列と比較してもよい。その場合、ベクトル統計情報を算出するコンピュータは、登録文字列が漢字である場合、その登録文字列をひらがなに変換する。そして、コンピュータは、ひらがなに変換された登録文字列から抽出された連続する所定数の文字が含まれる複数の文字群のそれぞれを第１学習器１４１に入力することにより出力された、各文字群に対応する各ベクトルの第１の平均又は総和をその登録文字列の第１ベクトル情報として算出する。端末装置１は、そのようにして算出された第１ベクトル情報を各登録文字列と関連付けてベクトルテーブル１４３に記憶しておく。同様に、ベクトル情報を算出するコンピュータは、ひらがなに変換された登録文字列を第２学習器１４２に入力することにより出力された、各登録文字列に対応する各ベクトルをその登録文字列の第２ベクトル情報として算出する。端末装置１は、そのようにして算出された第２ベクトル情報を各登録文字列と関連付けてベクトルテーブル１４３に記憶しておく。
【００８０】
一方、算出部１５２は、ステップＳ１０２において分割された入力文字列が漢字であった場合、ステップＳ１０３において、その入力文字列をひらがなに変換し、ひらがなに変換された入力文字列から連続する所定数の文字が含まれる複数の文字群を抽出する。また、算出部１５２は、ステップＳ１０４において、抽出したひらがなである各文字群を第１学習器１４１に入力し、第１学習器１４１から出力された、各文字群に対応する各ベクトルを取得する。さらに、算出部１５２は、ステップＳ１０５において、取得した各ベクトルの第２の平均又は総和を算出する。これにより、抽出部１５３は、入力文字列と、辞書データに登録された登録文字列とをひらがな同士で比較することが可能となり、入力文字列に類似する登録文字列を高精度に抽出することが可能となる。
【００８１】
また、各文字群と各文字群の分散表現を示すベクトルとの対応関係情報として、第１学習器が使用される代わりに、各文字群と各文字群に対応するベクトルとが予め対応付けられた第１テーブルが使用されてもよい。その場合、各文字群を第１学習器１４１に入力することにより出力された各ベクトルを各文字群と対応付けて第１テーブルに予め記憶しておき、算出部１５２は、第１テーブルを参照して、各文字群に対応するベクトルを取得する。同様に、各文字列と各文字列の分散表現を示す第２のベクトルとの第２の対応関係情報として、第２学習器が使用される代わりに、各文字列と各文字列に対応する第２のベクトルとが予め対応付けられた第２テーブルが使用されてもよい。その場合、各登録文字列を第２学習器１４２に入力することにより出力された各第２のベクトルを各登録文字列と対応付けて第２テーブルに予め記憶しておき、順位付け部１５４は、第２テーブルを参照して、各登録文字列に対応する第２のベクトルを取得する。
【００８２】
また、ベクトルテーブル１４３に辞書データとして登録される登録文字列は、単語に限定されず、商品名称、ニュース見出し、文章等でもよい。
【００８３】
図６〜１１は、抽出される登録文字列の一例を説明するための図である。図６は入力文字列がカタカナである場合の例を示し、図７は入力文字列がひらがなである場合の例を示し、図８は入力文字列が漢字である場合の例を示し、図９は入力文字列が英字である場合の例を示し、図１０は入力文字列が和文である場合の例を示し、図１１は入力文字列が英文である場合の例を示す。
【００８４】
図６は、「ニューヨーク」に対して誤って「ニュヨク」が入力され、入力単語として「米」が入力された場合の例を示す。図６に示す例では、入力文字列「ニュヨク」とのユークリッド距離が小さい登録文字列「ニューラル」、「ニューロ」、「ニュー」、「ニューヨーク」、「ニュース」が抽出され、入力単語「米」とのユークリッド距離が最も小さい「ニューヨーク」が一位に順位付けされる。または、入力文字列「ニュヨク」とのコサイン類似度が大きい登録文字列「ニュー」、「ニュース」、「ニューラル」、「ニューロ」、「ニューヨーク」が抽出され、入力単語「米」とのコサイン類似度が最も大きい「ニューヨーク」が一位に順位付けされる。
【００８５】
入力文字列「ニュヨク」に含まれる文字群「  ニ」、「ニュ」、「ュヨ」、「ヨク」、「ク  」の内、「  ニ」、「ニュ」、「ク  」は、登録文字列「ニューヨーク」にも含まれている。一方、「ュヨ」、「ヨク」は、登録文字列「ニューヨーク」には含まれていないが、このような誤入力による文字群は、一般用語には存在しない可能性が高い。即ち、「ュヨ」、「ヨク」は、他の登録文字列にも含まれていない可能性が高く、特定の登録文字列と類似する傾向を有さない可能性が高い。そのため、誤入力を含む入力文字列「ニュヨク」に対応するベクトルと、正しい登録文字列「ニューヨーク」に対応するベクトルとは類似する可能性が高くなる。
【００８６】
図７は、「かんこく（韓国）」に対して誤って「かんごく（監獄）」が入力され、入力単語として「にほん（日本）」が入力された場合の例を示す。図７に示す例では、入力文字列「かんごく」とのユークリッド距離が小さい登録文字列「かんごく」、「なんごく」、「せんごく」、「かんこく」、「かんそく」が抽出され、入力単語「にほん」とのユークリッド距離が最も小さい「かんこく」が一位に順位付けされる。または、入力文字列「かんごく」とのコサイン類似度が大きい登録文字列「かんごく」、「せんごく」、「なんごく」、「かんこく」、「かんそく」が抽出され、入力単語「にほん」とのコサイン類似度が最も大きい「かんこく（韓国）」が一位に順位付けされる。
【００８７】
図８は、「日本人形」に対して誤って「日本大形」が入力され、入力単語として「手作業」が入力された場合の例を示す。図８に示す例では、入力文字列「日本大形」とのユークリッド距離が小さい登録文字列「日本大学」、「日本人形」、「日本大使館」、「東日本大震災」が抽出され、入力単語「手作業」とのユークリッド距離が最も小さい「日本人形」が一位に順位付けされる。または、入力文字列「日本大形」とのコサイン類似度が大きい登録文字列「日本大学」、「日本大使館」、「東日本大震災」、「日本人形」が抽出され、入力単語「手作業」とのコサイン類似度が最も大きい「日本人形」が一位に順位付けされる。
【００８８】
図９は、「requirement」に対して誤って「requiremet」が入力され、入力単語として「help」が入力された場合の例を示す。図９に示す例では、入力文字列「requiremet」とのユークリッド距離が小さい登録文字列「reaffirmed」、「requirement」、「requires」が抽出され、入力単語「help」とのユークリッド距離が最も小さい「requirement」が一位に順位付けされる。または、入力文字列「requiremet」とのコサイン類似度が大きい登録文字列「reaffirmed」、「requirement」、「requires」が抽出され、入力単語「help」とのコサイン類似度が最も大きい「requirement」が一位に順位付けされる。
【００８９】
図１０、１１は、入力文字列及び登録文字列が文章である場合の例を示す。図１０、１１１に示すように、入力文字列及び登録文字列が文章である場合、共通の単語を含むような相互に類似する入力文字列と登録文字列のユークリッド距離は、共通の単語を含まないような相互に類似しない入力文字列と登録文字列のユークリッド距離より小さくなる傾向にある。また、相互に類似する入力文字列と登録文字列のコサイン類似度は、相互に類似しない入力文字列と登録文字列のコサイン類似度より大きくなる傾向にある。したがって、入力文字列及び登録文字列が文章である場合でも、抽出部１５３は、入力文字列に類似する登録文字列を適切に抽出することができる。
【００９０】
なお、入力文字列から抽出する文字列の文字数（所定数）を変更しながら実験を行った結果、入力文字列がカタカナ、ひらがな又は漢字であるときは、所定数が２又は３文字である場合に、より正しい文字列を示す訂正用候補を抽出することができた。一方、入力文字列が英字であるときは、所定数が４又は５文字である場合に、より正しい文字列を示す訂正用候補を抽出することができた。
【００９１】
以上説明してきたように、端末装置１は、各登録文字列を所定数毎にベクトル化して統計を取った情報を用いて、入力文字列に類似する登録文字列を抽出することにより、入力文字列に対する正しい文字列をより高精度に抽出することが可能となった。
【００９２】
（変形例）
図１２は、変形例に係る端末装置１による置換処理の動作の例を示すフローチャートである。
【００９３】
以下に説明するフローチャートは、予め記憶部１４に記憶されているプログラムに基づいて、主に制御部１５により、端末装置１の各要素と協働して実行される。このフローチャートは、例えばワードプロセッシングプログラム等の文書編集プログラムを用いてユーザにより作成されたファイルに含まれる誤記を修正するために実行される。
【００９４】
最初に、取得部１５１は、記憶部１４から修正対象のファイルを読出し、ファイルに含まれる入力文字を取得する（ステップＳ２０１）。この入力文字は、ユーザにより操作部１２を用いて入力されている。
【００９５】
ステップＳ２０２〜Ｓ２０６の処理は、図５のステップＳ１０２〜Ｓ１０６の処理と同様であるため、詳細な説明を省略する。但し、ステップＳ２０６において、抽出部１５３は、入力文字列に最も類似する登録文字列を抽出する。または、抽出部１５３は、一旦、複数の登録文字列を抽出し、順位付け部１５４に各登録文字列を順位付けさせて、１位に順位付けされた登録文字列を抽出してもよい。
【００９６】
次に、置換部１５６は、ステップＳ２０１で取得した入力文字列をステップＳ２０６で抽出部１５３により抽出された登録文字列に置換し（ステップＳ２０７）、文字列を置換したファイルを記憶部１４に書込み、一連のステップを終了する。
【００９７】
以上説明してきたように、端末装置１は、既にユーザにより作成されているファイルに含まれる誤記を適切に修正することが可能となった。
【００９８】
（第２の実施形態）
図１３は、第２の実施形態による情報処理システム１０の概略構成の一例を示す図である。
【００９９】
図１３に示すように、情報処理システム１０は、端末装置２及びサーバ装置３等を有する。端末装置２及びサーバ装置３は、インターネット等のネットワーク４を介して相互に通信可能に接続される。端末装置２は、第１の実施形態における端末装置１と同様の装置である。但し、第２の実施形態では、端末装置２ではなく、サーバ装置３が訂正用候補抽出処理を実行する。そのため、端末装置２の記憶部には、第１学習器１４１、第２学習器１４２及びベクトルテーブル１４３が記憶されておらず、端末装置２の制御部は、取得部１５１、算出部１５２、抽出部１５３、順位付け部１５４、出力制御部１５５及び置換部１５６を有していない。
【０１００】
図１１は、サーバ装置３の概略構成の一例を示す図である。
【０１０１】
サーバ装置３は、情報処理装置の一例であり、例えば、検索サービス、商品販売サービス等を提供するサーバである。そのために、サーバ装置３は、サーバ通信部３１と、サーバ記憶部３２と、サーバ制御部３３とを備える。
【０１０２】
サーバ通信部３１は、例えばＴＣＰ／ＩＰ等に準拠した通信インターフェース回路を有し、ネットワーク４に接続する。サーバ通信部３１は、ネットワーク４を介して端末装置２等から受信したデータをサーバ制御部３３に供給し、サーバ制御部３３から受信したデータをネットワーク４を介して端末装置２等に送信する。
【０１０３】
サーバ記憶部３２は、例えば、半導体メモリ、磁気ディスク装置、及び光ディスク装置の内の少なくとも一つを有する。サーバ記憶部３２は、サーバ制御部３３による処理に用いられる各種コンピュータプログラム、データ等を記憶する。コンピュータプログラムは、例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いてサーバ記憶部３２にインストールされてもよい。
【０１０４】
また、サーバ記憶部３２は、データとして、第１学習器３２１、第２学習器３２２及びベクトルテーブル３２３等を記憶する。第１学習器３２１、第２学習器３２２及びベクトルテーブル３２３は、それぞれ第１学習器１４１、第２学習器１４２及びベクトルテーブル１４３と同様の学習器又はテーブルである。
【０１０５】
サーバ制御部３３は、一又は複数個のプロセッサ及びその周辺回路を有する。サーバ制御部３３は、サーバ装置３の全体的な動作を統括的に制御するものであり、例えば、ＣＰＵである。サーバ制御部３３は、サーバ装置３の各種処理がサーバ記憶部３２に記憶されているプログラム等に応じて適切な手順で実行されるように、サーバ通信部３１等の動作を制御する。
【０１０６】
サーバ制御部３３は、取得部３３１、算出部３３２、抽出部３３３、順位付け部３３４、出力制御部３３５及び置換部３３６等を有する。取得部３３１、算出部３３２、抽出部３３３、順位付け部３３４、出力制御部３３５及び置換部３３６は、それぞれ取得部１５１、算出部１５２、抽出部１５３、順位付け部１５４、出力制御部１５５及び置換部１５６と同様の機能を有する。サーバ制御部３３が有するこれらの各部は、サーバ制御部３３が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。または、サーバ制御部３３が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとしてサーバ装置３に実装されてもよい。
【０１０７】
図１４は、情報処理システム１０による登録文字列表示処理に係る動作シーケンスの一例を示す。
【０１０８】
以下に説明する動作シーケンスは、各装置において予め各装置の記憶部に記憶されているプログラムに基づき主に各装置の制御部により各装置の各要素と協働して実行される。この動作シーケンスは、例えば端末装置２がサーバ装置３に、特定の文字列の検索を要求するとき、又は、特定の文字列に係る商品の購入を要求するとき等に実行される。
【０１０９】
最初に、端末装置２は、ユーザにより操作部を用いて入力された入力文字を取得する（ステップＳ３０１）。
【０１１０】
次に、端末装置２は、取得した入力文字を通信部を介してサーバ装置３に送信する（ステップＳ３０２）。
【０１１１】
次に、サーバ装置３は、サーバ通信部３１を介して端末装置２から入力文字を受信すると、登録文字列抽出処理を実行する（ステップＳ３０３）。サーバ装置３が実行する登録文字列抽出処理は、図５に示した登録文字列抽出処理と同様の処理である。但し、ステップＳ１０１において、取得部３３１は、サーバ通信部３１を介して端末装置２から送信された入力文字を取得する。また、ステップＳ１０９において、出力制御部３３５は、抽出した登録文字列を、表示部１３に表示する代わりに、サーバ通信部３１を介して端末装置２に送信することにより出力する（ステップＳ３０４）。
【０１１２】
次に、端末装置２は、通信部を介してサーバ装置３から登録文字列を受信すると、受信した登録文字列を訂正用候補として表示部に表示する（ステップＳ３０５）。以上により、情報処理システム１０による登録文字列表示処理に係る動作シーケンスは終了する。
【０１１３】
以上説明してきたように、サーバ装置３が登録文字列を抽出する場合も、サーバ装置３は、入力文字列に対する正しい文字列をより高精度に抽出することが可能となった。
【０１１４】
（変形例）
図１６は、変形例に係る情報処理システム１０によるファイル修正処理に係る動作シーケンスの一例を示す。
【０１１５】
以下に説明する動作シーケンスは、各装置において予め各装置の記憶部に記憶されているプログラムに基づき主に各装置の制御部により各装置の各要素と協働して実行される。この動作シーケンスは、例えば端末装置２がサーバ装置３に、ワードプロセッシングプログラム等の文書編集プログラムを用いてユーザにより作成されたファイルに含まれる誤記の修正を要求するとき等に実行される。
【０１１６】
最初に、端末装置２は、記憶部１４から修正対象のファイルを読出す（ステップＳ４０１）。
【０１１７】
次に、端末装置２は、読出したファイルを通信部を介してサーバ装置３に送信する（ステップＳ４０２）。
【０１１８】
次に、サーバ装置３は、サーバ通信部３１を介して端末装置２からファイルを受信すると、置換処理を実行する（ステップＳ４０３）。サーバ装置３が実行する置換処理は、図１２に示した置換処理と同様の処理である。但し、ステップＳ２０１において、取得部３３１は、サーバ通信部３１を介して端末装置２から受信したファイルから入力文字を取得する。また、ステップＳ２０８において、置換部３３６は、文字列を置換したファイルをサーバ通信部３１を介して端末装置２に送信する（ステップＳ４０４）。
【０１１９】
次に、端末装置２は、通信部を介してサーバ装置３からファイルを受信すると、受信したファイルを記憶部１４に書込む（ステップＳ４０５）。以上により、情報処理システム１０によるファイル修正処理に係る動作シーケンスは終了する。
【０１２０】
以上説明してきたように、サーバ装置３が登録文字列を抽出する場合も、サーバ装置３は、既にユーザにより作成されているファイルに含まれる誤記を適切に修正することが可能となった。
【０１２１】
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１２２】
１    端末装置
１３    表示部
１４    記憶部
３    サーバ装置
３１    サーバ通信部
３２    サーバ記憶部
１４１、３２１    第１学習器
１４２、３２２    第２学習器
１５１、３３１    取得部
１５２、３３２    算出部
１５３、３３３    抽出部
１５４、３３４    順位付け部
１５５、３３５    出力制御部
１５６、３３６    置換部
【図１】
2019003488.tif 000003
【図２】
2019003488.tif 000004
【図３】
2019003488.tif 000005
【図４】
2019003488.tif 000006
【図５】
2019003488.tif 000007
【図６】
2019003488.tif 000008
【図７】
2019003488.tif 000009
【図８】
2019003488.tif 000010
【図９】
2019003488.tif 000011
【図１０】
2019003488.tif 000012
【図１１】
2019003488.tif 000013
【図１２】
2019003488.tif 000014
【図１３】
2019003488.tif 000015
【図１４】
2019003488.tif 000016
【図１５】
2019003488.tif 000017
【図１６】
2019003488.tif 000018
【手続補正書】
【提出日】平成30年9月4日(2018.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶する記憶部と、
ユーザにより入力された入力文字列及び前記入力文字列とは異なる入力単語を取得する取得部と、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出する算出部と、
前記算出部により算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出する抽出部と、
前記抽出部により抽出された各登録文字列を、各登録文字列に対応する前記第１の平均又は総和が、前記入力単語に対応する前記第１の平均又は総和と類似する順に順位付けする順位付け部と、
前記抽出部により抽出された前記登録文字列を前記順位付け部により順位付けされた順位に基づいて出力する出力部と、
を有することを特徴とする情報処理装置。
【請求項２】
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を記憶し、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて記憶し、前記複数の登録文字列のそれぞれと、各登録文字列の分散表現を示す第２のベクトルとの第２の対応関係情報を記憶し、且つ、前記複数の登録文字列に対応する複数の前記第２のベクトルを各登録文字列と関連付けて記憶する記憶部と、
ユーザにより入力された入力文字列及び前記入力文字列とは異なる入力単語を取得する取得部と、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出する算出部と、
前記算出部により算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出する抽出部と、
前記抽出部により抽出された各登録文字列を、各登録文字列に対応する前記第２のベクトルが、前記入力単語に対応する前記第２のベクトルと類似する順に順位付けする順位付け部と、
前記抽出部により抽出された前記登録文字列を前記順位付け部により順位付けされた順位に基づいて出力する出力部と、
を有することを特徴とする情報処理装置。
【請求項３】
前記抽出部は、ユークリッド距離又はコサイン類似度を利用して、前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和を特定する、請求項１または２に記載の情報処理装置。
【請求項４】
前記記憶部は、前記登録文字列が漢字である場合、当該登録文字列をひらがなに変換し、ひらがなに変換された登録文字列から抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの前記第１の平均又は総和を各登録文字列と関連付けて記憶し、
前記算出部は、前記入力文字列が漢字である場合、当該入力文字列をひらがなに変換し、ひらがなに変換された入力文字列から抽出した連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの前記第２の平均又は総和を算出する、請求項１〜３の何れか一項に記載の情報処理装置。
【請求項５】
記憶部及び出力部を有する情報処理装置の制御方法であって、
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を前記記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて前記記憶部に記憶し、
ユーザにより入力された入力文字列及び前記入力文字列とは異なる入力単語を取得し、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、
前記算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出し、
前記抽出された各登録文字列を、各登録文字列に対応する前記第１の平均又は総和が、前記入力単語に対応する前記第１の平均又は総和と類似する順に順位付けし、
前記抽出された登録文字列を前記順位付けされた順位に基づいて前記出力部に出力する、
ことを含むことを特徴とする制御方法。
【請求項６】
記憶部及び出力部を有する情報処理装置の制御方法であって、
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を前記記憶部に記憶し、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて前記記憶部に記憶し、前記複数の登録文字列のそれぞれと、各登録文字列の分散表現を示す第２のベクトルとの第２の対応関係情報を前記記憶部に記憶し、且つ、前記複数の登録文字列に対応する複数の前記第２のベクトルを各登録文字列と関連付けて前記記憶部に記憶し、
ユーザにより入力された入力文字列及び前記入力文字列とは異なる入力単語を取得し、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、
前記算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出し、
前記抽出された各登録文字列を、各登録文字列に対応する前記第２のベクトルが、前記入力単語に対応する前記第２のベクトルと類似する順に順位付けする順位付けし、
前記抽出された登録文字列を前記順位付けされた順位に基づいて前記出力部に出力する、
ことを含むことを特徴とする制御方法。
【請求項７】
記憶部及び出力部を有する情報処理装置の制御プログラムであって、
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を前記記憶部に記憶し、且つ、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて前記記憶部に記憶し、
ユーザにより入力された入力文字列及び前記入力文字列とは異なる入力単語を取得し、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、
前記算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出し、
前記抽出された各登録文字列を、各登録文字列に対応する前記第１の平均又は総和が、前記入力単語に対応する前記第１の平均又は総和と類似する順に順位付けし、
前記抽出された登録文字列を前記順位付けされた順位に基づいて前記出力部に出力する、
ことを前記情報処理装置に実行させることを特徴とする制御プログラム。
【請求項８】
記憶部及び出力部を有する情報処理装置の制御プログラムであって、
連続する所定数の文字が含まれる複数の文字群のそれぞれと、各文字群の分散表現を示すベクトルとの対応関係情報を前記記憶部に記憶し、複数の登録文字列のそれぞれから抽出された連続する前記所定数の文字が含まれる複数の文字群に対応する複数の前記ベクトルの第１の平均又は総和を各登録文字列と関連付けて前記記憶部に記憶し、前記複数の登録文字列のそれぞれと、各登録文字列の分散表現を示す第２のベクトルとの第２の対応関係情報を前記記憶部に記憶し、且つ、前記複数の登録文字列に対応する複数の前記第２のベクトルを各登録文字列と関連付けて前記記憶部に記憶し、
ユーザにより入力された入力文字列及び前記入力文字列とは異なる入力単語を取得し、
前記入力文字列から連続する前記所定数の文字が含まれる複数の前記文字群を抽出し、抽出した前記複数の文字群に対応する複数の前記ベクトルを前記記憶部から取得し、且つ、取得した各ベクトルの第２の平均又は総和を算出し、
前記算出された前記第２の平均又は総和と類似する、前記記憶部に記憶された前記第１の平均又は総和に対応する登録文字列を抽出し、
前記抽出された各登録文字列を、各登録文字列に対応する前記第２のベクトルが、前記入力単語に対応する前記第２のベクトルと類似する順に順位付けする順位付けし、
前記抽出された登録文字列を前記順位付けされた順位に基づいて前記出力部に出力する、
ことを前記情報処理装置に実行させることを特徴とする制御プログラム。