(57)【要約】【課題】入力語に応じてより多くの候補語を抽出し、過去に入力された文章と同様の文章を完成させる際により有用な候補語を抽出して表示する。【解決手段】候補語抽出装置が、辞書データの基である文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとする親子関係が解析され、文字列に含まれる各語をノードとした親子関係が構文木によって表されたノード情報を生成し、ノード情報に含まれるノードのうち、子ノードを入力語とし、子ノードに対応する親ノードを候補語として対応付けて辞書データ記憶部に記憶し、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードの一方を入力語とし、他方を候補語として対応付けて辞書データ記憶部に記憶し、ユーザから入力された入力語に対応する候補語を辞書データ記憶部から抽出し、表示部に表示させる。【選択図】図１
2010266947.tif 000002
【特許請求の範囲】
【請求項１】
定められた入力語と、当該入力語に後続する候補語とが対応付けられて記憶される辞書データ記憶部を備えた候補語抽出装置であって、
入力される文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとする親子関係が解析され、前記文字列に含まれる各語をノードとした前記親子関係が構文木によって表されたノード情報を生成するノード情報生成部と、
前記ノード情報に含まれる前記ノードのうち、前記子ノードを前記入力語とし、当該子ノードに対応する前記親ノードを前記候補語として対応付けて前記辞書データ記憶部に記憶させる親子ノード辞書データ生成部と、
前記ノード情報に含まれる前記ノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードの一方を前記入力語とし、他方を前記候補語として対応付けて前記辞書データ記憶部に記憶させる兄弟ノード辞書データ生成部と、
ユーザから入力された入力語に対応する前記候補語を前記辞書データ記憶部から抽出し、表示部に表示させる候補語抽出部と、
を備えたことを特徴とする候補語抽出装置。
【請求項２】
前記辞書データ記憶部には、ノード毎の属性を示す情報が記憶され、
前記候補語抽出部は、ユーザから入力された入力語に対応する複数の前記候補語を抽出すると、抽出した候補語に対応する前記ノードの属性に基づいて、抽出した複数の前記候補語を定められた順に並べて前記表示部に表示させる
ことを特徴とする請求項１に記載の候補語抽出装置。
【請求項３】
前記兄弟ノード辞書データ生成部は、前記ノード情報に含まれる前記ノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードのうち前記辞書データの基である文において前方に現れる語に対応するノードを兄ノードとし、前記抽出した子ノードのうち前記兄ノードの直後に現れるノードを弟ノードとして、当該弟ノードに対応する子ノードが存在しない場合に、前記兄ノードを前記入力語とし、前記弟ノードを前記候補語として対応付けて前記辞書データ記憶部に記憶させる
ことを特徴とする請求項１または請求項２のいずれか１項に記載の候補語抽出装置。
【請求項４】
定められた入力語と、当該入力語に後続する候補語とが対応付けられて記憶される辞書データ記憶部を備えた候補語抽出装置の候補語抽出方法であって、
入力される文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとする親子関係が解析され、前記文字列に含まれる各語をノードとした前記親子関係が構文木によって表されたノード情報を生成するステップと、
前記ノード情報に含まれる前記ノードのうち、前記子ノードを前記入力語とし、当該子ノードに対応する前記親ノードを前記候補語として対応付けて前記辞書データ記憶部に記憶させるステップと、
前記ノード情報に含まれる前記ノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードの一方を前記入力語とし、他方を前記候補語として対応付けて前記辞書データ記憶部に記憶させるステップと、
ユーザから入力された入力語に対応する前記候補語を前記辞書データ記憶部から抽出し、表示部に表示させるステップと、
を備えたことを特徴とする候補語抽出方法。
【請求項５】
定められた入力語と、当該入力語に後続する候補語とが対応付けられて記憶される辞書データ記憶部を備えた候補語抽出装置のコンピュータに、
入力される文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとする親子関係が解析され、前記文字列に含まれる各語をノードとした前記親子関係が構文木によって表されたノード情報を生成するステップと、
前記ノード情報に含まれる前記ノードのうち、前記子ノードを前記入力語とし、当該子ノードに対応する前記親ノードを前記候補語として対応付けて前記辞書データ記憶部に記憶させるステップと、
前記ノード情報に含まれる前記ノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードの一方を前記入力語とし、他方を前記候補語として対応付けて前記辞書データ記憶部に記憶させるステップと、
ユーザから入力された入力語に対応する前記候補語を前記辞書データ記憶部から抽出し、表示部に表示させるステップと、
を実行させる候補語抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザから入力された入力語に後続する候補語を抽出して表示する候補語抽出装置、候補語抽出方法及び候補語抽出プログラムに関する。
【背景技術】
【０００２】
近年、ユーザによる文章入力を補助するため、予め記憶した辞書データを参照して、ユーザから入力される入力語に応じて後続する候補語を抽出して表示する候補語抽出装置が提供されている。このような候補語抽出装置では、一般的に、辞書ソースデータである文に含まれる語の係り受け関係から、係る語を子ノード、受ける語を親ノードとした親子関係が解析され、子ノードを入力語とし、親ノードを候補語として対応付けた辞書データが予め記憶される。候補語抽出装置は、このような辞書データに基づいて、ユーザから入力される入力語に応じた候補語を抽出して表示する（例えば、特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２３３６０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような親子関係による候補語の表示は、広く一般的な入力には向いているが、過去に入力された文章と同様の文章を完成させる場合には、充分な数の語を候補語として抽出できない場合があった。例えば、辞書ソースデータが「私は昨日リンゴとミカンを買った。」である場合、図１４に示すように親子関係が解析され、辞書データが生成される。ここで、「私は」に対する親ノードは「買った」であるから、「私は」がユーザから入力された場合、抽出される候補語は「買った」のみである。ここで、ユーザが、「私は昨日リンゴとミカンを買った。」との文章を完成させたい場合でも、「私は」に応じて「昨日」は候補語として抽出されない。そのため、文字入力を行なうユーザは、抽出された候補語を選択することなく、新たに「昨日」という文字を入力する必要があった。このように、従来技術により生成される辞書データを用いて候補語の表示を行なう場合には、同様の文字列を複数回入力するような用途には不向きである場合があった。
【０００５】
本発明は、このような状況に鑑みてなされたもので、入力語に応じてより多くの候補語を抽出し、過去に入力された文章と同様の文章を完成させる際により有用な候補語を抽出して表示する候補語抽出装置を提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、定められた入力語と、入力語に後続する候補語とが対応付けられて記憶される辞書データ記憶部を備えた候補語抽出装置であって、入力される文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとする親子関係が解析され、文字列に含まれる各語をノードとした親子関係が構文木によって表されたノード情報を生成するノード情報生成部と、ノード情報に含まれるノードのうち、子ノードを入力語とし、子ノードに対応する親ノードを候補語として対応付けて辞書データ記憶部に記憶させる親子ノード辞書データ生成部と、ノード情報に含まれるノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードの一方を入力語とし、他方を候補語として対応付けて辞書データ記憶部に記憶させる兄弟ノード辞書データ生成部と、ユーザから入力された入力語に対応する候補語を辞書データ記憶部から抽出し、表示部に表示させる候補語抽出部と、を備えたことを特徴とする。
【０００７】
また、本発明は、上述の辞書データ記憶部には、ノード毎の属性を示す情報が記憶され、候補語抽出部は、ユーザから入力された入力語に対応する複数の候補語を抽出すると、抽出した候補語に対応するノードの属性に基づいて、抽出した複数の候補語を定められた順に並べて表示部に表示させることを特徴とする。
【０００８】
また、本発明は、上述の兄弟ノード辞書データ生成部は、ノード情報に含まれるノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードのうち辞書データの基である文において前方に現れる語に対応するノードを兄ノードとし、抽出した子ノードのうち兄ノードの直後に現れるノードを弟ノードとして、弟ノードに対応する子ノードが存在しない場合に、兄ノードを入力語とし、弟ノードを候補語として対応付けて辞書データ記憶部に記憶させることを特徴とする。
【０００９】
また、本発明は、定められた入力語と、入力語に後続する候補語とが対応付けられて記憶される辞書データ記憶部を備えた候補語抽出装置の候補語抽出方法であって、入力される文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとする親子関係が解析され、文字列に含まれる各語をノードとした親子関係が構文木によって表されたノード情報を生成するステップと、ノード情報に含まれるノードのうち、子ノードを入力語とし、子ノードに対応する親ノードを候補語として対応付けて辞書データ記憶部に記憶させるステップと、ノード情報に含まれるノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードの一方を入力語とし、他方を候補語として対応付けて辞書データ記憶部に記憶させるステップと、ユーザから入力された入力語に対応する候補語を辞書データ記憶部から抽出し、表示部に表示させるステップと、を備えたことを特徴とする。
【００１０】
また、本発明は、定められた入力語と、入力語に後続する候補語とが対応付けられて記憶される辞書データ記憶部を備えた候補語抽出装置のコンピュータに、入力される文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとする親子関係が解析され、文字列に含まれる各語をノードとした親子関係が構文木によって表されたノード情報を生成するステップと、ノード情報に含まれるノードのうち、子ノードを入力語とし、子ノードに対応する親ノードを候補語として対応付けて辞書データ記憶部に記憶させるステップと、ノード情報に含まれるノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードの一方を入力語とし、他方を候補語として対応付けて辞書データ記憶部に記憶させるステップと、ユーザから入力された入力語に対応する候補語を辞書データ記憶部から抽出し、表示部に表示させるステップと、を実行させる候補語抽出プログラムである。
【発明の効果】
【００１１】
以上説明したように、本発明によれば、候補語抽出装置が、辞書データの基である文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとする親子関係が解析され、文字列に含まれる各語をノードとした親子関係が構文木によって表されたノード情報を生成し、ノード情報に含まれるノードのうち、子ノードを入力語とし、子ノードに対応する親ノードを候補語として対応付けて辞書データ記憶部に記憶し、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードの一方を入力語とし、他方を候補語として対応付けて辞書データ記憶部に記憶し、ユーザから入力された入力語に対応する候補語を辞書データ記憶部から抽出し、表示部に表示させるようにしたので、入力語と関連し、後続して入力されることのある候補語を、入力語に対する係り受け関係のみによらず抽出することができ、過去に入力された文章と同様の文章を完成させる際により有用な候補語を抽出して表示することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態による候補語抽出システムの構成例を示すブロック図である。
【図２】本発明の一実施形態による辞書ソースデータの例を示す図である。
【図３】本発明の一実施形態による辞書ソースデータの構造解析結果の例を示す図である。
【図４】本発明の一実施形態により生成される辞書データの例を示す図である。
【図５】従来技術による候補語の表示と、本発明の一実施形態による候補語の表示との例を示す図である。
【図６】本発明の一実施形態により生成されるノード情報の例を示す図である。
【図７】本発明の一実施形態により生成される中間ファイルのデータ例を示す図である。
【図８】本発明の一実施形態により生成される辞書データの例を示す図である。
【図９】本発明の一実施形態による中間ファイル生成処理の例を示すフローチャートである。
【図１０】本発明の一実施形態によるノード処理の例を示すフローチャートである。
【図１１】本発明の一実施形態による中間情報書き込み処理の例を示すフローチャートである。
【図１２】本発明の一実施形態による中間情報書き込み処理の例を示すフローチャートである。
【図１３】本発明の一実施形態による辞書データ生成処理の例を示すフローチャートである。
【図１４】従来技術による構文解析結果の例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態による候補語抽出システム１の構成を示すブロック図である。候補語抽出システム１は、ユーザから入力される入力語に応じた候補語を抽出して表示するコンピュータ装置であり、辞書ソースデータ入力部１０１と、ノード情報生成部１０２と、ノード処理部１０４と、中間ファイル生成部１０５と、中間ファイル記憶部１０６と、辞書データ生成部１０７と、辞書データ記憶部１０８と、入力部１０９と、候補語抽出部１１０と、表示部１１１とを備えており、構文解析装置１０３に接続される。
【００１４】
ここで、まず、本実施形態の候補語抽出システム１によって行なう候補語抽出処理の概要を説明する。例えば、図２に示すように、辞書データの基である辞書ソースデータに示される文が「私は昨日リンゴとミカンを買った。」であるとすると、図３に示すように、辞書ソースデータの親子関係が構文木によって表された構文解析結果が得られる。ここで、「私は」、「昨日」、「リンゴと」、「ミカンを」のそれぞれの語が、「買った」に係る語として解析され、「買った」が受ける語として解析される。ここで、係る語を子ノードとし、受ける語を親ノードとするとともに、本実施形態では、同一の親ノードに対応する子ノードの組み合わせを兄弟ノードとして定義する。例えば、図において、「私は」と「昨日」とは、隣接する兄弟ノードであり、「昨日」と「ミカンを」とは、隣接しない兄弟ノードである。ここで、兄弟ノードのうち、辞書データソースにおいてより前方に現れる語に対応するノードを兄ノード、後方に現れる語に対応するノードを弟ノードとする。例えば、「私は」は「昨日」に対して兄ノードであり、「昨日」は「私は」に対して弟ノードである。
【００１５】
本実施形態の候補語抽出システム１では、このような兄弟ノードの組み合わせに基づいて、辞書データを生成する。図４（１）に示されるように、辞書データに含まれる綴り辞書においては、「私」を入力語とした場合に、親ノードである「は買った」に加えて、弟ノードである「は昨日」を候補語として対応付けた辞書データを生成する。図４（２）に示されるように、辞書データに含まれる読み辞書についても同様に、入力語に対応する弟ノードの語を候補語とした辞書データを生成する。
【００１６】
図５は、従来技術による候補語抽出処理と、本実施形態による候補語抽出処理とを比較する図である。ここでは、「私は昨日リンゴとミカンを買った。」との文が入力される例を説明する。図５（１）は、従来技術により辞書ソースデータの親子関係のみに基づいて生成された辞書データによる候補語抽出処理の例を示している。図に示されるように、従来技術により生成された辞書データを参照して候補語が抽出される場合には、入力語「わ」に対して候補語「私」が抽出されて表示され、入力語「私」に対して「は買った」が抽出されて表示される。ここで、入力語「私」に対してユーザが次に入力しようとする「昨日」は候補語として表示されないため、ユーザは「き」を入力する。ここで、入力語「き」を入力した時点で、「昨日」が候補語として表示される。このように、従来技術による場合には、入力語「私」に対して表示される候補語は、親ノードである「は買った」のみであった。
【００１７】
これに対し、図５（２）は、本実施形態により生成された辞書データによる候補語抽出処理の例を示している。図に示されるように、従来技術により生成された辞書データを参照して候補語が抽出される場合には、入力語「わ」に対して候補語「私」が抽出されて表示され、入力語「私」に対して、「は昨日」と「は買った」とが抽出されて表示される。このように、本実施形態による候補語抽出システム１によれば、入力語「私」に対する親ノードである「は買った」を候補語として抽出して表示するとともに、入力語「私」に対する弟ノードである「は昨日」を候補語として抽出して表示することが可能となる。これにより、ユーザが同様の文章を複数回入力する場合に、辞書ソースデータにおいて親子関係にある語のみならず、兄弟関係にある語を入力語に対する候補語として表示することが可能となる。
【００１８】
図１に戻り、このような候補語抽出処理を行う候補語抽出システム１の詳細な構成について説明する。
辞書ソースデータ入力部１０１は、辞書データを生成するために構文解析を行なう基の文である辞書ソースデータの入力を受付ける。辞書ソースデータ入力部１０１に入力される辞書ソースデータとしては、予め生成された複数の文による文章が含まれる文章ファイルを読み込むようにしても良いし、候補語抽出装置１００が備える入力部１０９にユーザから入力された文章を辞書ソースデータとしても良い。
【００１９】
ノード情報生成部１０２は、辞書ソースデータ入力部１０１に入力された辞書ソースデータに含まれる文を構文解析装置１０３に入力し、入力した文に応じて構文解析装置１０３から出力される構文解析結果を取得し、取得した構文解析結果に基づくノード情報を生成する。ここで、ノード情報生成部１０２は、辞書データソースに含まれる文章中から、文の終わりを示す読点（。）、終止符（．）、疑問符（？）、感嘆符（！）などを検出して、辞書ソースデータに含まれる文章を文に分割し、文毎に構文解析装置１０３に入力する。また、ノード情報生成部１０２は、構文解析装置１０３から出力される構文解析結果の構文木におけるノード毎に、ノード間の関係種別や他ノードの特定手順などの情報を付与して生成したノード情報を自身の記憶領域に記憶させる。例えば、図６（０）〜（６）は、ノード情報生成部１０２が生成するノード情報のデータ例を示す図である。ノード情報には、辞書ソースデータにおける文章が文節毎に分節されたノード毎に、そのノードを示す情報が含まれる。ここでは、「複数のＩＤやパスワードを、まとめて管理。」との文が、構文解析装置１０３によって解析された構文解析結果に基づくノード情報を示している。
【００２０】
ノード情報生成部１０２が生成するノード情報には、ノードを識別する自ノードＩＤに、そのノードに対する親（ノード）ＩＤ、そのノードに対応する語の綴り、読み、品詞、子ノード有無（フラグ）、子ノード特定手順、弟ノード特定手順が対応付けられる。各ノード情報に含まれる親ＩＤの対応関係によって、図６（ａ）に示されるような構文木が形成される。ノード情報において、自ノードＩＤ、親ＩＤ、綴り、読み、品詞の情報は、構文解析装置１０３から取得した構文解析結果に含まれる情報である。子ノード有無、子ノード特定手順、弟ノード特定手順の情報は、構文解析装置１０３から構文解析結果を取得した後に、ノード情報生成部１０２によって付与される情報である。
【００２１】
ここで、ノード情報生成部１０２は、構文解析結果における親ＩＤを参照することにより、各ノードに対応する子ノードが存在するか否かを判定し、存在する場合には子ノード有無として「１」を、存在しない場合には子ノード有無として「０」の情報をノード情報に書き込む。子ノード特定手順と、弟ノード特定手順との情報は、ノード情報生成部１０２に予め記憶された情報が記憶される。子ノード特定手順と、弟ノード特定手順とは、候補語抽出処理の利用用途等に応じて管理者によって予め定められる。子ノード特定手順と、弟ノード特定手順とは、全てのノードについて同様の特定手順を定めても良いし、ノードの品詞等によって異なる特定手順が定められるようにしても良い。
【００２２】
図１に戻り、構文解析装置１０３は、入力される文に含まれる複数の語の係り受け関係に基づいて、係る語を子ノード、受ける語を親ノードとして親子関係を解析し、文字列に含まれる各語をノードとした親子関係を構文木によって表した構文解析結果を出力する。構文解析プログラムとして、例えば、京都大学学術情報メディアセンターによる日本語構文解析システムであるＫＮＰ（http://nlp.kuee.kyoto-u.ac.jp/nl-resource/knp.html）などが存在する。
【００２３】
ノード処理部１０４は、ノード情報生成部１０２が取得した構文解析結果に基づいて、辞書データを生成するための中間ファイルを生成する。ここでは、ノード処理部１０４は、ノード情報生成部１０２が生成したノード情報のそれぞれを中間ファイル生成部１０５に入力して、中間ファイルを生成させる処理を行う。
【００２４】
中間ファイル生成部１０５は、ノード処理部１０４から入力されるノード情報についての他ノードとの親子関係や兄弟関係を判定して、辞書データを生成するための中間情報をノード毎に生成し、中間ファイル記憶部１０６に記憶させる。ここで、親子関係とは、構文解析装置１０３から出力される構文解析結果において、係り受け関係に基づいて係る語を子ノード、受ける語を親ノードとする関係である。また、兄弟関係とは、構文解析結果の構文木に含まれるノードのうち、同一の親ノードに対応する子ノードの組み合わせにおいて、子ノードの一方を兄ノードとし、他方を弟ノードとする関係である。ここで、中間ファイル生成部１０５は、構文木に含まれるノードのうち、同一の親ノードに対応する子ノードの組み合わせを抽出し、抽出した子ノードのうち辞書ソースデータの文において前方に現れる語に対応するノードを兄ノードとし、抽出した子ノードのうち兄ノードの直後に現れるノードを弟ノード（隣接弟ノード）として、弟ノードに対応する子ノードが存在しない場合に、兄ノードを入力語とし、弟ノードを候補語として対応付けた中間情報を生成する。
【００２５】
ここで、構文解析装置１０３による構文解析において名詞句間の関係が以下のように解析された場合、名詞句間には係り受け関係がなく、中間ファイル生成部１０５によって兄弟関係であると判定される。例えば、構文解析装置１０３によって、名詞句＋｛並列助詞ｏｒ読点（、）}＋名詞句＋{格助詞ｏｒ副助詞ｏｒ係助詞}と解析された場合、中間ファイル生成部１０５は、名詞句間には係り受け関係がなく兄弟関係であると判定する。例えば、「ＩＤやパスワードを」を構文解析した場合には、「ＩＤ」は名詞句、「や」は並立助詞、「パスワード」は名詞句、「を」は格助詞として判定され、中間ファイル生成部１０５は、「ＩＤ」と「パスワード」との名詞句は兄弟関係であると判定する。
【００２６】
図７は、中間ファイル記憶部１０６に記憶される中間ファイルのデータ例を示す図である。中間ファイルには、入力語となる辞書ノード１に、辞書ノード１の語に対して候補語となる辞書ノード２が対応付けられた中間情報が記憶される。中間情報には、辞書ノード数と、関係種別と、出現頻度とが対応付けられる。辞書ノード数は、対応する辞書ノード１と辞書ノード２とに含まれる構文解析結果におけるノード数を示す。関係種別は、対応する辞書ノード１と辞書ノード２との関係を示す。例えば、辞書ノード１に対応する辞書ノード２が存在しない中間情報には、関係種別として「単体」が記憶される。辞書ノード１に示される語と、辞書ノード２に示される語とが構文木において親子関係である場合には、関係種別として「親子」が記憶される。辞書ノード１に示される語と、辞書ノード２に示される語とが構文木において兄弟関係である場合には、関係種別として「兄弟」が記憶される。辞書ノード１および辞書ノード２には、対応する語の綴りと、読みと、品詞との情報が含まれる。
【００２７】
辞書データ生成部１０７は、中間ファイル記憶部１０６に記憶された中間ファイルに基づいて、入力語と候補語が対応付けられた辞書データを生成し、辞書データ記憶部１０８に記憶させる。図８は、辞書データ記憶部１０８に記憶される辞書データの構成例を示す概念図である。辞書データ記憶部１０８には、語の綴りを示す綴り辞書データと、語の読みを示す読み辞書データとが記憶される。図８（１）は、綴り辞書データの構成例を示す図である。綴り辞書データは、辞書の要素である語の綴りを結節点（ノード）とした、樹状の階層構造（木構造）のバイナリデータによって構成される。綴り辞書データに含まれる各ノードには、辞書ソースデータにおける語の出現頻度（回数）、入力語または入力語と候補語との関係を示す関係種別、品詞を示す情報など、ノードの属性を示す情報が対応付けられる。また、綴り辞書データには、ユーザから入力された入力語に、その入力語に後続することがある候補語が対応付けられている。
【００２８】
図８（２）は、綴り辞書データに対をなす読み辞書データの構成例を示す図である。読み辞書データは、綴り辞書データと同一の階層構造によって構成されており、綴り辞書データに示された綴りに対応する読みが、綴り辞書データのノードに対応する位置に構成される。図において、綴り辞書データおよび読み辞書データの各ノードに付されている[ａ１]、[ｂ１]などの記号は、綴り辞書データと読み辞書データとの間のリンクを示すリンクポインタである。すなわち、綴り辞書データと読み辞書データとの間において、同一の記号が設定されているノード同士は、相互に参照可能であることを示している。
【００２９】
入力部１０９は、ユーザからの文字入力を受付ける。入力部１０９には、例えば、キーボードやボタン等の入力デバイスが適用される。また、入力部１０９は、候補語抽出部１１０によって表示部１１１に表示された候補語のうち、いずれかの候補語がユーザによって選択されたことを示す情報が入力されると、選択された候補語を入力する。
【００３０】
候補語抽出部１１０は、ユーザから入力部１０９に入力された入力語に対応する候補語を、辞書データ記憶部１０８から抽出し、表示部１１１に表示させる。ここで、候補語抽出部１１０は、ユーザから入力された入力語に対応する複数の候補語を辞書データ記憶部１０８から抽出すると、抽出した候補語に対応するノードの属性に基づいて、抽出した複数の候補語を定められた順に並べて表示部に表示させる。ここで、候補語の並び順は、例えば、予め定められた並び替え設定が候補語抽出部１１０の記憶領域に記憶されていても良いし、ユーザによって定められた並び替え設定が記憶されるようにしても良い。並び替え設定には、候補語の並び替えを行なう際のキーであるソートキーの設定や、降順または昇順の設定、並び替えの優先順位の設定などが含まれる。ソートキーを用いる場合、例えば、第１ソートキーとして属性のうち品詞または関係種別、第２ソートキーとして属性のうち頻度を指定することができる。第１ソートキーとして頻度が指定されると、この頻度のみでソートを行う。
これにより、例えば、候補語を出現頻度の降順に表示したり、特定の品詞の入力語に後続する場合は特定の品詞の候補語を上位に表示したり、特定の関係種別の候補語を上位に表示したりすることが可能である。
表示部１１１は、候補語抽出部１１０が抽出した候補語を表示する表示部である。
【００３１】
次に、図を参照して、候補語抽出システム１による辞書データ生成処理を説明する。図９は、候補語抽出システム１による中間ファイル生成処理の例を示すフローチャートである。まず、辞書ソースデータ入力部１０１に辞書ソースデータが入力されると、ノード情報生成部１０２は、辞書データソースに含まれる文章を文に分割して、文のリストを生成する（ステップＳ１０００）。この際、ノード情報生成部１０２は、辞書データソースに含まれる文章中から、文の終わりを示す読点（。）、終止符（．）、疑問符（？）、感嘆符（！）などを検出して、複数の文が含まれる文章を文に分割する。ノード情報生成部１０２は、分割した文のそれぞれについて、ステップＳ２０００からステップＳ１００００までの処理を行う。ノード情報生成部１０２は、分割した文を構文解析装置１０３に入力して、構文解析結果を取得する（ステップＳ３０００）。
【００３２】
ステップＳ３０００において構文解析装置１０３による構文解析処理が失敗し、構文解析装置１０３からエラーが送信された場合には（ステップＳ４０００：Ｎｏ）、その文に対する処理を終了し、ステップＳ２０００に戻る。一方、ステップＳ３０００において構文解析装置１０３による構文解析処理が成功し、構文解析結果が出力された場合には（ステップＳ４０００：Ｙｅｓ）、ノード情報生成部１０２は、構文解析結果に含まれるノードのそれぞれについて、ステップＳ５０００からステップＳ８０００までの処理を行う。すなわち、ノード情報生成部１０２は、構文解析結果に含まれるノードのそれぞれについて、子ノード特定手順と弟ノード特定手順とのそれぞれのメソッドを格納し（ステップＳ６０００）、子ノード有無を算出して対応付けて（ステップＳ７０００）、ノード情報を生成する。
【００３３】
ノード情報生成部１０２は、生成したノード情報を、ノード処理部１０４に入力する（ステップＳ９０００）。図１０は、ノード処理部１０４によるノード処理を説明するフローチャートである。まず、ノード処理部１０４は、入力されたノード情報のうち、ルートノード（自ノードＩＤが「０」）のノード情報を、中間ファイル生成部１０５に入力する（ステップＳ９１００）。
【００３４】
図１１は、中間ファイル生成部１０５によって行なわれる中間情報書き込み処理を示すフローチャートである。中間ファイル生成部１０５は、ノード処理部１０４から入力されたノード情報を読み出す（ステップＳ９１１０）。中間ファイル生成部１０５は、読み出したノード情報に、綴りと読みとを示す情報が含まれており、かつノード情報に含まれる語が句点ではないか否かを判定する（ステップＳ９１２０）。ここで、中間ファイル生成部１０５が、読み出したノード情報には、綴りと読みとを示す情報が含まれていないか、または語が句点であると判定すれば（ステップＳ９１２０：Ｎｏ）、処理を終了し、ノード処理部１０４に処理を返す。
【００３５】
一方、ステップＳ９１２０において、中間ファイル生成部１０５が、読み出したノード情報には、綴りと読みとを示す情報が含まれており、かつ語が句点でないと判定すれば（ステップＳ９１２０：Ｙｅｓ）、入力されたノード情報に対応する親ノードが存在しており（親ＩＤの項目に情報が存在しており）、かつ綴りと読みとが含まれているか否かを判定する（ステップＳ９１３０）。ここで、中間ファイル生成部１０５が、入力されたノード情報に対応する親ノードが存在しないか、または綴りと読みとがないと判定すれば（ステップＳ９１３０：Ｎｏ）、自ノードのノード情報を、関係種別を「単体」とする中間情報として、中間ファイル記憶部１０６に記憶させる（ステップＳ９１６０）。
【００３６】
一方、ステップＳ９１３０において、中間ファイル生成部１０５が、入力されたノード情報に対応する親ノードが存在しており、かつ綴りと読みとがあると判定すれば（ステップＳ９１３０：Ｙｅｓ）、親ＩＤに対応するノード情報を読み出し、自ノードのノード情報に含まれる語と親ノードのノード情報に含まれる語とを対応付け、関係種別を「親子」とする中間情報を、中間ファイル記憶部１０６に記憶させる（ステップＳ９１４０）。そして、中間ファイル生成部１０５は、入力されたノード情報について、兄弟ノード書き込み処理を行う（ステップＳ９１５０）。
【００３７】
図１２は、中間ファイル生成部１０５によって行なわれる兄弟ノード書き込み処理の例を示すフローチャートである。まず、中間ファイル生成部１０５は、入力されたノード情報に含まれる弟ノード特定手順により、入力されたノード情報に対応する弟ノードのノード情報を取得する（ステップＳ９１５１）。中間ファイル生成部１０５は、ステップＳ９１５１において取得した弟ノードのうち、自ノードＩＤの次に大きい番号のノードＩＤが付与されたノード（隣接弟ノード）を抽出する（ステップＳ９１５２）。ここでは、ノードＩＤの番号は、大きければ大きいほど、辞書データソースにおける文中で前方に現れた語であることを示す。
【００３８】
中間ファイル生成部１０５は、ステップＳ９１５２において、隣接弟ノードが抽出できなければ（ステップＳ９１５３：Ｎｏ）、処理を終了する。一方、中間ファイル生成部１０５が、隣接弟ノードを抽出すれば（ステップＳ９１５３：Ｙｅｓ）、抽出した隣接兄弟ノードに含まれる子ノード有無（フラグ）が、０であるか否かを判定する（ステップＳ９１５４）。
【００３９】
また、ステップＳ９１５４において、中間ファイル生成部１０５が、抽出した隣接弟ノードに対応する子ノード有無フラグが０でないと判定すると（ステップＳ９１５４：Ｎｏ）、処理を終了する。一方、ステップＳ９１５４において、中間ファイル生成部１０５が、抽出した隣接弟ノードに対応する子ノード有無フラグが０であると判定すると（ステップＳ９１５４：Ｙｅｓ）、抽出した隣接弟ノードのノード情報に、綴りと読みとが含まれるか否かを判定する（ステップＳ９１５５）。
【００４０】
中間ファイル生成部１０５は、抽出した隣接弟ノードのノード情報に、綴りと読みとが含まれないと判定すると（ステップＳ９１５５：Ｎｏ）、処理を終了する。一方、ステップＳ９１５５において、中間ファイル生成部１０５が、抽出した隣接弟ノードのノード情報に、綴りと読みとが含まれると判定すると（ステップＳ９１５５：Ｙｅｓ）、入力されたノード情報の語と、弟ノードのノード情報の語とを対応付け、関係種別を「兄弟」とする中間情報を、中間ファイル記憶部１０６に記憶させる（ステップＳ９１５６）。
【００４１】
図１０に戻り、ノード処理部１０４は、入力されたノード情報についてステップＳ９１００における中間ファイル生成処理が終了すると、入力されたノード情報に含まれる子ノード特定手順により、子ノードの一覧を取得し（ステップＳ９２００）、全ての子ノードのそれぞれについてノード情報をノード処理部１０４に再帰的に入力し（ステップＳ９４００）、ノード情報に含まれるノードＩＤの値が小さい順に、中間ファイル生成部１０５による中間ファイル生成処理を行わせる（ステップＳ９３００〜ステップＳ９５００）。
【００４２】
このように、辞書ソースデータに基づく中間情報が中間ファイル記憶部１０６に記憶されると、辞書データ生成部１０７は、中間ファイル記憶部１０６に記憶された中間ファイルに基づいて辞書データを生成し、辞書データ記憶部１０８に記憶させる。図１３は、辞書データ生成部１０７による辞書データ生成処理の例を示すフローチャートである。辞書データ生成部１０７は、中間ファイル記憶部１０６に記憶された中間ファイルから、中間情報を読み出す。ここで、辞書データ生成部１０７は、中間情報から、辞書ノード１のノード情報の綴りを示す綴り１と、辞書ノード１のノード情報の読みを示す読み１と、辞書ノード１のノード情報の品詞を示す品詞１との情報を読み出す。また、辞書データ生成部１０７は、読み出した中間情報から、辞書ノード２のノード情報の綴りを示す綴り２と、辞書ノード２のノード情報の読みを示す読み２と、辞書ノード２のノード情報の品詞を示す品詞２との情報を読み出す。さらに、辞書データ生成部１０７は、辞書ノード１と辞書ノード２との関係種別を読み出す（ステップＳ１）。辞書データ生成部１０７は、中間ファイル記憶部１０６から読み出した情報を、構造木の深さに応じて、辞書データとして辞書データ記憶部１０８に記憶させる（ステップＳ２）。ここでは、出現頻度、リンクポインタも対応付けて記憶する。ただし、既に同じ辞書データが存在する場合には、その辞書データの出現頻度を１加算する。辞書データ生成部１０７は、中間ファイル記憶部１０６に記憶された全ての中間情報について、辞書データ生成処理を完了すると、処理を終了する（ステップＳ３：Ｙｅｓ）。一方、辞書データ生成部１０７は、中間ファイル記憶部１０６に記憶された全ての中間情報について、辞書データ生成処理を完了していなければ、ステップＳ１に戻り、他の中間情報について、辞書データ生成処理を行う（ステップＳ３：Ｎｏ）。
【００４３】
次に、「複数のＩＤやパスワードを、まとめて管理。」との文が含まれる辞書ソースデータが候補語抽出装置１００に入力されたとして、上述の辞書データ生成処理の動作例について説明する。候補語抽出装置１００の辞書ソースデータ入力部１０１に、上述の文が含まれる辞書ソースデータが入力されると、図９に示したステップＳ１０００において、辞書ソースデータに含まれる上述の文が抽出される。ステップＳ３０００において、構文解析装置１０３によって上述の文が構文解析されると、図６の（ａ）に示したような構文解析結果が、構文解析装置１０３から出力される。ステップＳ９０００において、ノード処理部１０４によって、構文解析結果に基づくノード情報のうちノードＩＤの値が小さい順にノード処理が行われる。まず、ルートノード（自ノードＩＤ「０」）のノード処理が行われる。ステップＳ９１２０において、自ノードＩＤ「０」のノードの語には、綴りと読みがないため、Ｎｏと判定され、中間ファイルへの書き込みは行われない。
【００４４】
次に、ノード処理を行った自ノードＩＤ「０」の次にノードＩＤの値が小さい自ノードＩＤ「１」のノードについてノード処理が行われる。ステップＳ９１２０において、自ノードＩＤ「１」のノードの語（「管理」）には、綴りと読みがあり、句点でもないため、Ｙｅｓと判定される。そして、ステップＳ９１３０において、自ノードＩＤ「１」に対する親ノード（自ノードＩＤ「０」）は存在するが、親ノードには綴りと読みがないため、Ｎｏと判定される。ここで、ステップＳ９１６０において、中間ファイル生成部１０５によって「管理」の語についての中間情報に関係種別「単体」が対応付けられて、図７の１行目に示されるように中間ファイル記憶部１０６に書き込まれる。
【００４５】
次に、ノード処理を行った自ノードＩＤ「１」の次にノードＩＤの値が小さい自ノードＩＤ「２」のノードについてノード処理が行われる。ステップＳ９１２０において、自ノードＩＤ「２」のノードの語（「まとめて」）には、綴りと読みがあり、句点でもないため、Ｙｅｓと判定される。そして、ステップＳ９１３０において、自ノードＩＤ「２」に対する親ノード（自ノードＩＤ「１」）が存在し、親ノードには綴りと読みがあるため、Ｙｅｓと判定される。ここで、ステップＳ９１４０において、自ノードＩＤ「２」のノードと、自ノードＩＤ「１」のノードとが、関係種別を「親子」として対応付けられて図７の２行目に示される中間情報が中間ファイル記憶部１０６に記憶される。
【００４６】
同様に、自ノードＩＤ「３」のノードについてノード処理が行われる。ステップＳ９１２０において、自ノードＩＤ「３」のノードの語（「ＩＤや」）には、綴りと読みがあり、句点でもないため、Ｙｅｓと判定される。そして、ステップＳ９１３０において、自ノードＩＤ「３」に対する親ノード（自ノードＩＤ「２」）が存在し、親ノードには綴りと読みがあるため、Ｙｅｓと判定される。ここで、ステップＳ９１４０において、自ノードＩＤ「３」のノードと、自ノードＩＤ「２」のノードとが対応付けられて、図７の３行目に示される中間情報が中間ファイル記憶部１０６に記憶される。さらに、ステップＳ９１５２において、自ノードＩＤ「５」のノードが、自ノードＩＤ「３」のノードに対応する弟ノードとして抽出される。ステップＳ９１５４において、抽出した弟ノード（自ノードＩＤ「５」）の子ノード有無は「０」であると判定される。また、ステップＳ９１５５において、弟ノード（自ノードＩＤ「５」）の語には綴りと読みがあるためＹｅｓと判定される。ここで、ステップＳ９１５６において、自ノードＩＤ「３」のノードと、自ノードＩＤ「５」のノードとが、関係種別を「兄弟」として対応付けられて図７の４行目に示される中間情報が中間ファイル記憶部１０６に記憶される。
【００４７】
このようにして、中間ファイル生成部１０５によって図７に示したような中間情報が生成され、複数の中間情報が含まれる中間ファイルが中間ファイル記憶部１０６に記憶される。そして、辞書データ生成部１０７が、中間ファイル記憶部１０６に記憶された中間ファイルに基づいて、図８に示したような辞書データを生成する。例えば、辞書データ生成部１０７は、図１３に示したステップＳ１において、図７に示した中間ファイルの１行目に示される中間情報を読み出す。そして、読み出した中間情報に含まれる辞書ノード１のノード情報の綴りを示す綴り１（「管理」）と、出現頻度（「１」）と、関係種別（「単体」）と、品詞１（「名詞」）とを対応付けて、図８（１）の綴り辞書データにおけるリンクポインタが[ａ１]であるノードとして辞書データ記憶部１０８に書き込む。
また、辞書データ生成部１０７は、読み出した中間情報に含まれる辞書ノード１のノード情報の読みを示す読み１（「かんり」）と、出現頻度（「１」）と、関係種別（「単体」）と、品詞１（「名詞」）とをノードとして図８（２）の読み辞書データにおけるリンクポインタが[ａ１]であるノードとして辞書データ記憶部１０８に書き込む。
辞書データ生成部１０７によって、綴り辞書データに記憶させるノードと、読み辞書データに記憶させるノードとに、リンクポインタ（[ａ１]）が付与されることによって、これらノードの相互の関係性が表される。
【００４８】
同様に、辞書データ生成部１０７は、図７に示した中間ファイルの２行目に示される中間情報を読み出す。そして、読み出した中間情報に含まれる辞書ノード１のノード情報の綴りを示す綴り１（「まとめて」）と、品詞１（「動詞」）とをノードとして図８（１）の綴り辞書データにおける[ｂ１]のノードに書き込む。また、辞書ノード２のノード情報の綴りを示す綴り２（「管理」）と、品詞２（「名詞」）と、関係種別（「親子」）とをノードとして図８（２）の読み辞書データに示す[ｂ２]のノードに書き込む。このように、辞書データ生成部１０７は、辞書データにノードを書き込む際には、入力語に対して候補語となるノードに、関係種別を書き込む。辞書データ生成部１０７は、読み辞書データについても同様に辞書データを書き込む。辞書データ生成部１０７は、中間ファイル記憶部１０６に記憶された全ての中間情報について同様の辞書データ生成処理を行い、図８に示したような辞書データを生成し、辞書データ記憶部１０８に記憶させる。
【００４９】
そして、ユーザによって、入力部１０９に文字が入力されると、辞書データ記憶部１０８に記憶された辞書データに基づいて、候補語抽出部１１０が候補語を抽出する。例えば、入力部１０９から未確定文字として「ぱ」が入力された場合には、図８（２）に示した読み辞書データから、「ぱ」で開始する文字列「ぱすわーど」に対応付けられた[ｆ１]のノードを抽出する。ここでいう未確定文字とは、入力途中の文字であり、入力された文字が確定していない文字（変換途中の文字）である。また、当該ノードのリンクポインタ［ｆ１］に基づいて、図８（１）に示した綴り辞書の対応するノードから、対応する綴りである「パスワード」を抽出し、候補語として表示部１１１に表示する。ここでは、「ぱ」が未確定文字であるので、「ぱ」が先頭である文字列の候補語が表示される。
同様に、入力部１０９に確定文字「ＩＤ」が入力された場合には、図８（１）に示した綴り辞書データから、文字列「ＩＤ」と一致する文字列「ＩＤ」に対応付けられた[ｃ１]のノードを読み出す。ここでいう確定文字とは、入力された文字の変換が完了した文字であり、入力された文字の変換を行わない状態で確定した文字も含む。また、候補語抽出部１１０は、当該ノードに対応付けられた[ｃ２]のノード「をまとめて」及び［ｄ２］のノード「やパスワード」を抽出し、表示部１１１に表示する。ここでは、「ＩＤ」が確定文字であるので、その「ＩＤ」の後ろに続いて入力される可能性がある文字列が候補語として表示される。
この際、候補語抽出部１１０は、予め定められた並び順に基づいて、候補語を出力する。ここでは、例えば、候補語抽出部１１０は関係種別に応じた並び順により、候補語を出力する。
【００５０】
ここで、候補語抽出部１１０が複数の候補語を抽出した場合に、抽出した複数の候補語を、その候補語の属性に基づいて定められた順に並べて表示部１１１に表示させる動作例について詳細に説明する。候補語抽出部１１０が候補語を並び替える際に利用する項目としては、例えば、出現頻度、品詞、関係種別などが適用できる。例えば、候補語抽出部１１０は、定められた並び替え設定において出現頻度が並び変え項目として記憶されている場合には、候補語に対応付けられた出現頻度の値に応じて、降順または昇順に候補語を出力させる。品詞が並び変え項目として記憶されている場合には、候補語に対応付けられた品詞に応じて、候補語を出力させる。ここでは、候補語抽出部１１０は品詞毎の並び替えの優先順位を予め記憶しておき、優先順位の降順または昇順に候補語を出力する。品詞の優先順位とは、例えば、優先順位が高い品詞から順に、名詞→動詞→形容詞→形容動詞→接続詞のような並びが定められる。
【００５１】
また、候補語抽出部１１０は、関係種別が並び変え項目として記憶されている場合には、候補語に対応付けられた関係種別に応じて、候補語を出力させる。候補語抽出部１１０は、関係種別毎の並び替えの優先順位を予め記憶しておき、優先順位の降順または昇順に候補語を出力する。関係種別の優先順位とは、例えば、優先順位が高い関係種別から順に、単体→兄弟→親子などの並びが定められる。
この場合、図８に示した例のように、入力語「ＩＤ」について、関係種別が「親子」である候補語「やまとめて」と、関係種別が「兄弟」である候補語「やパスワード」とが抽出され、関係種別の降順に並び替えることを示す並び替え設定が記憶されている場合、候補語抽出部１１０は、関係種別が「兄弟」である候補語を優先して、「やパスワード」、「やまとめて」の順に候補語を表示させる。第１ソートキー及び第２ソートキーに従ってソートすることが指定されている場合には、第１ソートキーでソートを行った後、第２ソートキーでソートを行う。第１ソートキーとして「頻度」が指定されている場合には、第１ソートキーのみでソートを行う。
候補語抽出部１１０が、このように属性毎に候補語を並び替えて出力することで、例えば兄弟関係にある候補語を上位に表示させつつ、親子関係にある候補語をも選択肢として提示することが可能となる。
【００５２】
このように、本実施形態によれば、ユーザから入力された入力語に応じて、入力語に後続する候補語を抽出して表示する際、辞書ソースデータにおける親子関係に加えて、兄弟関係にある語を候補語とした辞書データを生成して、生成した辞書データに基づいて候補語を抽出して表示させるようにした。これにより、文中での係り受け関係において係る語に対応する受ける語が候補語として表示されることに加えて、辞書ソースデータにおける文中で隣接する兄弟関係にある語が候補語として表示される。これにより、同一の語に複数の語が係るような構造の文章を、ユーザが複数回入力しようとする場合に、入力語に対して後続して入力された語を候補語として表示することができ、ユーザは、表示される語を選択するだけで、同一の語を入力することが可能となる。
【００５３】
なお、本実施形態では、候補語抽出装置１００とは別に、構文解析装置１０３を設置する例を示したが、候補語抽出装置１００が、構文解析を行なう構文解析部を備えるように構成しても良い。
また、本実施形態における各機能部は、ソフトウェアプログラムが実行されることによって論理的に実現されるが、これらの機能を、例えばＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）などの物理的な構成によって実現しても良い。
【００５４】
また、本実施形態における候補語抽出装置１００は、携帯電話やＰＤＡ（Personal Digital Assistant）などの携帯端末を適用しても良いし、ＰＣ（Personal Computer）などのコンピュータ装置を適用しても良い。この場合、候補語抽出装置１００は、辞書データ記憶部１０８〜表示部１１１のみの機能を備え、辞書ソースデータ入力部１０１〜辞書データ生成部１０７の機能部は備えないようにして、他の装置で生成した辞書データを候補語抽出装置１００に記憶させて動作させるようにしても良い。このようにすれば、ユーザが利用する各装置において、辞書ソースデータの入力や中間ファイルの生成、辞書データの生成などの処理を行う必要がない。また、辞書ソースデータ入力部１０１〜辞書データ生成部１０７の機能部は、例えば日次バッチなどの処理で夜間に動作するようにして良い。
【００５５】
また、本字実施形態により生成された候補語抽出処理は、電子メール等のテキスト入力を行なう際に利用されることに加え、例えば、電話応答の内容をリアルタイムに入力する必要のあるコールセンタなどの入力端末に適用して好適である。
【００５６】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより候補語抽出処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００５８】
１  候補語抽出システム
１００  候補語抽出装置
１０１  辞書ソースデータ入力部
１０２  ノード情報生成部
１０３  構文解析装置
１０４  ノード処理部
１０５  中間ファイル生成部
１０６  中間ファイル記憶部
１０７  辞書データ生成部
１０８  辞書データ記憶部
１０９  入力部
１１０  候補語抽出部
１１１  表示部
【図１】
2010266947.tif 000003
【図２】
2010266947.tif 000004
【図３】
2010266947.tif 000005
【図４】
2010266947.tif 000006
【図５】
2010266947.tif 000007
【図６】
2010266947.tif 000008
【図７】
2010266947.tif 000009
【図８】
2010266947.tif 000010
【図９】
2010266947.tif 000011
【図１０】
2010266947.tif 000012
【図１１】
2010266947.tif 000013
【図１２】
2010266947.tif 000014
【図１３】
2010266947.tif 000015
【図１４】
2010266947.tif 000016