(57)【要約】      （修正有）【課題】テキストデータに含まれる多義語（単語）の語義を特定する符号化装置を提供する。【解決手段】符号化装置は、テキストデータを受け付ける。符号化装置は、受け付けたテキストデータに含まれる単語を抽出する。符号化装置は、抽出した単語が複数の語義を含む場合、複数の語義を含む単語の語義ごとに、単語に対する他の単語の共起情報を記憶する記憶部を参照して、共起情報に基づき、抽出した単語の語義を特定する。【選択図】図９
2019012468.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータを受け付け、
受け付けた前記テキストデータに含まれる単語を抽出し、
抽出した前記単語が複数の語義を含む場合、複数の語義を含む単語の語義ごとに、前記単語に対する他の単語の共起情報を記憶する記憶部を参照して、前記共起情報に基づき、抽出した前記単語の語義を特定する
処理をコンピュータに実行させることを特徴とする語義特定プログラム。
【請求項２】
前記共起情報は、単語が有する複数の語義にそれぞれ対応する語義コードの情報を含み、前記共起情報と、前記語義を特定する処理により特定された語義とを基にして、単語に割り当てる語義コードを判定する処理を更にコンピュータに実行させることを特徴とする請求項１に記載の語義特定プログラム。
【請求項３】
前記語義コードを判定する処理により判定された語義コードを、登録番号が割り当てられた動的辞書の登録位置に登録する処理を更にコンピュータに実行させることを特徴とする請求項２に記載の語義特定プログラム。
【請求項４】
前記単語を抽出する処理により抽出された単語に対応するコードとして、前記動的辞書の登録位置の登録番号を出力する処理を更にコンピュータに実行させることを特徴とする請求項３に記載の語義特定プログラム。
【請求項５】
複数の語義を含む単語と、前記単語の各語義の説明とを含む情報を受け付け、
受け付けた前記情報に基づき、前記情報に含まれる単語の語義毎に、前記語義に対する他の単語の共起情報を生成し、
前記情報に含まれる単語の語義に、生成した前記共起情報を対応づける情報を生成する、
処理をコンピュータに実行させることを特徴とする情報生成プログラム。
【請求項６】
コンピュータが実行する語義特定方法であって、
テキストデータを受け付け、
受け付けた前記テキストデータに含まれる単語を抽出し、
抽出した前記単語が複数の語義を含む場合、複数の語義を含む単語の語義ごとに、前記単語に対する他の単語の共起情報を記憶する記憶部を参照して、前記共起情報に基づき、抽出した前記単語の語義を特定する
処理を実行することを特徴とする語義特定方法。
【請求項７】
コンピュータが実行する情報生成方法であって、
複数の語義を含む単語と、前記単語の各語義の説明とを含む情報を受け付け、
受け付けた前記情報に基づき、前記情報に含まれる単語の語義毎に、前記語義に対する他の単語の共起情報を生成し、
前記情報に含まれる単語の語義に、生成した前記共起情報を対応づける情報を生成する、
処理を実行することを特徴とする情報生成方法。
【請求項８】
テキストデータを受け付け、受け付けた前記テキストデータに含まれる単語を抽出する抽出部と、
前記単語が複数の語義を含む場合、複数の語義を含む単語の語義ごとに、前記単語に対する他の単語の共起情報を記憶する記憶部を参照して、前記共起情報に基づき、抽出した前記単語の語義を特定する特定部と
を有することを特徴とする語義特定装置。
【請求項９】
複数の語義を含む単語と、前記単語の各語義の説明とを含む情報を受け付ける受付部と、
前記受付部が受け付けた前記情報に基づき、前記情報に含まれる単語の語義毎に、前記語義対する他の単語の共起情報を生成し、前記情報に含まれる単語の語義に、生成した前記共起情報を対応づける情報を生成する共起情報生成部と
を有することを特徴とする情報生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、語義特定プログラム等に関する。
【背景技術】
【０００２】
近年、テキストデータを構成する単語（形態素）を解析する技術がある。また、それぞれの単語からベクトルを生成するWord2Vec技術が存在する。例えば、Word2Vec技術では、ある単語と、隣接する他の単語との関係に基づいて、各単語のベクトルを算出する処理を行う。また、テキストデータの単語には、複数の語義を有する多義語が含まれており、かかる多義語に対しても同様にして、Word2Vec技術により１つのベクトルが生成される。
【０００３】
なお、従来技術１には、情報処理システムに関する提案書や仕様書等の文書内で複数の意味が割り当てられた多義語を抽出することが記載されている。従来技術２には、単語辞書中の単語全てに対して、概念ベクトルを付与することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０２０４３１号公報
【特許文献２】特開２００６−３３８３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、テキストデータに含まれる多義語（単語）の語義を特定することができないという問題がある。
【０００６】
たとえば、従来技術では、テキストデータに含まれる各単語それぞれに１つのベクトルを付与するものであり、複数の語義を持つ多義語がどのような語義で用いられているかを特定するものではない。
【０００７】
１つの側面では、本発明は、テキストデータに含まれる多義語（単語）の語義を特定することができる語義特定プログラム、情報生成プログラム、語義特定方法、情報生成方法、語義特定装置および情報生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、コンピュータに下記の処理を実行させる。コンピュータは、テキストデータを受け付ける。コンピュータは、受け付けたテキストデータに含まれる単語を抽出する。コンピュータは、抽出した単語が複数の語義を含む場合、複数の語義を含む単語の語義ごとに、単語に対する他の単語の共起情報を記憶する記憶部を参照して、共起情報に基づき、抽出した単語の語義を特定する。
【発明の効果】
【０００９】
テキストデータに含まれる多義語（単語）の語義を特定することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施例に係る符号化装置の処理の一例を説明するための図である。
【図２】図２は、本実施例に係る符号化装置の構成を示す機能ブロック図である。
【図３】図３は、オフセットテーブルのデータ構造の一例を示す図である。
【図４】図４は、語義ＨＭＭのデータ構造の一例を示す図である。
【図５】図５は、オフセットテーブルのポインタを説明するための図である。
【図６】図６は、符号化ケヤキ木のデータ構造の一例を示す図である。
【図７】図７は、動的辞書のデータ構造の一例を示す図である。
【図８】図８は、符号化部の処理の一例を説明するための図である。
【図９】図９は、本実施例に係る符号化装置の処理手順を示すフローチャートである。
【図１０】図１０は、符号化装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する語義特定プログラム、情報生成プログラム、語義特定方法、情報生成方法、語義特定装置および情報生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１２】
図１は、本実施例に係る符号化装置の処理の一例を説明するための図である。符号化装置は、語義特定装置、情報生成装置の一例である。符号化装置は、テキストファイルＦ１から各単語を読み出し、各単語に対して符号化を行うことで、符号化ファイルＦ２を生成する。符号化装置は、単語を符号化する場合に、単語の語義を特定し、語義に応じた符号を割り当てる。
【００１３】
図１では、テキストファイルＦ１に含まれる「・・・He△has△deep△idea△to△clear△that△matter.・・・」のうち、単語「deep△」を符号化する場合について説明する。ここで、「△」は、スペースを示すものである。単語「deep△」は、複数の語義を有する多義語である。たとえば、単語「deep△」には、「top  to  bottom、front  to  back、measurement、deep、breath、sounds、colours、sleep、serious、emotions、knowledge、difficult  to  understand、involved、person、in  sport」の語義がある。
【００１４】
符号化装置は、語義ＨＭＭ（Hidden  Markov  Model）１４２を基にして、テキストファイルＦ１の「deep△」の語義を、複数の語義の中から特定する。語義ＨＭＭ１４２は、多義語と、語義ＩＤと、語義と、複数の共起単語（共起率）とを対応づける。
【００１５】
多義語は、複数の語義を有する単語を示す。語義ＩＤは、多義語に含まれる語義を一意に識別する番号である。語義は、多義語に含まれる各語義を示す。共起単語は、ある語義の多義語と共起する単語を示す。共起単語は、共起率と対応づけられる。たとえば、多義語「deep」が語義「knowledge」の意味で文章に登場する場合には、係る「deep」の前後で、単語「understanding」が共起する可能性が「４１％」である旨が示されている。また、多義語「deep」が語義「knowledge」の意味で文章に登場する場合には、係る「deep」の前後で、単語「idea」が共起する可能性が「１９％」である旨が示されている。
【００１６】
符号化装置は、テキストファイルＦ１の「deep△」の前後に出現する単語と、語義ＨＭＭ１４２の各共起単語とを比較して、ヒットする語義のレコードを判定する。図１に示す例では、テキストファイルＦ１の「deep△」の後ろに「idea△」が出現しているため、語義ＨＭＭ１４２の語義ＩＤ（１２）のレコードにヒットする。このため、符号化装置は、テキストファイルＦ１の「deep△」の語義を、語義ＩＤ（１２）の語義「knowledge」であると特定する。
【００１７】
符号化装置は、多義語（単語）「deep△」の語義「knowledge」に対応する語義コード「A14F06h」を、動的辞書１４４に登録する。単語および語義の組に対応する語義コードは、予め設定されているものとする。
【００１８】
符号化装置が、語義コード「A14F06h」を動的辞書１４４に登録する。たとえば、語義コード「A14F06h」の登録位置を示す動的コードを「AE00h」とする。符号化装置は、「AE00h」を、動的辞書１４４から取得する。
【００１９】
符号化装置は、多義語（単語）「deep△」に対応する動的コード「AE00h」を、符号化ファイルＦ２に出力することで、符号化を行う。符号化装置は、「deep△」のような複数の語義を有する他の多義語については、上記処理を繰り返し実行することで、符号化を行う。一方、符号化装置は、単一の語義を有する単語については、予め割り当てられる符号（静的コード、または動的コード）を、符号化ファイルＦ２に出力することで、符号化を行う。
【００２０】
符号化ファイルＦ２には、ヘッダ部２ａと、符号化データ部２ｂと、トレーラ部２ｃとが含まれる。ヘッダ部２ａには、単語の出現頻度の情報等が含まれる。符号化データ部２ｂには、符号化装置が生成した符号化データが格納される。トレーラ部２ｃには、動的辞書１４４の情報等が含まれる。
【００２１】
上記のように、符号化装置は、テキストファイルＦ１の対象単語の前後に出現する単語と、語義ＨＭＭ１４２の各共起単語とを比較することで、単語の語義を特定することができる。また、符号化装置は、対象単語と語義との組み合わせに対応する語義コードを動的辞書１４４に登録して、動的コードを取得し、符号化を行う。このため、同一の単語であっても、語義に応じたコードによる符号化を行うことができる。
【００２２】
図２は、本実施例に係る符号化装置の構成を示す機能ブロック図である。図２に示すように、この符号化装置１００は、インタフェース部１１０と、記憶部１４０、制御部１５０を有する。
【００２３】
インタフェース部１１０は、ネットワーク等を介して、他の外部装置と情報をやり取りする処理部である。
【００２４】
記憶部１４０は、テキストファイルＦ１、オフセットテーブル１４１、語義ＨＭＭ１４２、符号化ケヤキ木１４３、動的辞書１４４、静的辞書１４５、符号化ファイルＦ２を有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００２５】
テキストファイルＦ１は、符号化対象となる文章のデータである。テキストファイルＦ１は、図１で説明したようなスペース「△」で区切られる複数の単語を有する。
【００２６】
オフセットテーブル１４１は、テキストファイルＦ１に含まれる単語の位置（オフセット）や、多義語であるか否かを示すポインタ等を保持するテーブルである。図３は、オフセットテーブルのデータ構造の一例を示す図である。図３に示すように、このオフセットテーブル１４１は、番号と、基本コードと、オフセットと、多義語ポインタとを対応づける。
【００２７】
番号は、オフセットテーブル１４１の各レコードの登録順序を示すものである。基本コードは、各単語に予め割り当てられるコードであり、単語を一意に示す。この基本コードは、後述する静的コード、動的コードとは異なるコードである。オフセットは、基本コードに対応する単語が、テキストファイルＦ１上に存在する位置を示すものである。
【００２８】
多義語ポインタは、基本コードに対応する単語が、複数の語義を有する多義語であるか否かを示すものである。多義語ポインタが「０」である場合には、該当するレコードの基本コードに対応する単語が、多義語ではないことを示す。たとえば、図３の番号「０」に対応する単語コード「A14F04h」の多義語ポインタは「０」であるため、単語コード「A14F04h」の単語は、多義語ではない。
【００２９】
多義語ポインタに、語義ＨＭＭ１４２への「ポインタ」が格納されている場合には、該当する基本コードに対応する単語は、多義語であることを示す。ポインタは、語義ＨＭＭ１４２のレコード位置を示すものであり、かかるレコード位置には、多義語となる単語の各語義に関する情報を有する。たとえば、図３の番号「２」に対応する単語コード「A14F06h」には、語義ＨＭＭ１４２へのポインタが格納されているため、単語コード「A14F06h」に対応する単語は、多義語である。
【００３０】
語義ＨＭＭ１４２は、多義語に含まれる各語義について、ある語義で用いられた単語の前後で共起する他の単語に関する情報を保持するテーブルである。図４は、語義ＨＭＭのデータ構造の一例を示す図である。図４に示すように、この語義ＨＭＭ１４２は、多義語と、語義ＩＤと、語義と、複数の共起単語（共起率）とを対応づける。多義語、語義ＩＤ、語義、複数の共起単語（共起率）に関する説明は、図１で説明したものと同様である。
【００３１】
図５は、オフセットテーブルのポインタを説明するための図である。たとえば、オフセットテーブル１４１の番号「２」に対応するポインタは、語義ＨＭＭ１４２の多義語「deep」のレコード位置を示している。このため、単語コード「A14F06h」に対応する多義語「deep」には、語義ＩＤ（１）〜（１６）の語義が含まれることが分かる。
【００３２】
符号化ケヤキ木１４３は、単語を符号化する際に利用する静的コードおよび動的コードの情報を有する。図６は、符号化ケヤキ木のデータ構造の一例を示す図である。図６に示すように、この符号化ケヤキ木１４３は、２グラム、ビットマップ、ポインタ、英単語、静的コード、動的コード、基本コード、語義コードを有する。
【００３３】
２グラムは、２文字の文字列（単語）を示す情報である。ビットマップは、２グラムの文字列に対応するビットマップを示す。例えば、「ａａ」に対応するビットマップは「０＿０＿０＿０＿０」となる。ポインタは、ビットマップに対応する英単語の位置を示すポインタである。
【００３４】
例えば、単語「able△」に対応する静的コードを符号化ケヤキ木１４３から検索する場合には、２グラム「ab」、「bl」、「le」、「e△」に対応するビットマップをそれぞれ組み合わせる。ビットマップの各桁において、すべてのビットマップの値が０となっている場合には、組み合わせたビットマップの該当する桁を「０」とする。これに対して、「１」が一つでも含まれる場合には該当する桁を「１」に設定することで、ビットマップを組み合わせる。
【００３５】
例えば、「ab」のビットマップが「１＿０＿０＿０＿０」、「bl」のビットマップが「０＿１＿０＿０＿０」、「le」のビットマップが「０＿０＿１＿０＿０」、「e△」のビットマップが「０＿０＿０＿１＿０」とする。この場合には、各ビットマップを組み合わせたビットマップは「１＿１＿１＿１＿０」となる。このビットマップ「１＿１＿１＿１＿０」にポインタに示される位置に、単語「able△」に対応する静的コードが格納されている。
【００３６】
英単語は、たとえば、英語辞書等に登場する単語である。静的コードは、英単語に割り当てられたコードである。一つの英単語に対して、一つの静的コードが割り当てられる。このため、多義語であっても、この多義語に割り当てられる静的コードは一つである。
【００３７】
なお、英単語が多義語である場合には、静的コードのレコードには、多義語の語義を一意に示す語義ＩＤが格納される。
【００３８】
動的コードは、多義語の各語義に動的に割り当てられるコードである。多義語の語義に動的コードを割り当てる処理は後述する。
【００３９】
基本コードは、各英単語（単語）に予め割り当てられるコードであり、単語を一意に示す。語義コードは、単語の語義に予め割り当てられるコードである。
【００４０】
動的辞書１４４は、語義に動的コードを割り当てる場合に利用する情報である。図７は、動的辞書のデータ構造の一例を示す図である。動的辞書１４４は、動的辞書部１４４ａ、バッファ部１４４ｂを有する。動的辞書部１４４ａは、動的コードと、語義コードと、多義語情報と、ポインタとを有する。
【００４１】
動的コードは、動的辞書１４４の登録位置を示すものである。また、動的コードは、バッファ１４４ｂに格納された単語に割り当てられる符号であり、同一の単語であっても、語義が異なると、割り当てられる動的コードは異なる。
【００４２】
語義コードは、動的コードを割り当てた単語の語義コードを示すものである。多義語情報は、動的コードを割り当てた単語の語義の内容および語義ＩＤを示すものである。ポインタは、動的コードに対応する多義語のバッファ１４４ｂの格納位置を示すポインタである。
【００４３】
たとえば、図７に示す動的辞書１４４では、「knowledge」の語義を有する多義語「deep」に対して動的コード「AE00h」が割り当てられていることを示している。また、多義語「deep△」は、バッファ１４４ｂの先頭位置に格納されていることが、動的コード「AE00h」のポインタが示している。また、動的コード「AE01h」のポインタは、バッファ１４４ｂの「deep△」の次の位置を示している。
【００４４】
静的辞書１４５は、単語と、静的コードとを対応づける情報である。
【００４５】
符号化ファイルＦ２は、テキストファイルＦ１が符号化されたファイルである。符号化ファイルＦ２に関する説明は、図１で説明した符号化ファイルＦ２と同様である。
【００４６】
図２の説明に戻る。制御部１５０は、抽出部１５１、特定部１５２、符号化部１５３、共起情報生成部１５４を有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００４７】
抽出部１５１は、テキストファイルＦ１から符号化対象となるコンテンツ部分のデータを単語単位に抽出する処理部である。たとえば、コンテンツ部分のデータが、「He△has△deep△idea△to△clear△that△matter.」である場合には、「He△」、「has△」、「deep△」、「△idea」、「to△」、「clear△」、「that△」、「matter.」の単位で、各単語を抽出する。抽出部１５１は、抽出した各単語を、特定部１５２に出力する。
【００４８】
特定部１５２は、単語を取得し、オフセットテーブル１４１、語義ＨＭＭ１４２、符号化ケヤキ木１４３を基にして、単語の語義を特定する処理部である。以下において、特定部１５２の処理の一例について説明する。
【００４９】
特定部１５２は、単語の基本コードを特定する。たとえば、特定部１５２は、単語と、符号化ケヤキ木１４３とを比較して、単語の基本コードを特定する。
【００５０】
特定部１５２は、単語の基本コードと、オフセットテーブル１４１とを比較して、単語が多義語であるか否かを判定する。たとえば、特定部１５２は、基本コードに対応するポインタが「０」である場合には、単語は多義語でないと判定する。一方、特定部１５２は、基本コードに対応するポインタが、語義ＨＭＭ１４２のレコード位置を示している場合には、単語が多義語であると判定する。
【００５１】
特定部１５２は、単語が多義語でないと判定した場合には、単語と、かかる単語が多義語でない旨の情報とを、符号化部１５３に出力する。
【００５２】
特定部１５２は、単語が多義語であると判定した場合には、次の処理を実行する。特定部１５２は、オフセットテーブル１４１において、単語の基本コードに対応するポインタを参照し、ポインタの示す語義ＨＭＭ１４２のレコードを特定する。
【００５３】
特定部１５２は、語義ＨＭＭ１４２の特定したレコードを参照し、単語の語義を特定する。たとえば、特定部１５２は、語義の特定対象となる単語の前後に出現する単語と、語義ＨＭＭ１４２の共起単語（共起率）とを比較して、単語の語義を特定する。比較する共起単語は、該当する多義語に対応づけられた語義の共起単語とする。たとえば、多義語が「deep」であれば、多義語「deep」の語義（１）〜（１６）に対応する共起単語と比較する。
【００５４】
ここでは一例として、特定部１５２が、テキストファイルＦ１「He△has△deep△idea△to△clear△that△matter.」に含まれる多義語「deep△」の語義を特定する場合について説明する。特定部１５２は、テキストファイルＦ１の「deep△」の後ろに「idea△」が出現しているため、図４に示した語義ＨＭＭ１４２の語義ＩＤ（１２）のレコードにヒットする。このため、符号化装置は、テキストファイルＦ１の「deep△」の語義を、語義ＩＤ（１２）の語義「knowledge」であると特定する。
【００５５】
特定部１５２は、各語義の共起単語にヒットした場合には、ヒットした共起単語の数、共起率等に応じて、語義を判定しても良い。たとえば、特定部１５２は、語義ＩＤ（１）に対応する共起単語のうち、１つの共起単語にヒットし、語義ＩＤ（１２）に対応する共起単語のうち、２つの共起単語にヒットした場合には、語義ＩＤ（１２）の語義を、単語の語義として特定する。あるいは、特定部１５２は、語義ＩＤ（１）に対応する共起単語のうち、共起率１２％となる共起単語にヒットし、語義ＩＤ（１２）に対応する共起単語のうち、共起率１０％の共起単語にヒットした場合には、語義ＩＤ（１）の語義を、単語の語義として特定する。共起単語にヒットする数を優先するのか、共起率を優先するのかは、適宜、管理者が調整しても良い。
【００５６】
特定部１５２は、単語が多義語であると判定した場合には、単語と、かかる単語が多義語である旨の情報と、単語の語義ＩＤとを、符号化部１５３に出力する。
【００５７】
符号化部１５３は、単語に符号を割り当て、単語に割り当てた符号を符号化ファイルＦ２に出力することで、符号化を行う処理部である。
【００５８】
符号化部１５３は、符号化対象の単語を取得し、取得した単語が「多義語でない」場合の処理について説明する。符号化部１５３は、単語と、符号化ケヤキ木１４３とを比較し、単語に対応する符号（静的コード、または動的コード）を特定する。符号化部１５３は、特定した符号を、符号化ファイルＦ２に出力する。たとえば、符号化部１５３は、単語が静的辞書１４５にヒットする場合には、単語の静的コードを特定する。符号化部１５３は、単語が静的辞書１４５にヒットしない場合には、動的辞書１４４を用いて、動的コードを特定する。たとえば、符号化部１５３は、単語が動的辞書１４４に未登録である場合には、単語を動的辞書１４４に登録して、登録位置に対応する動的コードを得る。符号化部１５３は、単語が動的辞書１４４に登録済みである場合には、既に登録済みの登録位置に対応する動的コードを得る。
【００５９】
符号化部１５３は、符号化対象の単語を取得し、取得した単語が「多義語である」場合の処理について説明する。単語が「多義語である」場合には、上記説明のように、語義ＩＤが特定部１５２から通知される。符号化部１５３は、単語と、符号化ケヤキ木１４３とを比較して、単語に対応する動的コードを特定する。
【００６０】
図６で説明したように、単語が多義語である場合には、単語に対応する静的コードに、語義ＩＤが設定されている。このため、符号化部１５３は、特定部１５２から通知された語義ＩＤと、静的コードの語義ＩＤとを比較して、多義語の語義ＩＤに対応する動的コードが既に登録されているか否かを判定する。
【００６１】
符号化部１５３は、多義語の語義ＩＤに対応する動的コードが既に登録されている場合には、語義ＩＤに対応する動的コードを、単語の符号として、符号化ファイルＦ２に出力する。たとえば、図６に示す符号化ケヤキ木１４３には、多義語「deep」、語義ＩＤ「（１２）」の動的コードには、動的コード「AE00h」が登録されている。このため、符号化部１５３は、動的コード「AE00h」を、多義語「deep」の語義「（１２）」に対応する符号として、符号化ファイルＦ２に出力する。
【００６２】
符号化部１５３は、多義語の語義ＩＤに対応する動的コードが登録されていない場合には、次の図８で説明する処理を実行する。図８は、符号化部の処理の一例を説明するための図である。図８に示す例では、符号化ケヤキ木１４３の多義語「deep」、語義ＩＤ「（１２）」に対応する動的コードが登録されていないものとする。
【００６３】
符号化部１５３は、多義語「deep」、語義ＩＤ「（１２）」に対応する語義コード「A14F06h」を、動的辞書部１４４ａの未格納のレコードの内、最小の動的コードに対応する語義コードに登録する。図８に示す例では、符号化部１５３は、動的辞書部１４４ａの動的コード「AE00h」に対応する語義コードに、語義コード「A14F06h」を登録する。符号化部１５３は、語義コード「A14F06h」に対応する多義語情報に、語義「knowledge（12）」を格納する。符号化部１５３は、多義語情報を、特定部１５２から取得しておくものとする。
【００６４】
符号化部１５３は、バッファ部１４４ｂ上において、動的コード「AE00h」に対応するポインタが示す位置に、多義語「deep△」を登録する。符号化部１５３は、動的コード「AE01h」に対応するポインタの位置を、バッファ部１４４ｂ上の「deep△」の直後に設定する。
【００６５】
符号化部１５３は、上記の処理を行うことで、多義語「deep」、語義ＩＤ「（１２）」に対応する語義コード「A14F06h」と、動的コード「AE00h」とを対応づけたことになる。符号化部１５３は、動的コード「AE00h」を、多義語「deep」の語義ＩＤ「（１２）」に対応する動的コードに登録する。これにより、語義ＩＤ「１２」の語義となる多義語「deep」に動的コード「AE00h」が割り当てられる。符号化部１５３は、語義ＩＤに対応する動的コードを、単語の符号として、符号化ファイルＦ２に出力する。
【００６６】
符号化部１５３は、特定部１５２から取得する各単語について、上記処理を繰り返し実行することで、符号化ファイルＦ２を生成する。
【００６７】
図２の説明に戻る。共起情報生成部１５４は、英英辞典等（図示略）の情報を、インタフェース１１０等を介して外部装置から取得し、取得した英英辞典の情報を基にして、語義ＨＭＭ１４２を生成する処理部である。共起情報生成部１５４は、抽出部１５１、特定部１５２、符号化部１５３の処理よりも前に処理を行い、語義ＨＭＭ１４２を生成しておくものとする。なお、共起情報生成部１５４は、英英辞書等の情報を受け付ける受付部の機能も有する。
【００６８】
たとえば、英英辞典の情報は、単語と、単語に含まれる各語義と、語義の説明とを対応づけた情報を含む。共起情報生成部１５４は、英英辞典の情報を走査して、多義語、語義を対応付け、各語義には、ユニークな語義ＩＤを割り当てる。また、共起情報生成部１５４は、英英辞書の情報を参照して、語義毎に、単語と共起する共起単語の共起率を算出することで、各語義に対応する共起単語および共起率を算出する。なお、共起情報生成部１５４は、語義毎に単語の使用が区別された文章の情報を取得し、この文章の情報を用いて、各語義に対応する共起単語および共起率を算出しても良い。共起情報生成部１５４は、上記処理を実行することで、語義ＨＭＭ１４２を生成する。
【００６９】
次に、本実施例に係る符号化装置１００の処理手順の一例について説明する。図９は、本実施例に係る符号化装置の処理手順を示すフローチャートである。図９に示すように、符号化装置１００の抽出部１５１は、符号化対象のテキストデータＦ１を単語単位に抽出する（ステップＳ１０１）。
【００７０】
符号化装置１００の特定部１５２は、オフセットテーブル１４１を基にして、単語が多義語であるか否かを判定する（ステップＳ１０２）。単語が多義語でない場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１０３に移行する。単語が多義語である場合には（ステップＳ１０２，Ｙｅｓ）、ステップＳ１０５に移行する。
【００７１】
符号化装置１００の符号化部１５３は、単語と符号化ケヤキ木１４３とを比較して、単語に対応する符号（静的コード、または動的コード）を特定する（ステップＳ１０３）。符号化部１５３は、符号（静的コード、または動的コード）を、符号化ファイルＦ２に書き込み（ステップＳ１０４）、ステップＳ１０９に移行する。
【００７２】
符号化部１５３は、対象単語の前後に含まれる単語と、語義ＨＭＭ１４２の共起単語（共起率）を基にして、語義ＩＤを特定する（ステップＳ１０５）。符号化部１５３は、多義語および語義ＩＤに対応する動的コードが符号化ケヤキ木１４３に登録されているか否かを判定する（ステップＳ１０６）。
【００７３】
符号化部１５３は、多義語および語義ＩＤに対応する動的コードが符号化ケヤキ木１４３に登録されている場合には（ステップＳ１０６，Ｙｅｓ）、ステップＳ１０８に移行する。一方、符号化部１５３は、多義語および語義ＩＤに対応する動的コードが符号化ケヤキ木１４３に登録されていない場合には（ステップＳ１０６，Ｎｏ）、ステップＳ１０７に移行する。
【００７４】
符号化部１５３は、多義語および語義ＩＤに対応する動的コードを割り当て、動的辞書１４４を更新する（ステップＳ１０７）。符号化部１５３は、動的コードを、符号化ファイルＦ２に書き込む（ステップＳ１０８）。
【００７５】
符号化装置１００は、テキストデータの終点でない場合には（ステップＳ１０９，Ｎｏ）、ステップＳ１０１に移行する。符号化装置１００は、テキストデータの終点の場合には（ステップＳ１０９，Ｙｅｓ）、ステップＳ１１０に移行する。
【００７６】
符号化部１５３は、符号化ファイルＦ２のトレーラ部２ｃに動的辞書１４４の情報を格納する（ステップＳ１１０）。
【００７７】
次に、本実施例に係る符号化装置１００の効果について説明する。符号化部１００は、テキストファイルＦ１の対象単語の前後に出現する単語と、語義ＨＭＭ１４２の各共起単語とを比較することで、語義を特定することができる。また、符号化装置は、対象単語と語義との組み合わせに対応する語義コードを動的辞書１４４に登録して、動的コードを取得し、符号化を行う。このため、同一の単語であっても、語義に応じたコードによる符号化を行うことができる。
【００７８】
符号化装置１００は、英英辞典等の情報を基づき、単語の語義毎に単語の共起情報を生成し、単語の語義と共起情報とを対応づけることで、語義ＨＭＭ１４２を生成する。かかる語義ＨＭＭ１４２を用いることで、テキストファイルＦ１に含まれる単語の語義を特定することが可能となる。
【００７９】
ここで、本実施例で説明した符号化装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１０は、符号化装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００８０】
図１０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る読み取り装置２０４と、無線ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置２０５とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７とを有する。そして、各装置２０１〜２０７は、バス２０８に接続される。
【００８１】
ハードディスク装置２０７は、抽出プログラム２０７ａ、特定プログラム２０７ｂ、符号化プログラム２０７ｃ、共起情報生成プログラム２０７ｄを有する。ＣＰＵ２０１は、抽出プログラム２０７ａ、特定プログラム２０７ｂ、符号化プログラム２０７ｃ、共起情報生成プログラム２０７ｄを読み出してＲＡＭ２０６に展開する。
【００８２】
抽出プログラム２０７ａは、抽出プロセス２０６ａとして機能する。特定プログラム２０７ｂは、特定プロセス２０６ｂとして機能する。符号化プログラム２０７ｃは、符号化プロセス２０６ｃとして機能する。共起情報生成プログラム２０７ｄは、共起情報生成プロセス２０６ｄとして機能する。
【００８３】
抽出プロセス２０６ａの処理は、抽出部１５１の処理に対応する。特定プロセス２０６ｂの処理は、特定部１５２の処理に対応する。符号化プロセス２０６ｃの処理は、符号化部１５３の処理に対応する。共起情報生成プロセス２０６ｄの処理は、共起情報生成部１５４の処理に対応する。
【００８４】
なお、各プログラム２０７ａ〜２０７ｄについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００が各プログラム２０７ａ〜２０７ｄを読み出して実行するようにしても良い。
【００８５】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８６】
（付記１）テキストデータを受け付け、
受け付けた前記テキストデータに含まれる単語を抽出し、
抽出した前記単語が複数の語義を含む場合、複数の語義を含む単語の語義ごとに、前記単語に対する他の単語の共起情報を記憶する記憶部を参照して、前記共起情報に基づき、抽出した前記単語の語義を特定する
処理をコンピュータに実行させることを特徴とする語義特定プログラム。
【００８７】
（付記２）前記共起情報は、単語が有する複数の語義にそれぞれ対応する語義コードの情報を含み、前記共起情報と、前記語義を特定する処理により特定された語義とを基にして、単語に割り当てる語義コードを判定する処理を更にコンピュータに実行させることを特徴とする付記１に記載の語義特定プログラム。
【００８８】
（付記３）前記語義コードを判定する処理により判定された語義コードを、登録番号が割り当てられた動的辞書の登録位置に登録する処理を更にコンピュータに実行させることを特徴とする付記２に記載の語義特定プログラム。
【００８９】
（付記４）前記単語を抽出する処理により抽出された単語に対応するコードとして、前記動的辞書の登録位置の登録番号を出力する処理を更にコンピュータに実行させることを特徴とする付記３に記載の語義特定プログラム。
【００９０】
（付記５）複数の語義を含む単語と、前記単語の各語義の説明とを含む情報を受け付け、
受け付けた前記情報に基づき、前記情報に含まれる単語の語義毎に、前記語義に対する他の単語の共起情報を生成し、
前記情報に含まれる単語の語義に、生成した前記共起情報を対応づける情報を生成する、
処理をコンピュータに実行させることを特徴とする情報生成プログラム。
【００９１】
（付記６）コンピュータが実行する語義特定方法であって、
テキストデータを受け付け、
受け付けた前記テキストデータに含まれる単語を抽出し、
抽出した前記単語が複数の語義を含む場合、複数の語義を含む単語の語義ごとに、前記単語に対する他の単語の共起情報を記憶する記憶部を参照して、前記共起情報に基づき、抽出した前記単語の語義を特定する
処理を実行することを特徴とする語義特定方法。
【００９２】
（付記７）前記共起情報は、単語が有する複数の語義にそれぞれ対応する語義コードの情報を含み、前記共起情報と、前記語義を特定する処理により特定された語義とを基にして、単語に割り当てる語義コードを判定する処理を更に実行することを特徴とする付記６に記載の語義特定方法。
【００９３】
（付記８）前記語義コードを判定する処理により判定された語義コードを、登録番号が割り当てられた動的辞書の登録位置に登録する処理を更に実行することを特徴とする付記７に記載の語義特定方法。
【００９４】
（付記９）前記単語を抽出する処理により抽出された単語に対応するコードとして、前記動的辞書の登録位置の登録番号を出力する処理を更に実行することを特徴とする付記８に記載の語義特定方法。
【００９５】
（付記１０）コンピュータが実行する情報生成方法であって、
複数の語義を含む単語と、前記単語の各語義の説明とを含む情報を受け付け、
受け付けた前記情報に基づき、前記情報に含まれる単語の語義毎に、前記語義に対する他の単語の共起情報を生成し、
前記情報に含まれる単語の語義に、生成した前記共起情報を対応づける情報を生成する、
処理を実行することを特徴とする情報生成方法。
【００９６】
（付記１１）テキストデータを受け付け、受け付けた前記テキストデータに含まれる単語を抽出する抽出部と、
前記単語が複数の語義を含む場合、複数の語義を含む単語の語義ごとに、前記単語に対する他の単語の共起情報を記憶する記憶部を参照して、前記共起情報に基づき、抽出した前記単語の語義を特定する特定部と
を有することを特徴とする語義特定装置。
【００９７】
（付記１２）前記共起情報は、単語が有する複数の語義にそれぞれ対応する語義コードの情報を含み、前記特定部は、前記共起情報と、前記語義を特定する処理により特定された語義とを基にして、単語に割り当てる語義コードを判定する処理を更に実行することを特徴とする付記１１に記載の語義特定装置。
【００９８】
（付記１３）前記語義コードを判定する処理により判定された語義コードを、登録番号が割り当てられた動的辞書の登録位置に登録する符号化部を更に有することを特徴とする付記１２に記載の語義特定装置。
【００９９】
（付記１４）前記符号化部は、前記抽出部により抽出された単語に対応するコードとして、前記動的辞書の登録位置の登録番号を出力する処理を更に実行することを特徴とする付記１３に記載の語義特定装置。
【０１００】
（付記１５）複数の語義を含む単語と、前記単語の各語義の説明とを含む情報を受け付ける受付部と、
前記受付部が受け付けた前記情報に基づき、前記情報に含まれる単語の語義毎に、前記語義対する他の単語の共起情報を生成し、前記情報に含まれる単語の語義に、生成した前記共起情報を対応づける情報を生成する共起情報生成部と
を有することを特徴とする情報生成装置。
【符号の説明】
【０１０１】
１００    符号化装置
１１０    インタフェース部
１４０    記憶部
１４１    オフセットテーブル
１４２    語義ＨＭＭ
１４３    符号化ケヤキ木
１４４    動的辞書
１５０    制御部
１５１    抽出部
１５２    特定部
１５３    符号化部
１５４    共起情報生成部
【図１】
2019012468.tif 000003
【図２】
2019012468.tif 000004
【図３】
2019012468.tif 000005
【図４】
2019012468.tif 000006
【図５】
2019012468.tif 000007
【図６】
2019012468.tif 000008
【図７】
2019012468.tif 000009
【図８】
2019012468.tif 000010
【図９】
2019012468.tif 000011
【図１０】
2019012468.tif 000012