(57)【要約】【課題】日本語固有表現抽出を効率よくおこなうこと。【解決手段】日本語固有表現抽出装置は、取得部２０２によって対象となる日本語文書を取得し、取得された日本語文書を形態素解析して、当該日本語文書から形態素を形態素抽出部２０３によって抽出し、抽出された形態素を、ＳＲ法を用いて、当該形態素ごとに日本語固有表現か否かを日本語固有表現判断部２０４によって判断し、日本語固有表現であると判断された形態素のみを抽出部２０５によって抽出するようにした。【選択図】図２
2008276418.tif 000002
【特許請求の範囲】
【請求項１】
日本語固有表現を抽出する日本語固有表現抽出装置であって、
対象となる日本語文書を取得する取得手段と、
前記取得手段によって取得された日本語文書を形態素解析して、当該日本語文書から形態素を抽出する形態素抽出手段と、
前記形態素抽出手段によって抽出された形態素を、Ｓｈｉｆｔ−Ｒｅｄｕｃｅ法を用いて、当該形態素ごとに日本語固有表現か否かを判断する日本語固有表現判断手段と、
前記日本語固有表現判断手段によって日本語固有表現であると判断された形態素のみを抽出する抽出手段と、
を備えたことを特徴とする日本語固有表現抽出装置。
【請求項２】
前記日本語固有表現判断手段は、前記取得手段によって取得された日本語文書を第１のコンテクストに格納し、当該第１のコンテクストに格納された日本語文書を、前記形態素抽出手段によって抽出された形態素ごとに先頭から順次抽出してスタックに格納し、その後、前記スタックに格納された形態素が日本語固有表現であるか否かを判断するとともに、当該形態素を第２のコンテクストに格納することを特徴とする請求項１に記載の日本語固有表現抽出装置。
【請求項３】
前記日本語固有表現判断手段は、所定の記憶領域に記憶された日本語固有表現と前記スタックに格納された形態素とを比較し、前記日本語固有表現の最後尾要素と前記スタックに格納された形態素の最後尾要素とが一致する場合であって、前記日本語固有表現を構成する形態素が前記第２のコンテクストに存在する場合は、前記第２のコンテクストに格納された形態素を抽出して前記スタックに格納したのち、前記スタックに格納された複数の形態素からなる形態素列について判断することを特徴とする請求項２に記載の日本語固有表現抽出装置。
【請求項４】
前記日本語固有表現判断手段は、所定の記憶領域に記憶された日本語固有表現と前記スタックに格納された形態素とを比較し、前記日本語固有表現の最後尾要素と前記スタックに格納された形態素の最後尾要素とが一致する場合であって、前記日本語固有表現の先頭要素と前記スタックに格納された形態素の形態素境界とが一致しない場合は、前記スタックに格納されている形態素の先頭１文字を抽出し、前記第２のコンテクストに格納したのち、前記スタックに残された文字または文字列について判断することを特徴とする請求項２または３に記載の日本語固有表現抽出装置。
【請求項５】
前記日本語固有表現判断手段は、所定の記憶領域に記憶された日本語固有表現と前記スタックに格納された形態素とを比較し、前記日本語固有表現の最後尾要素が前記スタックに格納された形態素に含まれている場合であって、前記日本語固有表現の最後尾要素と前記スタックに格納された形態素の形態素境界とが一致しない場合は、前記スタックに格納されている形態素の最後尾１文字を抽出し、前記第１のコンテクストに格納したのち、前記スタックに残された文字または文字列について判断することを特徴とする請求項２または３に記載の日本語固有表現抽出装置。
【請求項６】
コンピュータを用いて日本語固有表現を抽出する日本語固有表現抽出方法であって、
対象となる日本語文書を取得する取得工程と、
前記取得工程によって取得された日本語文書を形態素解析して、当該日本語文書から形態素を抽出する形態素抽出工程と、
前記形態素抽出工程によって抽出された形態素を、Ｓｈｉｆｔ−Ｒｅｄｕｃｅ法を用いて、当該形態素ごとに日本語固有表現か否かを判断する日本語固有表現判断工程と、
前記日本語固有表現判断工程によって日本語固有表現であると判断された形態素のみを抽出する抽出工程と、
を前記コンピュータに実行させることを特徴とする日本語固有表現抽出方法。
【請求項７】
日本語固有表現の抽出をコンピュータに実行させる日本語固有表現抽出プログラムであって、
対象となる日本語文書を取得する取得工程と、
前記取得工程によって取得された日本語文書を形態素解析して、当該日本語文書から形態素を抽出する形態素抽出工程と、
前記形態素抽出工程によって抽出された形態素を、Ｓｈｉｆｔ−Ｒｅｄｕｃｅ法を用いて、当該形態素ごとに日本語固有表現か否かを判断する日本語固有表現判断工程と、
前記日本語固有表現判断工程によって日本語固有表現であると判断された形態素のみを抽出する抽出工程と、
を前記コンピュータに実行させることを特徴とする日本語固有表現抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、日本語文書の中から日本語固有表現を抽出する日本語固有表現抽出装置、日本語固有表現抽出方法、およびその方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
日本語固有表現抽出は、言語データから情報抽出をおこなう際の中心的な技術として知られている。日本語固有表現とは、日本語において特定の対象（物、地名、人名、組織名、一連の単語群からなる名称など）を表現する用語であり、日本語固有表現抽出は、日本語文書の中から上記の日本語固有表現を抽出する技術である。日本語固有表現抽出は、日本語固有表現抽出によって抽出された日本語固有表現を利用して、日本語固有表現の抽出元となる日本語文書の意味解析をおこなうアプリケーションの開発など、さらに高度な技術の開発に利用することが可能である。
【０００３】
日本語文書は、たとえば「訪朝」における「朝」のように、１形態素よりも小さい粒度の日本語固有表現（「朝鮮」という国名）のように、単語境界が自明ではない膠着表現を含む。このため、従来、日本語文書を文字単位に切り分けて、文字単位で日本語固有表現を推定することによって、高い精度での日本語固有表現抽出を実現するようにした技術があった（たとえば、下記非特許文献１、２を参照。）。
【０００４】
【非特許文献１】浅原正幸、松本裕治、日本語固有表現抽出における冗長的な形態素解析の利用、情報処理学会研究報告、第SIGNL-153巻、pp.49-56,2003.
【非特許文献２】中野桂吾、平井有三、日本語固有表現抽出における文節情報の利用、情報処理学会論文誌、Vol.45、No.3、pp.934-941,2004.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、日本語文書を文字単位に切り分けて文字単位で日本語固有表現を推定することにより、高い精度での日本語固有表現抽出を実現することができる一方で、日本語固有表現抽出の効率性が低下しているという問題がある。
【０００６】
この発明は、上述した従来技術による問題点を解消するため、高い精度での日本語固有表現抽出を実現するとともに、日本語固有表現抽出を効率よくおこなうことができる日本語固有表現抽出装置、日本語固有表現抽出方法、およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかる日本語固有表現抽出装置は、日本語固有表現を抽出する日本語固有表現抽出装置であって、対象となる日本語文書を取得する取得手段と、前記取得手段によって取得された日本語文書を形態素解析して、当該日本語文書から形態素を抽出する形態素抽出手段と、前記形態素抽出手段によって抽出された形態素を、Ｓｈｉｆｔ−Ｒｅｄｕｃｅ法を用いて、当該形態素ごとに日本語固有表現か否かを判断する日本語固有表現判断手段と、前記日本語固有表現判断手段によって日本語固有表現であると判断された形態素のみを抽出する抽出手段と、を備えたことを特徴とする。
【０００８】
また、請求項２の発明にかかる日本語固有表現抽出装置は、請求項１に記載の発明において、前記日本語固有表現判断手段は、前記取得手段によって取得された日本語文書を第１のコンテクストに格納し、当該第１のコンテクストに格納された日本語文書を、前記形態素抽出手段によって抽出された形態素ごとに先頭から順次抽出してスタックに格納し、その後、前記スタックに格納された形態素が日本語固有表現であるか否かを判断するとともに、当該形態素を第２のコンテクストに格納することを特徴とする。
【０００９】
また、請求項３の発明にかかる日本語固有表現抽出装置は、請求項２に記載の発明において、前記日本語固有表現判断手段は、所定の記憶領域に記憶された日本語固有表現と前記スタックに格納された形態素とを比較し、前記日本語固有表現の最後尾要素と前記スタックに格納された形態素の最後尾要素とが一致する場合であって、前記日本語固有表現を構成する形態素が前記第２のコンテクストに存在する場合は、前記第２のコンテクストに格納された形態素を抽出して前記スタックに格納したのち、前記スタックに格納された複数の形態素からなる形態素列について判断することを特徴とする。
【００１０】
この請求項１、２または３の発明によれば、１文字ごとに日本語固有表現か否かを判断する従来法と比較して、迅速に判断することができる。
【００１１】
また、請求項４の発明にかかる日本語固有表現抽出装置は、請求項２または３に記載の発明において、前記日本語固有表現判断手段は、所定の記憶領域に記憶された日本語固有表現と前記スタックに格納された形態素とを比較し、前記日本語固有表現の最後尾要素と前記スタックに格納された形態素の最後尾要素とが一致する場合であって、前記日本語固有表現の先頭要素と前記スタックに格納された形態素の形態素境界とが一致しない場合は、前記スタックに格納されている形態素の先頭１文字を抽出し、前記第２のコンテクストに格納したのち、前記スタックに残された文字または文字列について判断することを特徴とする。
【００１２】
この請求項４の発明によれば、所定の記憶領域に記憶された日本語固有表現の先頭要素とスタックに格納された形態素の先頭要素とが一致しない場合は、スタックに格納された形態素の先頭の文字を１文字ずつ切り離し、切り離した後の文字または文字列が日本語固有表現か否かを判断することができる。
【００１３】
また、請求項５の発明にかかる日本語固有表現抽出装置は、請求項２または３に記載の発明において、前記日本語固有表現判断手段は、所定の記憶領域に記憶された日本語固有表現と前記スタックに格納された形態素とを比較し、前記日本語固有表現の最後尾要素が前記スタックに格納された形態素に含まれている場合であって、前記日本語固有表現の最後尾要素と前記スタックに格納された形態素の形態素境界とが一致しない場合は、前記スタックに格納されている形態素の最後尾１文字を抽出し、前記第１のコンテクストに格納したのち、前記スタックに残された文字または文字列について判断することを特徴とする。
【００１４】
この請求項５の発明によれば、所定の記憶領域に記憶された日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致しない場合は、スタックに格納された形態素の最後尾の文字を１文字ずつ切り離し、切り離した後の文字または文字列が日本語固有表現か否かを判断することができる。
【００１５】
また、請求項６の発明にかかる日本語固有表現抽出方法は、コンピュータを用いて日本語固有表現を抽出する日本語固有表現抽出方法であって、対象となる日本語文書を取得する取得工程と、前記取得工程によって取得された日本語文書を形態素解析して、当該日本語文書から形態素を抽出する形態素抽出工程と、前記形態素抽出工程によって抽出された形態素を、Ｓｈｉｆｔ−Ｒｅｄｕｃｅ法を用いて、当該形態素ごとに日本語固有表現か否かを判断する日本語固有表現判断工程と、前記日本語固有表現判断工程によって日本語固有表現であると判断された形態素のみを抽出する抽出工程と、を前記コンピュータに実行させることを特徴とする。
【００１６】
この請求項６の発明によれば、１文字ごとに日本語固有表現か否かを判断する従来法と比較して、迅速に判断することができる。
【００１７】
また、請求項７の発明にかかる日本語固有表現抽出プログラムは、日本語固有表現の抽出をコンピュータに実行させる日本語固有表現抽出プログラムであって、対象となる日本語文書を取得する取得工程と、前記取得工程によって取得された日本語文書を形態素解析して、当該日本語文書から形態素を抽出する形態素抽出工程と、前記形態素抽出工程によって抽出された形態素を、Ｓｈｉｆｔ−Ｒｅｄｕｃｅ法を用いて、当該形態素ごとに日本語固有表現か否かを判断する日本語固有表現判断工程と、前記日本語固有表現判断工程によって日本語固有表現であると判断された形態素のみを抽出する抽出工程と、を前記コンピュータに実行させることを特徴とする。
【００１８】
この請求項７の発明によれば、１文字ごとに日本語固有表現か否かを判断する従来法と比較して、迅速に判断することができる。
【発明の効果】
【００１９】
本発明にかかる日本語固有表現抽出装置、日本語固有表現抽出方法、およびその方法をコンピュータに実行させるプログラムによれば、高い精度での日本語固有表現抽出を実現するとともに、日本語固有表現抽出を効率よくおこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照して、この発明にかかる日本語固有表現抽出装置、日本語固有表現抽出方法、およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【００２１】
（日本語固有表現抽出装置のハードウェア構成）
まず、この発明の実施の形態にかかる日本語固有表現抽出装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる日本語固有表現抽出装置のハードウェア構成の一例を示す説明図である。図１において、１０１は装置全体を制御するＣＰＵを、１０２は基本入出力プログラムを記憶したＲＯＭを、１０３はＣＰＵ１０１のワークエリアとして使用されるＲＡＭを、それぞれ示している。
【００２２】
また、１０４はＣＰＵ１０１の制御にしたがってＨＤ（ハードディスク）１０５に対するデータのリード／ライトを制御するＨＤＤ（ハードディスクドライブ）を、１０５はＨＤＤ１０４の制御にしたがって書き込まれたデータを記憶するＨＤを、それぞれ示している。
【００２３】
また、１０６はＣＰＵ１０１の制御にしたがってＦＤ（フレキシブルディスク）１０７に対するデータのリード／ライトを制御するＦＤＤ（フレキシブルディスクドライブ）を、１０７はＦＤＤ１０６の制御にしたがって書き込まれたデータを記憶する着脱自在のＦＤを、それぞれ示している。
【００２４】
また、１０８はＣＰＵ１０１の制御にしたがってＣＤ−ＲＷ１０９に対するデータのリード／ライトを制御するＣＤ−ＲＷドライブを、１０９はＣＤ−ＲＷドライブ１０８の制御にしたがって書き込まれたデータを記憶する着脱自在のＣＤ−ＲＷを、それぞれ示している。
【００２５】
また、１１０はカーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示するディスプレイを、１１１は文字、数値、各種指示などの入力のための複数のキーを備えたキーボードを、１１２は各種指示の選択や実行、処理対象の選択、マウスポインタの移動などをおこなうマウスを、それぞれ示している。
【００２６】
また、１１３は通信ケーブル１１４を介してＬＡＮやＷＡＮなどのネットワークに接続され、当該ネットワークとＣＰＵ１０１とのインターフェースとして機能するネットワークＩ／Ｆを、１００は上記各部を接続するためのバスを、それぞれ示している。
【００２７】
（日本語固有表現抽出装置の機能的構成）
つぎに、図２は、この発明の実施の形態にかかる日本語固有表現抽出装置の機能的構成を示す説明図である。この発明による日本語固有表現抽出装置は、対象となる日本語文書から日本語固有表現を抽出する。日本語固有表現とは、日本語において特定の対象（物、地名、人名など）を表現する用語である。日本語固有表現の詳細については後述する（図３を参照）。
【００２８】
図２において、日本語固有表現抽出装置は、データベース（ＤＢ）２０１と、取得部２０２と、形態素抽出部２０３と、日本語固有表現判断部２０４と、抽出部２０５と、記憶部２０６と、出力部２０７と、を含む構成となっている。
【００２９】
ＤＢ２０１は、特定の対象となりうる複数の日本語固有表現を記憶する。ＤＢ２０１には、複数の日本語固有表現を記憶する所定の記憶領域が確保されている。またＤＢ２０１は、形態素解析をおこなう際に用いる複数の形態素によって構成される辞書、文法ルールもあわせて記憶する。形態素は、最小の言語単位であり、たとえば名詞であれば意味を持つ最小の言語単位である。文法ルールは、少なくとも日本語の文法ルールを含む。ＤＢ２０１は、具体的には、たとえば図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７、ＣＤ−ＲＷ１０９などによってその機能を実現することができる。
【００３０】
取得部２０２は、対象となる日本語文書を取得する。取得部２０２は、たとえば利用者がキーボード１１１などを操作することによって入力した日本語の文章を、当該文章が入力されるごとに日本語文書として取得する。また、所定の領域（たとえば図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７、ＣＤ−ＲＷ１０９などのメモリ）に記憶されている作成済みの日本語文書の中から、たとえば利用者がマウス１１２などを操作することによって指定した日本語文書を取得するようにしてもよい。また、ネットワークＩ／Ｆ１１３を介してサーバなどの外部装置に記憶された日本語文書を取得するようにしてもよい。取得部２０２は、具体的には、たとえば図１に示したキーボード１１１、マウス１１２、ネットワークＩ／Ｆ１１３などによってその機能を実現することができる。
【００３１】
形態素抽出部２０３は、取得部２０２によって取得された日本語文書を形態素解析して、当該日本語文書から形態素を抽出する。形態素抽出部２０３は、ＤＢ２０１に記憶された形態素解析用の辞書、文法ルールを用いて、日本語文書から形態素を抽出する。形態素抽出部２０３によっておこなわれる形態素解析は、既知の技術を用いておこなうことができるので、その詳細については説明を省略する。形態素抽出部２０３は、具体的には、たとえば図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７、ＣＤ−ＲＷ１０９などのメモリに記憶されたプログラムをＣＰＵ１０１が実行することによってその機能を実現することができる。
【００３２】
日本語固有表現判断部２０４は、形態素抽出部２０３によって抽出された形態素を、Ｓｈｉｆｔ−Ｒｅｄｕｃｅ（以下、「ＳＲ」という）法を用いて、当該形態素ごとに日本語固有表現か否かを判断する。日本語固有表現判断部２０４は、ＤＢ２０１における所定の記憶領域に記憶された日本語表現に基づいて、上記形態素が日本語固有表現か否かを判断する。日本語固有表現判断部２０４は、日本語固有表現か否かを判断する際に、具体的には、（１）「Ｒｅｄｕｃｅ」アクション、（２）「Ｓｈｉｆｔ」アクション、（３）「Ｃｕｔ−Ｌｅｆｔ」アクション、（４）「Ｃｕｔ−Ｒｉｇｈｔ」アクションの４つの手順を実行する。
【００３３】
（１）「Ｒｅｄｕｃｅ」アクションの手順
日本語固有表現判断部２０４は、具体的には、取得部２０２によって取得された日本語文書を第１のコンテクスト（後述する図５におけるＲＣ（ＲｉｇｈｔＣｏｎｔｅｘｔ））に格納し、当該第１のコンテクストに格納された日本語文書を、形態素抽出部２０３によって抽出された形態素ごとに先頭から順次抽出（ポップ）してスタック（図５におけるＳｔａｃｋ）に格納（プッシュ）する。その後、スタックに格納（プッシュ）された形態素が日本語固有表現であるか否かを判断する。そして、スタックに格納（プッシュ）された形態素が日本語固有表現である場合には、つぎに当該形態素を第２のコンテクスト（図５におけるＬＣ（ＬｅｆｔＣｏｎｔｅｘｔ））に格納（プッシュ）する。これが、上記ＳＲ法における「Ｒｅｄｕｃｅ」アクションの手順である。
【００３４】
（２）「Ｓｈｉｆｔ」アクションの手順
その際、日本語固有表現判断部２０４は、ＤＢ２０１における所定の記憶領域に記憶された日本語固有表現とスタックに格納された形態素とを比較することによって、日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致するか否かを判断する。
【００３５】
そして、日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致する場合には、つぎに日本語固有表現を構成する形態素が第２のコンテクストに存在するか否かを判断する。なお、日本語固有表現を構成する形態素が第２のコンテクストに存在するか否かの判断をおこない、それに引き続き、日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致するか否かの判断をおこなうようにしてもよい。
【００３６】
つづいて、日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致する場合であって、日本語固有表現を構成する形態素が第２のコンテクストに存在する場合に、上記ＳＲ法における「Ｓｈｉｆｔ」アクションを実行する。具体的には、第２のコンテクスト（の最後尾）に格納された形態素を抽出（ポップ）してスタックに格納（プッシュ）する。
【００３７】
このとき、日本語固有表現判断部２０４は、第２のコンテクストから抽出（ポップ）した形態素を、スタックの先頭に格納（プッシュ）する。これにより、スタックには複数の形態素からなる形態素列が構成される。その後、スタックに格納（プッシュ）された複数の形態素からなる形態素列について、日本語固有表現であるか否かを判断する。さらに、日本語固有表現を構成する形態素が第２のコンテクストに存在するかを判断し、存在する場合は、日本語固有表現を構成する形態素が第２のコンテクストに存在しなくなるまで、同様の手順を繰り返す。
【００３８】
具体的には、たとえば「中国大陸」などのように、複数の形態素（「中国」と「大陸」）によって構成される形態素列における形態素「大陸」が、日本語固有表現判断部２０４による判断対象であって、上記の所定の記憶領域が「大陸」を含む日本語固有表現として「大陸」および「中国大陸」を記憶している場合について説明する。
【００３９】
この場合、日本語固有表現判断部２０４は、スタックに格納（プッシュ）された形態素（「大陸」）と日本語固有表現とを比較した結果、「大陸」および「中国大陸」という日本語固有表現に対して最後尾要素が一致すると判断する。このとき、第２のコンテクストには、日本語固有表現（「中国大陸」）を構成する形態素（「中国」）が存在しているため、日本語固有表現判断部２０４は、第２のコンテクストに格納された形態素を抽出（ポップ）してスタックの先頭に格納（プッシュ）する。これにより、スタックには、「中国」および「大陸」という２つの形態素からなる「中国大陸」という形態素列が構成される。
【００４０】
このようにして、上記ＳＲ法における「Ｓｈｉｆｔ」アクションを実行する。日本語固有表現判断部２０４は、「Ｓｈｉｆｔ」アクションによってスタックに格納された「中国大陸」という形態素列が日本語固有表現であるか否かを判断することになる。
【００４１】
（３）「Ｃｕｔ−Ｌｅｆｔ」アクションの手順
また、日本語固有表現判断部２０４は、ＤＢ２０１の所定の記憶領域に記憶された日本語固有表現とスタックに格納された形態素とを比較することによって、日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致するか否かを判断する。そして両者が一致する場合には、つぎに日本語固有表現の先頭要素とスタックに格納された形態素の形態素境界とが一致するか否かを判断する。なお、日本語固有表現の先頭要素とスタックに格納された形態素の形態素境界とが一致するか否かの判断をおこない、それに引き続き、日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致するか否かの判断をおこなうようにしてもよい。
【００４２】
そして、日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致する場合であって、日本語固有表現の先頭要素とスタックに格納された形態素の形態素境界とが一致しない場合は、スタックに格納されている形態素の先頭１文字（横書きにおける左端の１文字）を抽出（ポップ）し、第２のコンテクストに格納（プッシュ）する。
【００４３】
このとき、日本語固有表現判断部２０４は、スタックから抽出した形態素の先頭１文字を、第２のコンテクストの最後尾に格納（プッシュ）する。これにより、スタックに格納されている形態素から先頭１文字が切り離され、スタックには文字または文字列が残される。このようにして、この発明の実施の形態にかかる日本語固有表現抽出における「Ｃｕｔ−Ｌｅｆｔ」アクションを実行する。
【００４４】
その後、日本語固有表現判断部２０４は、スタックに残された文字または文字列について、日本語固有表現であるか否かを判断する。さらに、日本語固有表現の最後尾要素とスタックに格納された形態素の最後尾要素とが一致するか否かを判断し、一致する場合は、文字または文字列がスタックに存在しなくなるまで、同様の手順を繰り返す。
【００４５】
（４）「Ｃｕｔ−Ｒｉｇｈｔ」アクションの手順
また、たとえば日本語固有表現判断部２０４は、ＤＢ２０１における所定の記憶領域に記憶された日本語固有表現とスタックに格納された形態素とを比較することによって、日本語固有表現の最後尾要素がスタックに格納された形態素に含まれているか否かを判断する。そして日本語固有表現の最後尾要素がスタックに格納された形態素に含まれている場合には、つぎに日本語固有表現の最後尾要素とスタックに格納された形態素の形態素境界とが一致するか否かを判断する。なお、日本語固有表現の最後尾要素とスタックに格納された形態素の形態素境界とが一致するか否かの判断をおこない、それに引き続き、日本語固有表現の最後尾要素がスタックに格納された形態素に含まれているか否かの判断をおこなうようにしてもよい。
【００４６】
そして、日本語固有表現の最後尾要素がスタックに格納された形態素に含まれている場合であって、日本語固有表現の最後尾要素とスタックに格納された形態素の形態素境界とが一致しない場合は、スタックに格納されている形態素の最後尾１文字（横書きにおける右端の１文字）を抽出（ポップ）し、第１のコンテクストに格納（プッシュ）する。
【００４７】
このとき、日本語固有表現判断部２０４は、スタックから抽出した形態素の最後尾１文字を、第１のコンテクストの先頭に格納（プッシュ）する。これにより、スタックに格納されている形態素から最後尾１文字が切り離され、スタックには文字または文字列が残される。このようにして、この発明の実施の形態にかかる日本語固有表現抽出における「Ｃｕｔ−Ｒｉｇｈｔ」アクションを実行する。
【００４８】
その後、日本語固有表現判断部２０４は、スタックに残された文字または文字列について、日本語固有表現であるか否かを判断する。さらに、日本語固有表現の最後尾要素がスタックに格納された形態素に含まれているか否かを判断し、含まれている場合は、文字または文字列がスタックに存在しなくなるまで、同様の手順を繰り返す。
【００４９】
「Ｃｕｔ−Ｌｅｆｔ」アクションおよび「Ｃｕｔ−Ｒｉｇｈｔ」アクションは従来のＳＲ法にはない新たな所定手順であり、本願発明の実施の形態における特徴の一つである。また、一つの形態素ついて、「Ｃｕｔ−Ｌｅｆｔ」アクションおよび「Ｃｕｔ−Ｒｉｇｈｔ」アクションの両方をおこなって、文字または文字列を形成する場合もある。日本語固有表現判断部２０４は、具体的には、たとえば図１に示したＲＯＭ１０２やＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７、ＣＤ−ＲＷ１０９などのメモリに記憶されたプログラムをＣＰＵ１０１が実行することによってその機能を実現することができる。
【００５０】
抽出部２０５は、日本語固有表現判断部２０４によって日本語固有表現であると判断された形態素のみを抽出する。抽出部２０５は、たとえば、日本語文書中の当該形態素の位置に関する情報および日本語固有表現の種類に関する情報を含む日本語固有表現タグを関連付けして記憶することによって抽出可能な状態にするようにすればよい。抽出部２０５は、具体的には、たとえば図１に示したＣＰＵ１０１が、ＲＯＭ１０２やＲＡＭ１０３に記憶されたプログラムを実行することによってその機能を実現することができる。
【００５１】
また、抽出部２０５は、日本語固有表現判断部２０４によって、「Ｒｅｄｕｃｅ」アクションまたは「Ｓｈｉｆｔ」アクションによって複数の形態素が組み合わされた形態素列のうち、日本語固有表現であると判断された形態素列を抽出してもよい。また、抽出部２０５は、「Ｃｕｔ−Ｌｅｆｔ」アクションおよび「Ｃｕｔ−Ｒｉｇｈｔ」アクションによって形態素の一部が切り離された後の文字または文字列のうち、日本語固有表現であると判断された文字または文字列を抽出してもよい。
【００５２】
記憶部２０６は、抽出部２０５によって抽出された形態素、形態素列、文字または文字列を記憶する。記憶部２０６は、抽出された形態素、形態素列、文字または文字列に、日本語固有表現タグを関連付けて記憶する。日本語固有表現タグは、チャンクタグおよび日本語固有表現の種類に関する情報を含んでいる。チャンクタグは、日本語固有表現の開始位置や終了位置をあらわす情報である。
【００５３】
記憶部２０６に記憶された日本語文書は、上記日本語固有表現タグが関連付けられることにより、抽出された日本語固有表現（形態素、形態素列、文字または文字列）の種類およびその日本語固有表現（形態素、形態素列、文字または文字列）が、日本語文書の中のどの位置に存在するかを特定することができる。記憶部２０６は、具体的には、たとえば図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７、ＣＤ−ＲＷ１０９などによってその機能を実現することができる。
【００５４】
また、出力部２０７は、記憶部２０６によって記憶された情報（形態素（形態素列、文字または文字列）および日本語固有表現タグ）を単独であるいは日本語文書とともに出力する。出力部２０７は、記憶部２０６によって記憶された情報を、たとえば図１に示したディスプレイ１１０に表示したり、ネットワークＩ／Ｆ１１３および通信ケーブル１１４を介して接続されたサーバなどの外部装置に出力したり、ネットワークＩ／Ｆ１１３および通信ケーブル１１４を介して接続された図示しないプリンタを用いてプリントアウトしたりする。このため、出力部２０７は、具体的には、たとえば図１に示したディスプレイ１１０またはネットワークＩ／Ｆ１１３によってその機能を実現することができる。
【００５５】
図３は、日本語固有表現の種類および例の一例を示す説明図である。日本語固有表現の種類は、たとえばＩＲＥＸ（Information Retrieval and Extraction Exercise）で定義されたものを用いることができる。図３において、日本語固有表現の種類は、「ＡＲＴＩＦＡＣＴ（固有物名）」、「ＤＡＴＥ（日付表現）」、「ＬＯＣＡＴＩＯＮ（地名）」、「ＭＯＮＥＹ（金額表現）」、「ＯＲＧＡＮＩＺＡＴＩＯＮ（組織名）」、「ＰＥＲＣＥＮＴ（割合表現）」、「ＰＥＲＳＯＮ（人名）」および「ＴＩＭＥ（時間表現）」の８種類に分類されている。
【００５６】
「ＡＲＴＩＦＡＣＴ（固有物名）」とは、人間の活動によって作られた具体物、抽象物を含む物の固有の名前である。「ＡＲＴＩＦＡＣＴ（固有物名）」は、たとえば「ノーベル文学賞」などのように、各々が意味を持つ複数の単語（「ノーベル」、「文学」、「賞」）を組み合わせることによって固有の名前を表現するものであってもよいし、たとえば「皇居」などのように一つの単語によって特定の固有物を表現するものであってもよい。
【００５７】
「ＤＡＴＥ（日付表現）」とは、単位が２４時間以上の、特定の時間を表現する用語である。「ＤＡＴＥ（日付表現）」は、たとえば「五月五日」などのように、数字および日付を示す文字（または文字列）などを組み合わせることによって特定の日付をあらわす用語である。「ＤＡＴＥ（日付表現）」は、たとえば「２００７年４月２１日」などのように西暦でもよく、「平成１９年４月２１日」などのように年号などを含んでいてもよい。
【００５８】
「ＬＯＣＡＴＩＯＮ（地名）」とは、固有の場所を示す名称を表現する用語である。「ＬＯＣＡＴＩＯＮ（地名）」は、たとえば国名（「日本」、「韓国」など）、都道府県名（「東京（都）」、「埼玉（県）」など）、区市町村名（「世田谷区」、「川口市」など）、番地（「１丁目１番地」、「１２３４番地」など）などを表現する用語である。「ＬＯＣＡＴＩＯＮ（地名）」は、「訪朝」、「渡米」、「来日」など一つの単語（形態素）の一部として含まれるものであってもよい。また、「ＬＯＣＡＴＩＯＮ（地名）」は、河川名（「利根川」、「四万十川」など）や、山脈名（「奥羽山脈」、「日高山脈」など）などのように、地形に関する表現を含む。
【００５９】
「ＭＯＮＥＹ（金額表現）」とは、たとえば「２０００万ドル」などのように、任意の数値（および数値を示す漢字など（「億」、「万」、「千」））と通貨の単位（「円」、「ドル」、「ユーロ」）、または通貨を示す記号（「￥」、「＄」）とを組み合わせることによってあらわされる金額を示す用語である。「ＭＯＮＥＹ（金額表現）」は、たとえば「１０，０００円」、「￥５００，０００」、「＄１００，０００」などのように、数値の部分をあらわす数値の形態が統一されていてもよいし、「１萬円」などのように、数値の部分をあらわす数値部分にローマ数字と漢数字とが混在していてもよく、「壱萬円」などのように、数値部分も含め漢字のみで構成しているものであってもよい。
【００６０】
「ＯＲＧＡＮＩＺＡＴＩＯＮ（組織名）」は、たとえば「社会党」などのようにそれ自体が特定の組織を表現する用語であってもよいし、「教育委員会」などのように、「教育」、「委員」、「会」という表現がそれぞれ個別の意味を持つ表現であっても、それらが組み合わされることによって、特定の組織を示す表現をなす用語であってもよい。
【００６１】
「ＰＥＲＣＥＮＴ（割合表現）」とは、たとえば「二〇％」や「三割」などのように、数値と割合を示す記号（「％」）または文字（列）（「割」、「パーセント」）とを組み合わせることにより特定の割合を表現する用語である。割合表現における数値表現は、上記の金額表現と同様に、数値の部分をあらわす数値部分にローマ数字と漢数字とが混在していてもよい。
【００６２】
「ＰＥＲＳＯＮ（人名）」とは、たとえば「村山富市」などのように特定の人物名を表現する用語である。「ＰＥＲＳＯＮ（人名）」は、たとえば、各国の首相、プロスポーツ選手、歴史に登場する代表的な人物など、一般的に広く知られている人物名を表現する用語である。
【００６３】
「ＴＩＭＥ（時間表現）」とは、単位が２４時間以下の、特定の時間を表現する用語である。たとえば「午前五時」などのように特定の時間（時刻）を表現する用語である。時間表現の形式は、たとえば、「午後十時」であってもよいし「２２時」であってもよい。時間表現も、上記の金額表現と同様に、数値の部分をあらわす数値部分にローマ数字と漢数字とが混在していてもよい。
【００６４】
図４−１および図４−２は、通常の日本語固有表現の抽出の解析例を示す説明図である。図４−１においては、一例として、たとえば『小泉首相は九日午前零時に訪朝し、・・・』という入力文の中から日本語固有表現を抽出する場合について説明する。当該入力文において、「小泉」は人名であり、「九日」は日付表現であり、「朝」は場所表現（朝鮮の略語）の日本語固有表現である。
【００６５】
図４−１に示す日本語固有表現抽出法では、入力文における各日本語固有表現に対して、日本語固有表現の種類をあらわす日本語固有表現タグを関連付ける。日本語固有表現タグは、日本語固有表現の種類に加えて、該当する日本語固有表現の開始および終了位置をあらわすチャンクタグを含んでいてもよい。日本語固有表現タグは、上記の８種類の日本語固有表現のいずれかの種類をあらわす。
【００６６】
図４−１に示した日本語固有表現抽出法においては、たとえば、上記日本語文書における日本語固有表現「小泉」に対しては、「小」が人名の開始文字であるため、「小」という文字に対して「Ｂ（ＢＩＧＩＮ）−ＰＥＲＳＯＮ（人名）」という記号を記録し、日本語固有表現の一部である「泉」に対しては、「Ｉ（ＩＮ）−ＰＥＲＳＯＮ（人名）」という記号を記録する。これにより、「小泉」という日本語固有表現をＰＥＲＳＯＮ（人名）として認識（推定）できたことになる。また、この日本語固有表現抽出法においては、非日本語固有表現は、「Ｏ（ＯＴＨＥＲ）」として認識（推定）する。
【００６７】
日本語固有表現の開始位置は、入力文の先頭の文字を「０」とし、以降順に「１」、「２」、「３」、・・・と付番した場合に、日本語固有表現の最初の文字が何番目に該当するかによってあらわす。各日本語固有表現の終了位置は、入力文の先頭の文字を「０」とし、以降順に「１」、「２」、「３」、・・・と付番した場合に、日本語固有表現の最後の文字が何番目に該当するかによってあらわす。上記の入力文においては、「０−１」という開始終了位置として認識（推定）する。また、日本語固有表現タグの作り方には、上記の方法の他に、４種類の方法が提案されている。
【００６８】
図４−２においては、『小泉首相は九日午前零時に訪朝し』という文中で、小泉:ＰＥＲＳＯＮ（人名）、九日:ＤＡＴＥ（日付）、午前零時:ＴＩＭＥ（時間）、および朝:ＬＯＣＡＴＩＯＮ（地名）という４つの日本語固有表現に対して、ＩＯＢ１、ＩＯＢ２、ＩＯＥ１、ＩＯＥ２、ＳＥそれぞれの表現法の違いをあらわしている。公知の技術であるため、ここではＩＯＢ１、ＩＯＢ２、ＩＯＥ１、ＩＯＥ２、ＳＥそれぞれの表現法についての説明を省略する。
【００６９】
日本語固有表現に対する表現法の違いについての詳細は、たとえば以下の文献（１）、（２）を参照した。
（１）Erik F. Tjong Kim Sang and Jorn Veenstra. Representing text chunks. In Proceedings of the European Chapter of the Association for Computational Linguistics, pp. 173.179, 1999.
【００７０】
（２）Kiyotaka Uchimoto, Qing Ma, Masaki Murata, Hiromi Ozaku, and Hitoshi Isahara. Named Entity Extractin Based on A Maximum Entropy Model and Transformation Rules (in Japanese). In Journal of Natural Language Processing, Vol. 7, pp. 63.90, 2000.
【００７１】
図４−２においては、たとえば、「Ｂ−ＤＡＴＥ」のような表記が日本語固有表現タグとなる。以下、本実施の形態においては、入力単語列（日本語文書における形態素、形態素列、文字または文字列）に対し日本語固有表現タグで符号化し、任意の学習手法を適用後に最適符号列に復号化する日本語固有表現抽出手法を、この発明の手法と区別するために、総称して復号化手法と呼ぶ。
【００７２】
上記の復号化手法においては、固有表現の開始終了位置でその種類を同時に表す固有表現タグを推定しなければならないことが問題点の一つとして挙げられる。この問題点について、以下の例文を用いて説明する。例文において、『／』は、形態素境界を示す。
【００７３】
例文（１−１）一太郎/２/０/０/７/と/記載
例文（１−２）賞味/期限/２/０/０/７/と/記載
【００７４】
例文（１−１）における「２００７」は固有物名である「一太郎２００７」の一部であり、例文（１−２）の「２００７」は日付表現として抽出すべき日本語固有表現である。前後２形態素の情報を素性として利用し、文末から順に解析して、「７」の位置において日本語固有表現タグを推定する場合の問題点について説明する。例文（１−１）、（１−２）の２つの例文で利用できる素性は完全に同一であるため、固有物名か日付表現かを正しく判別することは困難である。
【００７５】
この問題に対して、中野らは文節境界を事前に推定し、その情報を用いることで「一太
郎」や「期限」などの推定に重要な情報を利用する手法を提案しているが、これは「７」の位置で固有表現の境界とその種類を同時推定しなければならないという復号化手法の本質的な問題を含んでいる。
【００７６】
日本語固有表現の抽出に際しては、分割された形態素ごとに日本語固有表現タグを推定することが効率的であり望ましいが、日本語などの膠着表現においては、単語境界が自明ではない。このため、日本語固有表現の抽出に際しては、事前に前処理として形態素解析をおこない、入力文を形態素単位に分割する。これにより、各形態素の境界を明確化することができる。なお、公知の技術であるため、ここでは態素解析についての説明を省略する。
【００７７】
一方で、上記の入力文における形態素「訪朝」における「朝」のように、１形態素よりも小さい粒度の日本語固有表現が存在する場合がある。このため、従来の日本語固有表現抽出法では、日本語固有表現タグ列を文字単位で推定（日本語固有表現の種類を文字単位で推定）するなどして、形態素境界に非依存な手法を採用し高精度を達成するようにしている。しかしながら、日本語固有表現の種類を文字単位で推定することにより、日本語固有表現抽出の効率性は低下している。
【００７８】
上記のような日本語固有表現抽出方法のほかに、既知の句構造構文解析技術の一つである「Ｓｈｉｆｔ−Ｒｅｄｕｃｅ（以下、「ＳＲ」という）法」という方法を用いて日本語固有表現抽出をおこなうことが可能である。Ｓｈｉｆｔ−Ｒｅｄｕｃｅ法は、文頭から順に句を認識可能な解析手法である
【００７９】
ＳＲ法は、Ｓｔａｃｋと呼ばれる変数を用いて、「Ｓｈｉｆｔ」および「Ｒｅｄｕｃｅ」というアクションを順次適用していくことで解析をおこなう方法である。「Ｓｈｉｆｔ」アクションは、一つの形態素を、入力文の開始側から順にＳｔａｃｋにプッシュするアクションであり、「Ｒｅｄｕｃｅ」アクションは、Ｓｔａｃｋ内を空にしてから、一つの形態素を、入力文の開始側から順にＳｔａｃｋにプッシュするアクションである（図５を参照）。
【００８０】
ＳＲ法では、「Ｒｅｄｕｃｅ」アクションの適用に際し、Ｓｔａｃｋ内に過不足なく格納された形態素が日本語固有表現であれば、名詞句に似た特殊な句としてみなすことができる。これによって、Ｒｅｄｕｃｅした日本語固有表現に対して、「Ｒｅｄｕｃｅ−日本語固有表現の種類」のように、当該日本語固有表現の種類を付与することができ、なんの制限なく日本語固有表現の抽出にＳＲ法を適用することが可能である。
【００８１】
ＳＲ法については、たとえば、以下に示す参考文献（１）、（２）などに記載されているため、ここではその説明を省略する。
参考文献（１）長尾  真  編、岩波講座ソフトウェア科学１５「自然言語処理」、ｐ１５５−１５６
参考文献（２）長尾真、中川祐志、松本祐治、橋田浩一：岩波講座、言語の科学８「言語の数理」、ｐ１０８−１０９
【００８２】
図５は、この発明の実施の形態にかかる日本語固有表現抽出用ＳＲアクションを示す説明図である。図５においては、この発明の実施の形態にかかる日本語固有表現抽出に際して適用するアクションの種類ごとに、その動作および各アクションを適用する条件を示す。
【００８３】
この発明の実施の形態にかかる日本語固有表現抽出に際して適用するアクションは、「Ｒｅｄｕｃｅ」、「Ｓｈｉｆｔ」、「Ｃｕｔ−Ｌｅｆｔ」、「Ｃｕｔ−Ｒｉｇｈｔ」の４種類である。すなわち、この発明においては、通常のＳＲ法においておこなわれるＳＲアクション「Ｒｅｄｕｃｅ」アクションおよび「Ｓｈｉｆｔ」アクションに加えて、「Ｃｕｔ−Ｌｅｆｔ」アクションと「Ｃｕｔ−Ｒｉｇｈｔ」アクションとを適用する。
【００８４】
「Ｒｅｄｕｃｅ」アクションは、Ｓｔａｃｋ先頭および最後尾文字位置と日本語固有表現タグ（ｌａｂｅl）とを記録し、各形態素を順にＬＣの最後尾にプッシュし、その後、ＲＣ先頭形態素をポップしてＳｔａｃｋにプッシュするアクションである。この実施の形態において、日本語固有表現タグは、図３に示したように、上記の８種類の日本語固有表現のいずれかをあらわす。
【００８５】
日本語固有表現の位置は、図６に示すよう、当該日本語固有表現の開始位置および終了位置によってあらわす。各日本語固有表現の開始位置は、入力文の先頭の文字を「０」とし、以降順に「１」、「２」、「３」、・・・と付番した場合に、日本語固有表現の最初の文字が何番目に該当するかによってあらわす。各日本語固有表現の終了位置は、入力文の先頭の文字を「０」とし、以降順に「１」、「２」、「３」、・・・と付番した場合に、日本語固有表現の最後の文字が何番目に該当するかによってあらわす。
【００８６】
「Ｒｅｄｕｃｅ」アクションは、一つの日本語固有表現を構成する全ての形態素列を、Ｓｔａｃｋ内に過不足なく格納したことを条件として適用する。非日本語固有表現の場合または日本語固有表現の最後尾要素がＳｔａｃｋ内にない場合は、日本語固有表現タグはＯｔｈｅｒｓ（その他）となる。
【００８７】
「Ｓｈｉｆｔ」アクションは、ＬＣの最後尾要素から１形態素をポップし、Ｓｔａｃｋの先頭にプッシュするアクションである。「Ｓｈｉｆｔ」アクションは、日本語固有表現の最後尾要素とＳｔａｃｋの最後尾要素が一致し、かつ、日本語固有表現を構成する形態素がＬＣに存在することを条件として適用する。
【００８８】
「Ｃｕｔ−Ｌｅｆｔ」アクションは、Ｓｔａｃｋ内の形態素の先頭の１文字をポップし、ＬＣの末尾へプッシュするアクションである。「Ｃｕｔ−Ｌｅｆｔ」アクションは、日本語固有表現の最後尾要素がＳｔａｃｋの最後尾要素と一致し、かつ、先頭要素が形態素境界と一致しないことを条件として適用する。
【００８９】
「Ｃｕｔ−Ｒｉｇｈｔ」アクションは、Ｓｔａｃｋ内の形態素の最後尾の１文字をポップし、ＲＣの先頭へプッシュするアクションである。「Ｃｕｔ−Ｒｉｇｈｔ」アクションは、日本語固有表現の最後尾要素がＳｔａｃｋ内に含まれており、かつ、形態素境界と一致しないことを条件として適用する。
【００９０】
図６は、この発明の実施の形態にかかる日本語固有表現の解析過程の一例を示す説明図である。図６において、左端の「Ｓｔｅｐ」欄には、解析過程におけるＳｔｅｐ番号が示されている。また、「Ａｃｔｉｏｎ」欄には、日本語固有表現の解析に際して適用されるＳＲアクションが示されている。上記ＳＲアクションは、図５に示した「Ｒｅｄｕｃｅ」アクション、「Ｓｈｉｆｔ」アクション、「Ｃｕｔ」アクション（「Ｃｕｔ−Ｌｅｆｔ」アクションまたは「Ｃｕｔ−Ｒｉｇｈｔ」アクション）のうちのいずれかのアクションである。
【００９１】
また、ＬＣは、解析済みの入力文を示し、Ｓｔａｃｋは、解析中の入力文を示し、ＲＣは、未解析の入力文を示す。「ＬＣ」欄、「Ｓｔａｃｋ」欄および「ＲＣ」欄のデータは、Ｓｔｅｐ番号の変化すなわち解析過程の進行に応じて変化する。日本語固有表現の解析に際しては、前処理として形態素解析を実行することで、入力文を形態素単位に分割する。
【００９２】
まずＳｔｅｐ１において、入力文における先頭の形態素をＳｔａｃｋに格納する。図６においては、Ｓｔａｃｋ内が、入力文における先頭の形態素「小泉」で過不足なく満たされている状態となる。このとき、ＬＣには何の形態素も格納されておらず、先頭の形態素に続く形態素はすべてＲＣに格納された状態となる。日本語固有表現の解析は、この初期状態から開始する。
【００９３】
そしてＳｔｅｐ１においては、Ｓｔａｃｋ内の形態素が一つの日本語固有表現「小泉」であるので、Ｓｔａｃｋ内の日本語固有表現「小泉」に対して、「Ｒｅｄｕｃｅ−ＰＥＲＳＯＮ（人名）」アクションを適用する。「Ｒｅｄｕｃｅ−ＰＥＲＳＯＮ」アクションを適用することにより、当該アクションが適用された「小泉」をＬＣの最後尾にプッシュする。これにより、Ｓｔａｃｋ内が空になる。
【００９４】
「小泉」などのように、日本語固有表現となる形態素をＬＣの最後尾へプッシュする際には、対象となる日本語固有表現に対して日本語固有表現タグを関連付ける。この実施の形態においては、「小泉」という日本語固有表現に対して、「ＰＥＲＳＯＮ（人名）」という種類を割り当てる。
【００９５】
上述したように、開始終了文字位置は、入力文の先頭に対する、ＬＣへの格納対象となる形態素のはじめの１文字および最後の１文字の位置であり、具体的にはＬＣへの格納対象となる形態素のはじめの１文字および最後の１文字がそれぞれ入力文の先頭から何文字目に該当するかをあらわす。このことから、上記の「小泉」であれば、「０−１」が開始終了文字位置となる。なお、この場合、ＬＣへの格納対象となる形態素のはじめの１文字の位置は「０」である。これにより、入力文における０から１文字目が、人名（ＰＥＲＳＯＮ）の日本語固有表現であることが認識される。
【００９６】
そして、ＲＣにおける先頭形態素（「首相」）をポップするとともに、上記のようにＬＣの最後尾へ該当する形態素（「小泉」）をプッシュすることによって空になったＳｔａｃｋに、ポップした形態素（「首相」）をプッシュし、図６のＳｔｅｐ２に示す状態とする。
【００９７】
つぎにＳｔｅｐ２においては、Ｓｔａｃｋ内の形態素が非日本語固有表現「首相」であるので、Ｓｔａｃｋ内の非日本語固有表現「首相」に対して、「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ（その他）」アクションを適用する。「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ」アクションを適用することにより、当該アクションが適用された形態素「首相」が、ＬＣの最後尾にプッシュされる。これにより、Ｓｔａｃｋ内が空になる。Ｓｔｅｐ２における「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ」アクションの適用に際しては、文字位置などの情報は保存しない。
【００９８】
そして、ＲＣにおける先頭形態素（「が」）をポップするとともに、上記のようにＬＣの最後尾へ該当する形態素（「首相」）をプッシュすることによって空になったＳｔａｃｋに、ポップした形態素（「が」）をプッシュし、図６のＳｔｅｐ３に示す状態とする。
【００９９】
Ｓｔｅｐ３においては、Ｓｔａｃｋ内の形態素が非日本語固有表現「が」であるので、Ｓｔａｃｋ内の非日本語固有表現「首相」に対して、「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ（その他）」アクションを適用する。「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ」アクションを適用することにより、当該アクションが適用された「が」をＬＣの最後尾にプッシュする。これにより、Ｓｔａｃｋ内が空になる。Ｓｔｅｐ２と同様に、Ｓｔｅｐ３における「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ」アクションの適用に際しては、文字位置などの情報は保存しない。
【０１００】
そして、ＲＣにおける先頭形態素（「九」）をポップするとともに、上記のようにＬＣの最後尾へ該当する形態素（「が」）をプッシュすることによって空になったＳｔａｃｋに、ポップした形態素（「九」）をプッシュし、図６のＳｔｅｐ４に示す状態とする。
【０１０１】
Ｓｔｅｐ４においては、Ｓｔａｃｋ内の非日本語固有表現「九」に対して、「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ（その他）」アクションを適用する。ここで、Ｓｔａｃｋ内の形態素「九」は日本語固有表現「九日」の一部であるが、「九」自体は非日本語固有表現である。このため、Ｓｔｅｐ４においては、Ｓｔａｃｋ内の非日本語固有表現「九」に対して、「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ（その他）」アクションを適用し、「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ」アクションが適用された「九」をＬＣの最後尾にプッシュして、Ｓｔａｃｋを空にする。
【０１０２】
そして、ＲＣにおける先頭形態素（「日」）をポップするとともに、上記のようにＬＣの最後尾へ該当する形態素（「九」）をプッシュすることによって空になったＳｔａｃｋに、ポップした形態素（「日」）をプッシュし、図６のＳｔｅｐ５に示す状態とする。
【０１０３】
Ｓｔｅｐ５においては、「Ｓｈｉｆｔ」アクションを適用し、ＬＣの最後尾の一つの形態素を、Ｓｔａｃｋの先頭にプッシュし、図６のＳｔｅｐ６に示す状態とする。Ｓｔｅｐ５にの動作により、ＬＣの最後尾形態素（「九」）がポップされてＳｔａｃｋの先頭にプッシュされ、「九日」という日本語固有表現が、Ｓｔａｃｋ内に過不足なく格納された状態となる。
【０１０４】
なお、この発明の実施の形態にかかる日本語固有表現抽出の手法に際しては、Ｓｔｅｐ５の段階において「Ｓｈｉｆｔ」アクションを適用する。この発明の実施の形態にかかる日本語固有表現抽出の手法は、Ｓｔｅｐ４の段階において「Ｓｈｉｆｔ」アクションを適用して、「日」をＳｔａｃｋ内にプッシュする従来のＳＲ法とは、この点で異なる。
【０１０５】
この発明の実施の形態にかかる方法では、従来のＳＲ法における「Ｓｈｉｆｔ」アクションのように、複数の構成要素からなる句を認識するためにＲＣから要素を追加読み込みする用途では使用せず、日本語固有表現の最後尾要素がＳｔａｃｋに格納されてはじめて「Ｓｈｉｆｔ」アクションを適用し、ＬＣから構成形態素を一つ読み戻すという方法によって、日本語固有表現の抽出を実行している。
【０１０６】
Ｓｔｅｐ６においては、Ｓｔａｃｋ内の形態素が一つの日本語固有表現（「九日」）であるので、Ｓｔａｃｋ内の日本語固有表現（「九日」）に対して、「Ｒｅｄｕｃｅ−ＤＡＴＥ（日付）」アクションを適用する。「Ｒｅｄｕｃｅ−ＤＡＴＥ」アクションを適用することにより、当該アクションが適用された日本語固有表現（「九日」）をＬＣの最後尾にプッシュする。これにより、Ｓｔａｃｋ内が空になる。
【０１０７】
Ｓｔｅｐ６においては、日本語固有表現（「九日」）のＬＣの最後尾へのプッシュに際して、対象となる形態素（日本語固有表現（「九日」））のｌａｂｅｌおよび当該形態素（日本語固有表現（「九日」））の開始終了文字位置に関する情報をあわせて格納（記録）する。この実施の形態においては、「ＤＡＴＥ（日付）」というｌａｂｅｌを格納（記録）するとともに、開始終了文字位置である「５−６」を格納（記録）する。
【０１０８】
Ｓｔｅｐ６の動作は、主辞（名詞句なら最後尾形態素）が重要な手掛かりとなる、日本語の入力文に対する日本語固有表現抽出に特有の動作である。主辞を認識してから日本語固有表現全体を認識することで日本語固有表現を精度よく抽出することができる。
【０１０９】
そして、ＲＣにおける先頭形態素（「に」）をポップして、上記のようにＬＣの最後尾へ該当する形態素（日本語固有表現（「九日」））をプッシュすることによって空になったＳｔａｃｋに、ポップした形態素（「に」）をプッシュし、図６のＳｔｅｐ７に示す状態とする。
【０１１０】
Ｓｔｅｐ７においては、Ｓｔａｃｋ内の非日本語固有表現（「に」）に対して、「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ（その他）」アクションを適用する。「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ（その他）」アクションを適用することにより、Ｓｔａｃｋ内の非日本語固有表現（「に」）をＬＣの最後尾にプッシュして、Ｓｔａｃｋを空にする。
【０１１１】
そして、ＲＣにおける先頭形態素（「訪朝」）をポップして、上記のようにＬＣの最後尾へ該当する形態素（「に」）をプッシュすることによって空になったＳｔａｃｋに、ポップした形態素をプッシュし、図６のＳｔｅｐ８に示す状態とする。
【０１１２】
ここで、「訪朝」は、形態素の意味としては、「訪問」と「（北）朝鮮」という２つの意味を含んでいる。「（北）朝鮮」は、国名であるため日本語固有表現であるが、「訪朝」に含まれる場合は、形態素解析による分割によって得られる一つの形態素よりも小さな日本語固有表現となる。すなわち、単純に「Ｒｅｄｕｃｅ」アクションを適用しても、「朝」だけを日本語固有表現として抽出することはできない。
【０１１３】
Ｓｔｅｐ８においては、「Ｃｕｔ−Ｌｅｆｔ」アクションを適用することにより、Ｓｔａｃｋ内の最左文字（「訪」）を一つだけ取り出し、ＬＣの最後尾に格納し、図６のＳｔｅｐ９に示す状態とすることができる。これにより、「訪朝」の「朝」だけをＳｔａｃｋに残し、Ｓｔａｃｋ内が一つの日本語固有表現で過不足なく満たされた状態とすることができる。この発明の実施の形態にかかる日本語固有表現抽出においては、この「Ｃｕｔ」アクションという特殊なアクションを適用することにより、Ｓｔａｃｋ内の形態素を文字単位に解析することができる。
【０１１４】
Ｓｔｅｐ８においては、Ｓｔａｃｋ内に格納されている一つの形態素における日本語固有表現の位置に応じて、「Ｃｕｔ−Ｌｅｆｔ」アクションまたは「Ｃｕｔ−Ｒｉｇｈｔ」アクションを適用する。「Ｃｕｔ−Ｌｅｆｔ」アクションはＳｔａｃｋ内における右側に日本語固有表現が存在する場合、「Ｃｕｔ−Ｒｉｇｈｔ」アクションＳｔａｃｋ内における左側に日本語固有表現が存在する場合、にそれぞれ適用する。
【０１１５】
具体的には、たとえば日本語固有表現「中国」と非日本語固有表現「人」とを組み合わせて構成される「中国人」という一つの形態素がＳｔａｃｋ内に格納されている場合は、「Ｃｕｔ−Ｒｉｇｈｔ」アクションを適用する。この場合、「Ｃｕｔ−Ｒｉｇｈｔ」アクションを適用することで「人」のみをＲＣにプッシュして、Ｓｔａｃｋ内が一つの日本語固有表現で過不足なく満たされた状態とすることができる。
【０１１６】
このように、「Ｃｕｔ」アクションを適用することにより、一つの形態素の中に日本語固有表現と非日本語固有表現とが混在する場合にも、入力文のほとんどの部分を形態素単位に解析し、必要な部分のみを文字単位に解析することが可能となる。この「Ｃｕｔ」アクションは、従来のＳＲ法にはなく、この発明の実施の形態にかかる日本語固有表現抽出において特徴的な拡張アクションである。この拡張アクションにより、一つの形態素の中に日本語固有表現と非日本語固有表現とが混在するという日本語に特有の表現に対しても、入力文の構成を形態素単位で解析することができる。
【０１１７】
Ｓｔｅｐ９においては、Ｓｔａｃｋ内に格納された一つの日本語固有表現（「朝」）に対して、「Ｒｅｄｕｃｅ−ＬＯＣＡＴＩＯＮ（場所）」アクションを適用する。「Ｒｅｄｕｃｅ−ＬＯＣＡＴＩＯＮ」アクションを適用することにより、当該アクションが適用された日本語固有表現（「朝」）をＬＣの最後尾にプッシュする。これにより、Ｓｔａｃｋ内が空になる。
【０１１８】
日本語固有表現（「朝」）のＬＣの最後尾へのプッシュに際しては、対象となる日本語固有表現（「朝」）の種類（ｌａｂｅｌ）および対象となる形態素の開始終了文字位置に関する情報（日本語固有表現タグ）をあわせて格納（記録）する。この実施の形態においては、「ＬＯＣＡＴＩＯＮ（場所）」というｌａｂｅｌを格納（記録）するとともに、開始終了文字位置である「９−９」を格納（記録）する。そして、ＲＣにおける先頭形態素（「し」）をポップして、ポップした形態素（「し」）を空になったＳｔａｃｋにプッシュして、図６のＳｔｅｐ１０に示す状態とする。
【０１１９】
Ｓｔｅｐ１０においては、Ｓｔａｃｋ内の形態素（「し」：非日本語固有表現）に対して、「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ（その他）」アクションを適用する。「Ｒｅｄｕｃｅ−ＯＴＨＥＲＳ」アクションを適用することにより、当該アクションが適用された「し」をＬＣの最後尾にプッシュして、Ｓｔａｃｋを空にする。
【０１２０】
なお、形態素「し」に続く入力文がある場合には、上記Ｓｔｅｐ１〜Ｓｔｅｐ９と同様にして、ＲＣにおける先頭形態素をポップして、ポップした形態素を空になったＳｔａｃｋにプッシュする。これにより、入力文「小泉首相が九日に訪朝し、」に続く入力文の解析が開始される。Ｓｔｅｐ１１においては、入力文すべてがＬＣに格納され、ＳｔａｃｋおよびＲＣが空の状態になったことをもって解析終了とする。
【０１２１】
図７は、日本語固有表現抽出アルゴリズムを示す説明図である。日本語固有表現抽出の対象となる入力文が未知の入力文である場合、当該未知の入力文を構成する各形態素に対して、上記の３種類のアクションのうちどのアクションを適用するかは、任意の機械学習アルゴリズムを用いて適用規則（条件）を学習することができる。
【０１２２】
適用規則（条件）は、たとえば、正解日本語固有表現情報が対応付けられた訓練用の入力文（訓練データ）を、この発明の実施の形態にかかる手法にしたがって解析し、その過程で得られる正しいアクションとそのアクション適用時の周辺文脈（ＬＣ、Ｓｔａｃｋ、ＲＣの状態）を手掛かりとして学習することができる。訓練用の入力文（訓練データ）には、正解日本語固有表現情報が関連付けられている。
【０１２３】
図７において、ｍ１，ｍ２，・・・，ｍｎは、入力文に対して形態素解析をおこなうことにより変換された形態素列である。日本語固有表現抽出アルゴリズムは、上述のように、ＬＣ（ＬＣｏｎｔｅｘｔ）を空にし、入力文のはじめの形態素（「ｍ１」）をＳｔａｃｋ内に格納し、残りの形態素（「ｍ２，ｍ３，・・・，ｍｎ」）をＲＣ（ＲＣｏｎｔｅｘｔ）に格納した状態から開始する。
【０１２４】
ｇｅｔ＿ｆｅａｔｕｒｅｓは、周辺文脈から素性を抽出する関数をあらわし、その素性ベクトルはｘであらわす（素性の詳細は後述する）。素性ベクトルｘとは、ある解析単位（形態素）を中心とする前後２つの解析単位の文脈を考え、その解析単位とそれに付属する情報（品詞情報、文字種など）をベクトルにしたものである。
【０１２５】
訓練時＄ｍｏｄｅｌは、訓練デ−タに付与された正解日本語固有表現情報を用いて、図６に示した適用条件にしたがって、正しいＳＲアクションｙを返す。この時の素性ベクトルｘと正しいＳＲアクションｙとのペア（ｘ、ｙ）が一つの訓練事例となり、当該訓練事例を用いて任意の学習アルゴリズムを実行することにより解析モデルを学習し、学習した解析モデル＄ｍｏｄｅｌを構築する。
【０１２６】
テスト時は、学習した解析モデル＄ｍｏｄｅｌを使用して、周辺文脈素性ベクトルｘから適切なアクションｙを推定する。その後ａｐｐｌｙ＿ａｃｔｉｏｎにより、３種類の変数をｙに応じて適切に変化させ解析を進める。
【０１２７】
図８は、基本素性の一例を示す説明図である。上記の学習においては、従来研究で標準的に使用されている周辺文脈（解析位置から前後ｎ形態素）に含まれる表層文字列、品詞細分類情報（上位三階層まで）を基本素性（素性）として用いた。素性は、形態素の属性および属性値をあらわす。この発明の実施の形態にかかる手法を用いた日本語固有表現抽出における周辺文脈とは、ＬＣの最後尾からｎ形態素、Ｓｔａｃｋ内の全ての形態素、およびＲＣの先頭要素からｎ形態素である。
【０１２８】
Ｓｔａｃｋ内の情報は、適切なアクションを推定するためにさらに特殊な情報を使用する。Ｓｔａｃｋには複数の形態素列が格納され得るため、その状態を表現するために基本素性で位置をあらわす部分にＳＥ（Ｓｔａｒｔ−Ｅｎｄ）法と同じ表記を用いた。Ｓｔａｃｋ内が５形態素以上になる場合は、素性ベクトルが過大となるため、Ｓｔａｃｋ内は、先頭および末尾の２形態素のみを基本素性として使用する。その上でさらに、Ｓｔａｃｋ内の特別な素性を使用する（図９を参照）。
【０１２９】
図９は、Ｓｔａｃｋ内の素性の一例を示す説明図である。図９においては、「特別審査委員会」という形態素が、Ｓｔａｃｋ内に格納されている場合を例示する。図９に示した例においては、「Ｃｕｔ」アクションの推定のため、１または２文字の接頭・接尾文字列を素性として使用した。名詞句以外の日本語固有表現のためにＳｔａｃｋ内の最右内容語も素性として区別して使用した。
【０１３０】
学習に際しては、形態素境界と異なる境界をもつ日本語固有表現のために境界情報を使用する（一致していればＢＥ、先頭が不一致ならＩＥ、末尾が不一致ならＢＩ）。さらに、特殊な日本語固有表現については、文字列全体を考慮する必要があるため、Ｓｔａｃｋ内の文字列を一つにした全体文字列素性を使用した。
【０１３１】
上記の学習に際して、テストデータ解析時は、未知の文脈に対しアクションを推定するため、訓練時では起り得ないアクションが推定される場合がある。一例として、文頭から順に日本語固有表現を抽出していくと、後方の推定結果がそれ以前の推定結果と矛盾する場合が挙げられる。以下に、「中国大陸を横断する」という例文を用いて具体的に説明する。
【０１３２】
例文「中国大陸を横断する」に対して形態素解析をおこなうことにより、当該例文は、「中国／大陸／を／横断／する」という５つの形態素に分割される。このような例文に対して、図５において説明したような日本語固有表現抽出をおこなった場合、形態素「中国」がＳｔａｃｋ内に格納された時点で、「Ｒｅｄｕｃｅ−ＬＯＣＡＴＩＯＮ」アクションを適用する。これにより、形態素「中国」という日本語固有表現の種類は、ＬＯＣＡＴＩＯＮ（地名）であるとされる。
【０１３３】
つづいて、形態素「大陸」がＳｔａｃｋ内に格納された時点で、「Ｓｈｉｆｔ」アクションを推定し、Ｓｔａｃｋ内に２つの形態素「中国大陸」が格納された時点で、再び「Ｒｅｄｕｃｅ−ＬＯＣＡＴＩＯＮ」アクションを適用する。これにより、「中国大陸」という日本語固有表現の種類は、ＬＯＣＡＴＩＯＮ（地名）であるとされる。
【０１３４】
このように、入力文の文頭から順に日本語固有表現を抽出する方法では、形態素「中国」のみがＬＯＣＡＴＩＯＮ（地名）であるとする以前の推定結果と、「中国大陸」がＬＯＣＡＴＩＯＮ（地名）であるとする最新の推定結果とに矛盾を来たす場合がある。直感的には、より有用な文脈情報を利用できる後方の結果を優先するほうが自然である。
【０１３５】
日本語固有表現抽出に際しては、このような矛盾の発生に対処する必要がある。以下に、以前の推定結果を保守する場合と、後方の推定結果を優先し決定的ではあるが自身の推定結果を訂正していく方法と、の違いを比較した実験結果を示す。
【０１３６】
図１０は、ＳＲ法による抽出精度を示す説明図である。図１０において、「前向きＳｈｉｆｔ」は、上記のＳｈｉｆｔ動作を従来のＳＲ法同様におこなった場合の精度を示す。すなわち、日本語固有表現の開始位置から順にＳｔａｃｋ最後尾にプッシュする方法で学習および解析した場合の精度を示す。
【０１３７】
「前方優先」は、各形態素の前方部分で推定した結果が当該形態素の後方部分から推定される推定結果と矛盾した場合に、各形態素の前方部分で推定した結果を優先し、各形態素の前方部分で推定した結果の訂正をおこなわない方法で、日本語固有表現抽出をおこなった場合の精度をあらわす。
【０１３８】
「後方優先」は、上記の「前方優先」とは逆に、各形態素の後方部分で推定した結果が当該形態素の前方部分から推定される推定結果と矛盾した場合に、各形態素の後方部分で推定した結果を優先して前方の推定結果を訂正した場合の精度をあらわす。
【０１３９】
「文節素性」は、中野らが提案した文節素性と同等な素性を追加して学習し後方優先で解析した場合の精度を示す。より詳細に、「文節素性」は、中野らが提案した文節素性におけるｍｏｄｅｌ  Ｂと同等であって、文節境界推定にはＣａｂｏＣｈａ［１１］を使用した。なお、中野らが提案した文節素性については、「中野桂吾、平井有三  日本語固有表現抽出における文節情報の利用  情報処理学会論文誌、Vol.45,No.3,pp.934.941、2004.」などに記載されており、ここでは説明を省略する。
【０１４０】
図１０において、ＳＲ法元来の「Ｓｈｉｆｔ」アクションと解析方向が同じ「前向きＳｈｉｆｔ」は、主辞を認識してから逆向きにＳｈｉｆｔする他の３手法に比べ精度が低い。この結果は、主辞要素の認識が日本語固有表現の推定に重要であるという過去の研究結果の知見と一致する。また、中野らの提案した文節素性は、提案手法においても「ＭＯＮＥＹ（金額表現）」を除く全ての日本語固有表現においてＦ値を向上させている。このことから、中野らの提案した文節素性は、日本語固有表現か非日本語固有表現かの推定に貢献していると考えられる。
【０１４１】
図１１は、関連する従来研究との比較を示す説明図である。図１１においては、本手法の有効性を検証するため、この発明の実施の形態にかかる日本語固有表現抽出と、近年高い精度を報告したいくつかの関連研究と、の比較結果および各手法の特徴概要を示す。なお、図１１に示した各値のうち、「浅原」は上述した非特許文献１、「福岡」は「Semi-Markov Conditional Random Fieldsを用いた固有表現抽出に関する研究．奈良先端科学技術大学院大学情報科学研究科修士論文．2003．」、「中野ら」は上述した非特許文献２、にそれぞれ基づいている。図１１において「浅原」、「福岡」、「中野ら」と記載された各文献については、ここでは説明を省略する。
【０１４２】
図１１において、文節素性の使用有無で精度の変化はあるが、この発明の実施の形態にかかる日本語固有表現抽出手法は、ＳＶＭｓ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅｓ）を使った文字単位復号化手法である浅原ら中野らの手法と同等の精度を達成している。従来研究においては、主辞を認識するためには文末から解析する必要があるのに対し、提案手法は文頭から解析しても主辞を認識して解析することができる。これによって、より人間の直感に近い、直感的で自然な順序で解析をおこなった場合にも、解析精度が劣化しないというＳＲ法の特徴を生かしていることがわかる。
【０１４３】
図１２は、解析計算コストの比較結果を示す説明図である。中野らや浅原らの手法は、形態素境界と日本語固有表現境界の不一致に、文字単位解析で対応している。この場合解析時も文字数がそのまま分類事例数（解析コスト）となる。これに対して、提案手法では適用したＳＲアクション数が分類事例数となる。図１２に交差検定の一つのテストセットを解析するのに必要となった事例数と分類するラベル数の違いをまとめた。
【０１４４】
図１２において、提案手法の事例数は、文字単位復号化手法の約３分の２に縮小しており、入力文すべてを文字単位で解析しない部分がそのまま効率化に寄与している。
【０１４５】
図１２において、文字単位復号化手法の推定ラベル数は１７で提案ＳＲ法は１２となり約３分の２に縮小している。復号化手法は固有表現１種類につき開始及び終了位置を明示的に区別して推定する必要があるため推定すべきラベル数全体は多くなる。ＳＲ法は固有表現の開始終了位置はＳｔａｃｋが暗黙的に保持しているため明示的な推定が不要であり、推定ラベル数自身を縮小でき効率化に寄与している。
【０１４６】
上記の実験結果によれば、ＳＲ法に基づく日本語固有表現抽出法を提案し、ＩＲＥＸ日本語固有表現抽出タスクを用いてその有効性を検証することができた。また、ＳＲ法の適用によって、日本語固有表現の境界推定後その種類を推定する自然な解析手法を実現することができた。
【０１４７】
また、形態素境界と日本語固有表現境界が一致しない問題も、簡単な拡張アクション（「Ｃｕｔ」アクション）を追加することによって対応することができ、これによって任意の長さの日本語固有表現を解析することができる。また、従来の復号化手法と比較して、推定の対象となるラベル数が少なくて済み、より簡潔な推定をおこなうことができ、部分的な文字単位解析でも同程度の精度が実現できることから、入力文の解析効率の向上を図ることができる。
【０１４８】
上述したように、この発明にかかる実施の形態によれば、形態素単位で日本語固有表現か否かを判断することにより、高い精度での日本語固有表現抽出を実現するとともに、従来法のように１文字ごとに日本語固有表現か否かを判断する場合と比較して、日本語固有表現抽出を効率よくおこなうことができる。
【０１４９】
また、この発明にかかる実施の形態によれば、「Ｃｕｔ−Ｌｅｆｔ」アクションや「Ｃｕｔ−Ｒｉｇｈｔ」アクションを適用することによって、形態素境界に左右されることなく、日本語固有表現を抽出することができる。
【０１５０】
以上説明したように、本実施の形態によれば、高い精度での日本語固有表現抽出を実現するとともに、日本語固有表現抽出を効率よくおこなうことができる。
【０１５１】
なお、本実施の形態で説明した日本語固有表現抽出方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【０１５２】
以上のように、本発明にかかる日本語固有表現抽出装置、日本語固有表現抽出方法、およびその方法をコンピュータに実行させるプログラムは、言語解析に有用であり、特に、日本語などのように単語境界が自明ではない膠着表現を含む文書からの固有表現の抽出に適している。
【図面の簡単な説明】
【０１５３】
【図１】この発明の実施の形態にかかる日本語固有表現抽出装置のハードウェア構成の一例を示す説明図である。
【図２】この発明の実施の形態にかかる日本語固有表現抽出装置の機能的構成を示す説明図である。
【図３】日本語固有表現の種類および例の一例を示す説明図である。
【図４−１】通常の日本語固有表現の抽出の解析例（その１）を示す説明図である。
【図４−２】通常の日本語固有表現の抽出の解析例（その２）を示す説明図である。
【図５】この発明の実施の形態にかかる日本語固有表現抽出用ＳＲアクションを示す説明図である。
【図６】この発明の実施の形態にかかる日本語固有表現の解析過程の一例を示す説明図である。
【図７】日本語固有表現抽出アルゴリズムを示す説明図である。
【図８】基本素性の一例を示す説明図である。
【図９】Ｓｔａｃｋ内の素性の一例を示す説明図である。
【図１０】ＳＲ法による抽出精度を示す説明図である。
【図１１】関連する従来研究との比較を示す説明図である。
【図１２】解析計算コストの比較結果を示す説明図である。
【符号の説明】
【０１５４】
２０１  データベース（ＤＢ）
２０２  取得部
２０３  形態素抽出部
２０４  日本語固有表現判断部
２０５  抽出部
２０６  記憶部
２０７  出力部
【図１】
2008276418.tif 000003
【図２】
2008276418.tif 000004
【図３】
2008276418.tif 000005
【図４−１】
2008276418.tif 000006
【図４−２】
2008276418.tif 000007
【図５】
2008276418.tif 000008
【図６】
2008276418.tif 000009
【図７】
2008276418.tif 000010
【図８】
2008276418.tif 000011
【図９】
2008276418.tif 000012
【図１０】
2008276418.tif 000013
【図１１】
2008276418.tif 000014
【図１２】
2008276418.tif 000015