(57)【要約】【課題】  読み仮名辞書を使用せずに，語句を読み仮名順に並び替える装置を提供する。【解決手段】  語句並び替え装置１の語句取得部１０は，複数の語句を含む語句リスト２を取得し，語句と読み仮名のペアの項目を有する作業用配列４を生成する。語句検索部１１は，作業用配列４の語句を１つずつ取り出して検索ワードとし，検索ワードを含むデータの検索要求を検索サイト５に送信し，検索結果を取得する。読み仮名抽出部１３は，抽出ルールをもとに，検索ワードの読み仮名相当の文字列を抽出し，作業用配列４の検索ワードである語句に対応する読み仮名に設定する。語句並べ替え部１４は，作業用配列４の全語句の検索終了後，作業用配列４の読み仮名をキーに五十音順に並べ替え，並び替えられた読み仮名の順序で，対応する語句を並べたソート済み語句リスト２を出力する。【選択図】  図１
2012068899.tif 000002
【特許請求の範囲】
【請求項１】
語句を読み仮名順に並べ替える語句並べ替え装置であって，
複数の語句を含む語句リストを取得する語句取得部と，
前記語句リストの語句を１つずつ取り出して検索ワードとし，インターネットの検索サイトに該検索ワードを含むデータの検索要求を送信し，検索結果を取得する語句検索部と，
前記検索結果として取得されたデータから，前記検索ワードである語句の読み仮名を示す文字列を抽出し，前記検索ワードである語句に該抽出した文字列を読み仮名として対応付ける読み仮名抽出部と，
前記語句リストの各語句に対応付けた読み仮名を五十音順に並べ替え，該並べ替えた読み仮名の順に対応する語句を並べた語句リストを出力する語句並べ替え部とを，備える
ことを特徴とする語句並べ替え装置。
【請求項２】
前記読み仮名抽出部は，前記検索ワードである語句の読み仮名を示す文字列が複数抽出された場合に，抽出数が最多の文字列を前記読み仮名とする
ことを特徴とする請求項１に記載の語句並べ替え装置。
【請求項３】
前記語句検索部は，前記検索ワードによる検索要求に対する検索結果から，該検索ワードの読み仮名を抽出しなかった場合に，前記検索ワードの語句を分割した各語句を二次検索ワードとし，前記二次検索ワードを含むデータの検索要求を送信する
ことを特徴とする請求項１または請求項２に記載の語句並べ替え装置。
【請求項４】
語句と読み仮名との対応を示す読み仮名情報を記憶する読み仮名情報記憶部を備えて，
前記読み仮名抽出部は，前記語句と該語句に対応付けた読み仮名とを，前記読み仮名情報として，前記読み仮名情報記憶部に格納する
ことを特徴とする請求項１ないし請求項３のいずれか一項に記載の語句並べ替え装置。
【請求項５】
検索ワードと該検索ワードによる検索結果として抽出された文字列との対応を示す抽出情報を記憶する抽出情報記憶部を備えて，
前記語句検索部は，前記検索ワードと，該検索ワードによる検索結果として抽出された，該検索ワードである語句の読み仮名を示す文字列とを，前記抽出情報として，前記抽出情報記憶部に格納する
ことを特徴とする請求項１ないし請求項４のいずれか一項に記載の語句並べ替え装置。
【請求項６】
前記語句リストの語句を１つずつ取り出して検索ワードとし，ローカルエリアに接続されている記憶装置またはシステムに記憶されているデータから，前記検索ワードの読み仮名を検索する第２検索部を備えて，
前記語句検索部は，前記第２検索部による検索の結果から前記検索ワードの読み仮名を抽出しなかった場合に，前記検索ワードを含むデータの検索要求を，前記検索サイトに送信する
ことを特徴とする請求項１ないし請求項５のいずれか一項に記載の語句並べ替え装置。
【請求項７】
複数の検索サイトを示す情報を保持して，前記語句検索部が検索要求を送信する検索先を選択して切り換える検索先選択部を備える
ことを特徴とする請求項１ないし請求項６のいずれか一項に記載の語句並べ替え装置。
【請求項８】
コンピュータが，語句を読み仮名順に並べ替える語句並べ替え処理方法であって，
複数の語句を含む語句リストを取得する処理過程と，
前記語句リストの語句を１つずつ取り出して検索ワードとし，インターネットの検索サイトに該検索ワードを含むデータの検索要求を送信し，検索結果を取得する処理過程と，
前記検索結果として取得されたデータから，前記検索ワードである語句の読み仮名を示す文字列を抽出し，前記検索ワードである語句に該抽出した文字列を読み仮名として対応付ける処理過程と，
前記語句リストの各語句に対応付けた読み仮名を五十音順に並べ替え，前記並べ替えた読み仮名の順に対応する語句を並べた語句リストを出力する処理過程とを，備える
ことを特徴とする語句並べ替え方法。
【請求項９】
コンピュータに，語句を読み仮名順に並べ替える語句並べ替え処理を実行させるためのプログラムであって，
前記コンピュータに，
複数の語句を含む語句リストを取得する処理と，
前記語句リストの語句を１つずつ取り出して検索ワードとし，インターネットの検索サイトに該検索ワードを含むデータの検索要求を送信し，検索結果を取得する処理と，
前記検索結果として取得されたデータから，前記検索ワードである語句の読み仮名を示す文字列を抽出し，前記検索ワードである語句に該抽出した文字列を読み仮名として対応付ける処理と，
前記語句リストの各語句に対応付けた読み仮名を五十音順に並べ替え，前記並べ替えた読み仮名の順に対応する語句を並べた語句リストを出力する処理とを，実行させる
ことを特徴とする語句並べ替えプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，語句をその読み仮名順に並べ替える処理技術に関する。
【背景技術】
【０００２】
漢字，記号，外国語表記の語などの語句（以下，単に「語句」という）を，その読み仮名順すなわち五十音順に並べ替える場合に，語句ごとに読み仮名を対応付けておく必要がある。
【０００３】
従来，語句と読み仮名（ひらがなまたはカタカナ）とを対応付けた対応辞書を使用して，並べ替える処理が知られている。
【０００４】
また，漢字をひらがなに逆変換する漢字逆変換辞書を用いて，漢字熟語の読みを解析して得たひらがな文字列（読み仮名）をソートして索引を生成する処理が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３０４３６４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
語句の並べ替え処理に，語句と読み仮名との対応を定義した読み仮名辞書を用いる場合，辞書の作成および更新等の作業負担が大きくなるという問題がある。
【０００７】
しかし，単純に語句そのものを用いて並べ替えを行うと，語句を表す文字コードの数字列の昇順または降順に並べ替えられるため，読み仮名順に並べ替えることができない。日本語の場合に，文字コード体系は，例えば，ＪＩＳ，シフトＪＩＳ，ＵＴＦ−８等のように複数あるため，オペレーティングシステム，アプリケーションシステム等が採用する文字コード体系によって，並べ替えの結果が異なってしまうという問題がある。
【０００８】
本発明の目的は，予め読み仮名辞書を準備することなく，語句群を読み仮名順（五十音順）に並べ替える処理を実行する装置，方法，プログラムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の一態様として開示される語句並べ替え装置は，１）複数の語句を含む語句リストを取得する語句取得部と，２）前記語句リストの語句を１つずつ取り出して検索ワードとし，インターネットの検索サイトに該検索ワードを含むデータの検索要求を送信し，検索結果を取得する語句検索部と，３）前記検索結果として取得されたデータから，前記検索ワードである語句の読み仮名を示す文字列を抽出し，前記検索ワードである語句に該抽出した文字列を読み仮名として対応付ける読み仮名抽出部と，４）前記語句リストの各語句に対応付けた読み仮名を五十音順に並べ替え，該並べ替えた読み仮名の順に対応する語句を並べた語句リストを出力する語句並べ替え部とを有する。
【００１０】
さらに，本発明の一態様として開示される語句並べ替え方法は，コンピュータが実行する処理方法であって，１）複数の語句を含む語句リストを取得する処理過程と，２）前記語句リストの語句を１つずつ取り出して検索ワードとし，インターネットの検索サイトに該検索ワードを含むデータの検索要求を送信し，検索結果を取得する処理過程と，３）前記検索結果として取得されたデータから，前記検索ワードである語句の読み仮名を示す文字列を抽出し，前記検索ワードである語句に該抽出した文字列を読み仮名として対応付ける処理過程と，４）前記語句リストの各語句に対応付けた読み仮名を五十音順に並べ替え，前記並べ替えた読み仮名の順に対応する語句を並べた語句リストを出力する処理過程とを備える。
【００１１】
さらに，本発明の一態様として開示される語句並べ替えプログラムは，コンピュータに，上記の処理方法により実現される各処理を実行させるものである。
【発明の効果】
【００１２】
上記した装置によれば，読み仮名辞書を使用することなく，語句リストに含まれる複数の語句を読み仮名順に並べ替えることができる。
【００１３】
よって，ユーザは，読み仮名辞書を生成するために，語句の読み仮名を知っている必要がなく，また，読み仮名を入力する必要がない。さらに，読み仮名辞書の保守が不要となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態における語句並び替え装置の構成例を示す図である。
【図２】語句リストの例を示す図である。
【図３】作業用配列の例を示す図である。
【図４】ソート済み語句リストの例を示す図である。
【図５】語句並び替え装置の処理の流れを示す図である。
【図６】語句検索部が保持する検索クエリのタイプ例，複数の検索サイトに対応させた検索クエリの例，および，ある検索サイトに対応する，複数の検索優先度に対応するタイプの検索クエリの例を示す図である。
【図７】検索結果として取得されたデータのＨＴＭＬのスクリプト例を示す図である。
【図８】抽出ルールに該当する検索ワードと読み仮名候補との例を示す図である。
【図９】読み仮名候補から読み仮名を決定する処理の例を示す図である。
【図１０】作業用配列の読み仮名の並び替え処理例を示す図である。
【図１１】二分割による二次検索ワードを用いた検索の例を示す図である。
【図１２】読み仮名情報記憶部に蓄積される読み仮名情報の例を示す図である。
【図１３】抽出情報記憶部にキャッシュされる情報の例を示す図である。
【図１４】本発明の別の実施形態における語句並び替え装置の構成例を示す図である。
【図１５】ユーザ定義辞書ファイルの例を示す図である。
【図１６】語句リストの取得処理の，より詳細な処理フロー例を示す図である。
【図１７】検索ワードによる検索処理および読み仮名抽出処理の，より詳細な処理フロー例を示す図である。
【図１８】読み仮名候補の抽出処理の，より詳細な処理フロー例を示す図である。
【図１９】語句リストの並べ替え処理の，より詳細な処理フロー例を示す図である。
【図２０】検索ワードによる検索処理の前に実行される，検索実行部のより詳細な処理フロー例を示す図である。
【図２１】文字コードによる並び替えの相違の例を示す図である。
【発明を実施するための形態】
【００１５】
図１は，本発明の一実施形態における語句並び替え装置の構成例を示す図である。
【００１６】
語句並び替え装置１は，入力される複数の語句を含むデータ（語句リスト）２を，読み仮名の順に並べ替え，並び替えた語句を含むデータ（ソート済み語句リスト）３を出力する装置である。
【００１７】
語句並び替え装置１は，ＣＰＵおよびメモリ等を有するハードウェアと，ソフトウェアプログラムとを備えるコンピュータ・システム，または専用ハードウェアによって実現される。
【００１８】
語句並び替え装置１は，語句取得部１０，語句検索部１１，読み仮名抽出部１３，語句並べ替え部１４，読み仮名情報記憶部１５，および，抽出情報記憶部１６を備える。
【００１９】
語句取得部１０は，並べ替えの対象となる複数の語句を含む語句リスト２を取得し，作業用配列４を生成する。語句は，例えば，漢字，記号，外国語の単語などである。
【００２０】
図２は，語句リスト２の例を示す図である。本実施例では，語句リスト２は，「福島，秋田，岩手，群馬，…」の複数の漢字を含む。
【００２１】
作業用配列４は，語句と読み仮名のペアのデータ項目を持つ二次元配列であり，「語句」には，語句リスト２の各語句が，「読み仮名」には，対応する語句の読み仮名として抽出された文字列が，それぞれ設定される。
【００２２】
図３は，語句リスト２から生成した作業用配列４の例を示す図である。作業用配列４は，語句リスト２の各語句とその読み仮名とのペアのデータ項目を有する。
【００２３】
語句検索部１１は，作業用配列４の各語句を検索ワードとして，検索ワードを含むデータを検索する。
【００２４】
語句検索部１１は，第１検索部１１０および検索先選択部１１１を備える。
【００２５】
第１検索部１１０は，作業用配列４の各語句を検索ワードとし，インターネットＮ１上の所定の検索サイト５に対して，検索ワードを含むデータを検索する検索要求を送信し，検索結果であるデータを取得する。
【００２６】
検索サイト５は，検索要求を受信して，インターネットＮ１上で提供されるデータ６ａ，６ｂ，６ｃ，…を検索，収集するサービスを提供するサイトである。検索サイト５は，各サイトが備える検索エンジンによって，インターネットＮ１上で提供されている種々のデータ６ａ，６ｂ，６ｃ，…から，検索ワードを含むデータを検索し，検索結果のデータを語句検索部１１に返却する。
【００２７】
検索先選択部１１１は，第１検索部１１０の検索要求を送信する検索先（検索サイト），および，後述する第２検索部１１２の検索処理の対象となるデータ記憶装置，データベースシステム等を選択し，検索先を切り換える。
【００２８】
また，第１検索部１１０は，検索ワードによる検索結果のデータから読み仮名が抽出されなかった場合に，検索ワードとした語句を分割した各語句を二次検索ワードとして検索を行う。
【００２９】
読み仮名抽出部１３は，検索結果の各データを解析し，所定の抽出ルールにもとづいて検索ワード（語句）の読み仮名に相当する文字列（ひらがな／カタカナ）を抽出し，抽出した文字列を，作業用配列４の該当する語句に対応付ける。
【００３０】
また，読み仮名抽出部１３は，検索結果のデータから複数の文字列を抽出できた場合に，抽出した文字列を読み仮名候補とし，抽出数が最多のものを読み仮名として，作業用配列４の該当する語句に対応付ける。
【００３１】
さらに，読み仮名抽出部１３は，作業用配列４に設定した語句と読み仮名との対応関係を，読み仮名情報として読み仮名情報記憶部１５に蓄積することができる。
【００３２】
語句並べ替え部１４は，作業用配列４の語句と読み仮名との各ペアを，読み仮名を五十音順に並べ替え，並べ替えたペアの語句のみを，ソート済み語句リスト３として出力する。五十音順とは，あいうえお順のひらがな各文字と，濁音，半濁音，促音，拗音，長音等を表す文字とを含む文字間の所定の並び順とする。
【００３３】
図４は，ソート済み語句リスト３の例を示す図である。ソート済み語句リスト３では，語句リスト２の語句が，読み仮名順に並び替えられ，「秋田，岩手，上野，川崎，…」の順となっている。
【００３４】
図５は，語句並び替え装置１の処理の流れを示す図である。
【００３５】
ステップＳ１：  語句リスト取得処理
語句並び替え装置１の語句取得部１０は，語句リスト２を取得する。語句取得部１０は，語句と読み仮名とのデータ項目を有する作業用配列４を生成して，取得した語句リスト２の各語句（漢字）を作業用配列４に設定する。
【００３６】
ステップＳ２：  検索ワードによる検索処理
語句検索部１１の第１検索部１１０は，作業用配列４の各語句（福島，秋田，岩手，群馬，…）を取り出して検索ワードとし，各検索ワードを含むデータを検索する検索要求（検索クエリ）を生成する。第１検索部１１０は，ＨＴＴＰ（HyperText Transfer Protocol）通信により，生成した検索クエリを検索サイト５に送信し，検索サイト５から検索結果としてデータ６を取得する。
【００３７】
第１検索部１１０は，生成する検索クエリのタイプを，検索優先度を付与して保持しておき，検索結果として十分な量のデータを得られない場合には，優先度の順に，別タイプの検索クエリを生成してもよい。
【００３８】
第１検索部１１０は，検索先として，複数の検索サイト用の検索クエリの生成情報を保持し，複数の検索サイト５それぞれに対応する検索クエリを生成する。
【００３９】
図６（Ａ）は，複数の検索サイト５に対応させた検索クエリの例を示す図である。第１検索部１１０は，例えば，検索ワードが“岩手”である場合に，検索サイト「Ｇｘｘｘ」に対して，“http://www.gxxx.co.jp/search?q=岩手”を，検索サイト「Ｅｘｘｘ」に対して，“http://www.exxx.co.jp/dictionary/japanese/?search =岩手”を，検索サイト「Ｗｘｘｘ」に対して，“http://www.jxxx.org/wxxx/岩手”を，それぞれ生成する。
【００４０】
また，第１検索部１１０は，１つの検索サイト５に対して，複数の検索優先度に対応するタイプの検索クエリを生成することができる。
【００４１】
図６（Ｂ）は，第１検索部１１０が生成する検索クエリのタイプ例を示す図である。第１検索部１１０は，検索優先度（優先度が高い順に，１，２，３，…とする）を付与した検索クエリのタイプを保持する。図６（Ｂ）に示す例では，検索優先度＝１のタイプは，検索ワードのみをキーワードとする検索クエリのタイプ，検索優先度＝２のタイプは，「検索ワード」と「読み仮名」とをキーワードとする検索クエリのタイプを表す。
【００４２】
図６（Ｃ）は，ある検索サイト５に対応する，各検索優先度のタイプに対応する検索クエリの例を示す図である。例えば，第１検索部１１０は，検索サイト「Ｇｘｘｘ」に対する複数タイプの検索クエリとして，
“http://www.gxxx.co.jp/search?q=岩手+読み仮名”，
“http://www.gxxx.co.jp/search?q=岩手+読み方”，
“http://www.gxxx.co.jp/search?q=岩手+由来”，
“http://www.gxxx.co.jp/search?q=岩手とは”を生成する。
【００４３】
検索クエリを受信した検索サイト５は，それぞれ，インターネットＮ１上のデータ６ａ，６ｂ，６ｃ，…を検索し，検索ワード（例えば“岩手”）を含むデータを，語句検索部１１に返却する。
【００４４】
さらに，検索先選択部１１１は，複数の検索先を登録している場合に，所定の順序またはユーザの指定に従って，第１検索部１１０が検索する検索先を選択して切り換える。
【００４５】
以上の処理により，語句検索部１１は，作業用配列４に設定された全ての語句について検索を行う。
【００４６】
ステップＳ３：  読み仮名抽出処理
読み仮名抽出部１３は，予め，データ内に出現する検索ワード（語句）と読み仮名との関係をもとに，読み仮名候補として抽出する文字列を特定する抽出ルールを保持する。そして，読み仮名抽出部１３は，検索結果の各データについて，ＨＴＭＬ（HyperText Markup Language）を解析し，抽出ルールを満たす文字列を，読み仮名候補として抽出する。
【００４７】
抽出ルールとして，例えば，以下のようなルールが定義される。
・抽出ルール１：  所定のタグで特定される範囲内で，検索ワードの直後に表れる括弧内のひらがな／カタカナの文字列を，読み仮名候補とする。
・抽出ルール２：  所定のタグで特定される範囲内で，メタタグのキーワードとして並記されている語句のうち，ひらがな／カタカナの文字列を，読み仮名候補とする。
【００４８】
読み仮名抽出部１３は，図７に示すような，検索されたデータのＨＴＭＬスクリプトの各行について，検索ワードが含まれるか否かを調べ，検索ワードが含まれる範囲について，抽出ルールに該当する文字列（ひらがな／カタカナ）があるかを調べる。
【００４９】
図８は，検索されたデータ内に出現する抽出ルールに該当する，検索ワードと読み仮名候補との例を示す図である。
【００５０】
図８（Ａ），（Ｂ）に示すように，検索されたデータのボディタグ内で，「検索ワード（語句）」の直後次に表れる括弧内かつひらがな／カタカナの文字列が出現している場合は，抽出ルールを満たすので，その文字列「いわてけん」，「いわて，いわで」は，読み仮名候補として抽出される。
【００５１】
また，図８（Ｃ）に示すように，検索されたデータのメタタグ内で，キーワードとして指定されている語を示す範囲内で，検索ワード（語句）とともに，ひらがな／カタカナの文字列が出現している場合は，抽出ルールを満たすので，その文字列「いわて」は，読み仮名候補として抽出される。
【００５２】
その後，読み仮名抽出部１３は，検索の結果から，複数の読み仮名候補が抽出された場合に，抽出された読み仮名候補（文字列）ごとに抽出数をカウントし，抽出数が最多の文字列を読み仮名とする。
【００５３】
例えば，図９（Ａ）に示すように，検索ワード「岩手」について，検索サイト「ｙｘｘｘ」による検索の結果から読み仮名候補「いわてけん」が，検索サイト「ｗｘｘｘ」，「ｅｘｘｘ」による検索の結果から，それぞれ，読み仮名候補「いわて」が抽出されたとする。
【００５４】
読み仮名抽出部１３は，図９（Ｂ）に示すように，抽出数計算の結果，最多の抽出数である「いわて」を，語句「岩手」の読み仮名と設定する。
【００５５】
読み仮名抽出部１３は，作業用配列４に設定された全ての語句について，検索結果のドキュメントデータ６ａ，６ｂ，６ｃのＨＴＭＬを解析し，検索ワードの読み仮名に相当する文字列（ひらがなまたはカタカナ）を抽出し，図１０（Ａ）に示すように，作業用配列４の該当する語句の「読み仮名」に，抽出した文字列（ひらがなまたはカタカナ）を設定する。
【００５６】
以上の処理により，読み仮名抽出部１３は，作業用配列４の全ての語句に対して読み仮名を設定する。
【００５７】
ステップＳ４：  語句リスト並べ替え処理
語句並べ替え部１４は，図１０（Ａ）に示すように，作業用配列４の全ての語句について読み仮名の検索が実行されると，作業用配列４の「読み仮名」をキーとして，語句と読み仮名とのペアを，図１０（Ｂ）に示すように読み仮名の五十音順に並び替える。
【００５８】
語句並べ換え部１４は，予め，ひらがな各文字と，濁音，半濁音，促音，拗音，長音の扱いとを含めて並び順序を定義する並び替え情報を保持し，作業用配列４の読み仮名の文字列（ひらがな）を先頭から１文字ずつ取り出し，読み仮名の並びの先後を決定する。なお，ひらがなの文字列のソート処理は，既知の処理により実施するため，処理の詳細についての説明は省略する。
【００５９】
語句並べ換え部１４は，並び替え前に，例えば，カタカナとひらがなとの対応関係を示すかな変換テーブルを備えて，図１０（Ｃ）に示すように，作業用配列４の読み仮名に設定されている文字列にカタカナが含まれている場合に，カタカナをひらがなに変換してもよい。
【００６０】
ステップＳ５：  ソート済み語句リストの出力処理
語句並べ替え部１４は，読み仮名で並び替えられた作業用配列４から，「語句（漢字）を並び替えられた順序で取り出してソート済み語句リスト３を生成し，出力する。
【００６１】
以上の処理により，語句リスト２に含まれる語句（漢字）が，読み仮名の順に並び替えられたソート済み語句リスト３が提供される。
【００６２】
次に，上記のステップＳ３の処理で，読み仮名抽出部１３が，検索されたデータから読み仮名を抽出できなかった場合の処理を説明する。
【００６３】
読み仮名抽出部１３が，検索されたデータから，抽出ルールを満たす文字列を抽出できなかったときは，抽出結果として「抽出不可」を出力する。
【００６４】
第１検索部１１０は，「抽出不可」の出力を受け付けると，検索ワードの語句を分割して二次検索ワードを生成し，二次検索ワードによる検索処理を行う。
【００６５】
語句の分割は，二分割または形態素解析によって行う。
【００６６】
図１１は，二次検索ワードを用いた検索の例を示す図である。
【００６７】
第１検索部１１０は，検索ワードの語句（文字列）を，文字列の中心または中心となる文字の前後で二分割し，分割した各文字列それぞれを，二次検索ワードとする。例えば，語句リスト２の語句「岩手の森」が検索ワードとなっていた場合に，語句検索部１１は，４文字の語句「岩手の森」の中心位置を求め，中心位置で分割して，２文字の「岩手」と「の森」とを得て，二次検索ワードとする。そして，第１検索部１１０は，「岩手」，「の森」それぞれを二次検索ワードとして検索を要求し，検索結果のデータを取得する。
【００６８】
読み仮名抽出部１３は，検索されたデータから，二次検索ワード「岩手」について，文字列「いわて」を抽出できたときは，この「いわて」を読み仮名として保持する。一方，二次検索ワード「の森」について，抽出ルールを満たす文字列を抽出できなければ，抽出不可を出力する。
【００６９】
これにより，第１検索部１１０は，さらに，二次検索ワード「の森」を，「の」と「森」とに二分割し，２つの二次検索ワード「の」，「森」で検索を要求する。
【００７０】
または，例えば，語句検索部１１は，検索ワードとなった語句を形態素解析し，語句を各要素に分割し，分割した各要素（文字列）を二次検索ワードとする。例えば，語句「岩手の森」が検索ワードである場合には，語句検索部１１は，検索ワードの語句を形態素解析した結果から，「岩手」，「の」，「森」の３要素に分割し，要素それぞれを二次検索ワードとする。
【００７１】
形態素解析処理は，ｃｈａｓｅｎ，ＭｅＣａｂ等の形態素解析器として知られている処理機能を採用することにより実施する。これらの形態素解析既知の処理であるので詳細な処理の説明は省略する（参照：http://chasen-legacy.sourceforge.jp/，http://mecab.sourceforge.net/）。
【００７２】
読み仮名抽出部１３は，二次検索ワードによる検索結果から，読み仮名を抽出する。そして，この場合，読み仮名抽出部１３は，各二次検索ワードに対応する読み仮名を，元の検索ワードでの順序に対応させて連結し，検索ワードの読み仮名として設定する。
【００７３】
例えば，上述の二分割による二次検索ワードでの検索処理の場合，読み仮名抽出部１３は，検索されたデータから，二次検索ワード「の」，「森」について，それぞれ，文字列「の」，「もり」を抽出できたときは，保持していた「いわて」に，抽出した「の」，「もり」を結合して文字列「いわてのもり」を生成し，読み仮名として作業用配列４に設定する。
【００７４】
なお，二次検索ワード「の」のように，二次検索ワードの文字列がひらがなのみであれば，その文字列が，そのまま抽出される。
【００７５】
また，上述の形態素解析による二次検索ワードでの検索処理の場合，読み仮名抽出部１３は，元の語句「岩手の森」から分割された要素（文字列）の並びに従って，読み仮名「いわて」，「の」，「もり」を結合し文字列「いわてのもり」を生成し，読み仮名として作業用配列４に設定する。
【００７６】
上述のように，語句並び替え装置１は，インターネットＮ１上の情報を活用して語句リスト２の各語句の読み仮名を取得するため，予め，語句と読み仮名との対応辞書を用意することなく，読み仮名順に並べ替えた語句の情報を提供することが可能となる。
【００７７】
さらに，上記のステップＳ３の処理において，読み仮名抽出部１３は，作業用配列４に設定された語句と読み仮名とのペアを，読み仮名情報として，読み仮名情報記憶部１５に蓄積することができる。
【００７８】
図１２は，読み仮名情報記憶部１５に蓄積される読み仮名情報の例を示す図である。
【００７９】
第１検索部１１０は，検索サイト５に対する検索を要求する前に，生成した検索ワードを用いて，読み仮名情報記憶部１５に蓄積される読み仮名情報を検索する。これにより，過去の検索結果を活用することが可能となり，検索効率を向上させることができる。
【００８０】
さらに，上記のステップＳ３の処理において，読み仮名抽出部１３は，抽出した検索ワードの読み仮名候補を，抽出情報記憶部１６にキャッシュすることができる。
【００８１】
図１３は，抽出情報記憶部１６にキャッシュされる情報の例を示す図である。
【００８２】
抽出情報記憶部１６には，検索ワードとなった語句，抽出された読み仮名候補（抽出ルールに該当する文字列），抽出情報記憶部１６に登録された時刻を示す登録時刻が蓄積される。さらに，読み仮名抽出部１３は，抽出情報記憶部１６の登録時刻をもとに，読み仮名候補を最新のものに維持する。
【００８３】
抽出情報記憶部１６に読み仮名候補がキャッシュされる場合には，上記のステップＳ２の処理において，第１検索部１１０は，抽出情報記憶部１６から，検索ワード（語句）に対応する読み仮名候補であって所定の期間内に登録されているものが蓄積されていれば，その読み仮名候補を抽出して検索結果とする。
【００８４】
これにより，読み仮名抽出部１３は，読み仮名が変遷するような語句についても，新しい読み仮名候補を取得することができる。
【００８５】
さらに，語句並び替え装置１は，インターネットＮ１上の情報を検索対象とするだけでなく，語句並び替え装置１の属するローカルエリアのネットワークＮ２に蓄積されている情報を活用することができる。
【００８６】
図１４は，本発明の別の実施形態における語句並び替え装置の構成例を示す図である。
【００８７】
図１４に示す語句並び替え装置１は，図１に示す語句並び替え装置１の語句検索部１１に，第２検索部１１２を備えるように構成した装置である。
【００８８】
すなわち，語句検索部１１は，第１検索部１１０および検索先選択部１１１に，さらに第２検索部１１２を備える。
【００８９】
第２検索部１１２は，語句検索部１１により，第１検索部１１０による検索処理の前に処理を実行するように制御され，作業用配列４の各語句を検索ワードとして，ネットワークＮ２上に接続されている記憶装置，データベースシステム等を対象に検索を行う。
【００９０】
ネットワークＮ２上に蓄積されているデータとは，例えば，ユーザにより語句に対応付けられた読み仮名を定義するユーザ定義辞書ファイル８ａ，語句とその読み仮名とを含むデータを蓄積するデータベース８ｂ，外部から提供された，語句と読み仮名との対応情報を含む提供辞書ファイル８ｃなどである。
【００９１】
図１５は，ユーザ定義辞書ファイル８ａの例を示す図である。ユーザ定義辞書ファイル８ａには，ユーザによって読み仮名が定義された語句が登録されている。
【００９２】
第２検索部１１２は，第１検索部１１０の処理の前に，読み仮名情報記憶部１５の読み仮名情報を検索し，検索ワードの読み仮名を抽出することができる。
【００９３】
この場合に，第２検索部１１２は，検索先選択部１１１が定めた検索先の選択順序に従って，ネットワークＮ２を介して接続する記憶装置やデータベースとして構成される，ユーザ定義辞書ファイル８ａ，データベース８ｂ，提供辞書ファイル８ｃ等を検索して，検索ワード（語句）に対応する読み仮名候補を取得する。
【００９４】
なお，データベース８ｂは，一般的なＳＱＬ（Structured Query Language）によるデータ取得が可能なものとし，第２検索部１１２は，ＳＱＬの検索クエリを生成して読み仮名候補を取得する。
【００９５】
上記の第２検索部１１２の検索処理は，図５に示す処理フローにおいては，ステップＳ１とＳ２の処理の間に実行されるものに相当する。
【００９６】
以下に，語句並び替え装置１の各処理について，より詳細な処理の例を説明する。
【００９７】
図１６は，語句リストの取得処理（ステップＳ１）のより詳細な処理フロー例を示す図である。
【００９８】
語句取得部１０は，語句リスト２を取得すると，可変長の２次元配列として，語句と読み仮名との項目を持つ作業用配列４を生成し（ステップＳ１０），語句リスト２の語句を１つ取り出し，作業用配列４に追加する（ステップＳ１１）。語句リスト２の最後の語句を読み込んだかを判定し（ステップＳ１２），最後の語句を読み込んでいなければ（ステップＳ１２のＮ），ステップＳ１１の処理へ戻り，最後の語句を読み込んでいれば（ステップＳ１２のＹ），処理を終了する。
【００９９】
図１７は，検索ワードによる検索処理（ステップＳ２）および読み仮名抽出処理（ステップＳ３）のより詳細な処理フロー例を示す図である。第１検索部１１０は，作業用配列４の全ての語句について，ステップＳ２０からＳ２８の処理を行う。
【０１００】
第１検索部１１０は，作業用配列４から取り出された語句による検索ワードを得て，所定の検索先に対する検索クエリを生成し（ステップＳ２０），検索先，すなわちインターネットＮ１の検索サイト２に検索クエリを送信して，検索を要求する（ステップＳ２１）。
【０１０１】
その後，読み仮名抽出部１３は，検索先から検索結果のデータを取得して，読み仮名候補を抽出する（ステップＳ２２）。
【０１０２】
第１検索部１１０は，ステップＳ２２の処理で読み仮名候補が抽出できたかを判定する（ステップＳ２３）。読み仮名候補が抽出できなければ（ステップＳ２３のＮ），第１検索部１１０は，検索ワードを分割して，二次検索ワードを生成し（ステップＳ２４），ステップＳ２０の処理へ戻る。読み仮名候補が抽出できたならば（ステップＳ２３のＹ），読み仮名抽出部１３は，検索ワードが二次検索ワードであるかを判定する（ステップＳ２５）。検索ワードが二次検索ワードである場合のみ（ステップＳ２５のＹ），読み仮名抽出部１３は，抽出結果を順番に結合し，読み仮名候補とする（ステップＳ２６）。
【０１０３】
その後，読み仮名抽出部１３は，読み仮名候補ごとに抽出数を計算し（ステップＳ２７），抽出数が最多の読み仮名候補を，作業用配列４の，検索ワード（語句）に対する読み仮名に設定する（ステップＳ２８）。
【０１０４】
図１８は，図１７に示す読み仮名候補の抽出処理（ステップＳ２２）の，より詳細な処理フロー例を示す図である。読み仮名抽出部１３は，検索結果の全てのデータ（ＨＴＭＬドキュメント）について，ステップＳ３０からＳ３５の処理を行う。
【０１０５】
読み仮名抽出部１３は，検索結果のデータについて，ＨＴＭＬの所定の範囲について，スクリプトを１行ずつ読み出して，検索ワードが含まれるかを調べる（ステップＳ３０）。検索ワードが含まれる場合には（ステップＳ３１のＹ），抽出ルールに該当する文字列があるかを調べる（ステップＳ３２）。そして，抽出ルールに該当する文字列がある場合のみ（ステップＳ３３のＹ），読み仮名抽出部１３は，該当する文字列（ひらがなまたはカタカナ）を，読み仮名候補として抽出し，保持する（ステップＳ３４）。
【０１０６】
スクリプトに検索ワードが含まれない場合（ステップＳ３１のＮ），または，抽出ルールに該当する文字列がない場合（ステップＳ３３のＮ）には，ステップＳ３５へ進む。
【０１０７】
次に，読み仮名抽出部１３は，全ての行を調べているかを判定し（ステップＳ３５），全ての行を調べていなければ（ステップＳ３５のＮ），ステップＳ３０の処理へ戻り，全ての行を調べていれば（ステップＳ３５のＹ），抽出した読み仮名候補があるかを判定する（ステップＳ３６）。抽出した読み仮名候補があれば（ステップＳ３６のＹ），読み仮名候補を出力して（ステップＳ３７），処理を終了し，抽出した読み仮名候補がなければ（ステップＳ３６のＮ），抽出不可を出力して（ステップＳ３８），処理を終了する。
【０１０８】
図１９は，語句リストの並べ替え処理（ステップＳ４）のより詳細な処理フロー例を示す図である。
【０１０９】
語句並べ替え部１４は，作業用配列４の読み仮名に設定された文字列を，全てひらがなへ変換し（ステップＳ４０），作業用配列４の読み仮名（ひらがな）に対して，並べ替えを行う（ステップＳ４１）。
【０１１０】
図２０は，検索ワードによる検索処理（ステップＳ２）の前に実行される，第２検索部１１２のより詳細な処理フロー例を示す図である。
【０１１１】
第２検索部１１２は，作業用配列４の読み仮名から取り出された，検索ワードを得て（ステップＳ５０），所定の検索先の順序に従って，ネットワークＮ２のローカルエリアで，検索ワードによる検索を実行し（ステップＳ５１），検索の結果から，検索ワードに対する読み仮名を抽出し（ステップＳ５２），読み仮名が抽出できた場合には（ステップＳ５３のＹ），作業用配列４に，抽出した読み仮名を設定する（ステップＳ５４）。一方，読み仮名が抽出できなかった場合には（ステップＳ５３のＮ），抽出不可を出力する（ステップＳ５５）。
【０１１２】
なお，語句検索部１１は，第２検索部１１２から抽出不可を受け付けると，第１検索部１１０による，インターネットＮ１上での検索の実行を制御する。
【０１１３】
語句並び替え装置１は，演算装置（ＣＰＵ），一時記憶装置（ＤＲＡＭ，フラッシュメモリ等），永続性記憶装置（ＨＤＤ，フラッシュメモリ等），およびインターネットＮ１，ネットワークＮ２などとのネットワークインターフェースを有するコンピュータによって実施することができる。
【０１１４】
また，語句並び替え装置１は，上記のコンピュータが実行可能なプログラムによって実施することができる。この場合に，語句並び替え装置１が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムを上記コンピュータが実行することによって，語句並び替え装置１の処理機能がコンピュータ上で実現される。
【０１１５】
すなわち，語句並び替え装置１の語句取得部１０，語句検索部１１，読み仮名抽出部１３，語句並べ替え部１４は，プログラムで構成することができ，これらのプログラムが，コンピュータの一時記憶装置にロードされて実行されることにより，各処理部の機能が実現される。また，読み仮名情報記憶部１５，抽出情報記憶部１６は，コンピュータの永続性記憶装置に格納される。
【０１１６】
なお，上記コンピュータは，可搬型記録媒体から直接プログラムを読み取り，そのプログラムに従った処理を実行することもできる。さらに，このプログラムは，コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【０１１７】
以上説明したように，複数の語句を読み仮名で並べ替える処理において，語句と読み仮名との対応辞書を用意する必要がなくなる。
【０１１８】
なお，読み仮名辞書を使用せずに，単に語句を並べ替える処理では，同じ語句リスト２（図３参照）であっても並び替えの結果が異なる。例えば，図２１に示すように，語句リスト２の語句は，読み仮名の順の並べ替えが不可能なだけでなく，図２１（Ａ）に示すシフトＪＩＳの文字コードの場合と，図２１（Ｂ）に示すＵＴＦ−８の文字コードの場合とでは，並び替えの結果が相違するため，読み仮名順に語句を並び替えることが不可能であることがわかる。これに対し，語句並び替え装置１によれば，図１０に示すように，語句リスト２の語句は，読み仮名の順に並び替えられていることがわかる。
【０１１９】
本発明にかかる語句並び替え装置１によれば，読み仮名辞書を使用せずに語句を読み仮名順に並び替えることができるため，ユーザは，語句並び替え処理用の対応辞書を準備するために，語句の読み仮名を知っている必要がなく，さらに，読み仮名を入力する必要がない。
【０１２０】
また，インターネット上では，語句が一般的であるほど提供される情報量が多くなる傾向にある。したがって，語句並び替え装置１によれば，一般的な語句であるほど，より正確な読み仮名を取得することが可能であるため，一般的な語句を多く含む語句群の並び替えを精度良く行うことができる。
【０１２１】
さらに，インターネット上では，新しい語句についての情報も比較的早期に提供される傾向になる。したがって，語句並び替え装置１によれば，新しい語句の読み仮名を取得することが可能であるため，読み仮名辞書の維持では対応が難しいような新しい語句を含む語句の並び替えを精度良く行うことができる。
【０１２２】
したがって，語句並び替え装置１は，読み仮名の辞書を作成・維持する作業負担が高いような，大量の語句を大まかに並び替える処理に最適である。
【符号の説明】
【０１２３】
１  語句並び替え装置
１０  語句取得部
１１  語句検索部
１１０  第１検索部
１１１  検索先選択部
１１２  第２検索部
１３  読み仮名抽出部
１４  語句並べ替え部
１５  読み仮名情報記憶部
１６  抽出情報記憶部
２  語句リスト
３  ソート済み語句リスト
４  作業用配列
５  検索サイト
６  データ
８ａ  ユーザ定義辞書ファイル
８ｂ  データベース
８ｃ  提供辞書ファイル
Ｎ１  インターネット
Ｎ２  ネットワーク
【図１】
2012068899.tif 000003
【図２】
2012068899.tif 000004
【図３】
2012068899.tif 000005
【図４】
2012068899.tif 000006
【図５】
2012068899.tif 000007
【図６】
2012068899.tif 000008
【図７】
2012068899.tif 000009
【図８】
2012068899.tif 000010
【図９】
2012068899.tif 000011
【図１０】
2012068899.tif 000012
【図１１】
2012068899.tif 000013
【図１２】
2012068899.tif 000014
【図１３】
2012068899.tif 000015
【図１４】
2012068899.tif 000016
【図１５】
2012068899.tif 000017
【図１６】
2012068899.tif 000018
【図１７】
2012068899.tif 000019
【図１８】
2012068899.tif 000020
【図１９】
2012068899.tif 000021
【図２０】
2012068899.tif 000022
【図２１】
2012068899.tif 000023