(57)【要約】      （修正有）【課題】文書から動詞をまたぐ長い名詞句を抽出する日本語名詞句抽出装置、日本語名詞句抽出方法および日本語名詞句抽出プログラムを提供する。【解決手段】抽出装置１において、生成部１５ａが、入力された文を構成する文節間の係り受け関係を用いて、文節間の述語項構造を表す木構造を生成し、特定部１５ｂが、生成された木構造において文末から文頭の方向へ分岐する分岐箇所の文節を用いて、該木構造の分岐箇所から次の分岐箇所まで連接する文節列である幹部と、各分岐箇所から分岐する枝である文節とを特定し、抽出部１５ｃが、幹部内の名詞を探索して被修飾語として抽出し、該被修飾語から文頭の方向に該幹部の枝をたどって該被修飾語を修飾する文節列を修飾語として抽出し、連結部１５ｄが、抽出された修飾語と被修飾語とを連結して名詞句として出力する。【選択図】図１
2019128822.tif 000002
【特許請求の範囲】
【請求項１】
入力された文を構成する文節間の係り受け関係を用いて、前記文節間の述語項構造を表す木構造を生成する生成部と、
生成された前記木構造において文末から文頭の方向へ分岐する分岐箇所の文節を用いて、該木構造の分岐箇所から次の分岐箇所まで連接する文節列である幹部と、各分岐箇所から分岐する枝である文節とを特定する特定部と、
前記幹部内の名詞を探索して被修飾語として抽出し、該被修飾語から文頭の方向に該幹部の枝をたどって該被修飾語を修飾する文節列を修飾語として抽出する抽出部と、
抽出された前記修飾語と前記被修飾語とを連結して名詞句として出力する連結部と、
を備えることを特徴とする日本語名詞句抽出装置。
【請求項２】
前記抽出部は、文末から文頭の方向へ順に、前記枝ごとに、前記被修飾語と該被修飾語を修飾する修飾語とを抽出する処理を繰り返すことを特徴とする請求項１に記載の日本語名詞句抽出装置。
【請求項３】
前記抽出部は、前記被修飾語に文節内で先行する形態素、前記被修飾語に幹部内で先行する文節列および前記被修飾語の幹部の枝を修飾語として抽出することを特徴とする請求項１または２に記載の日本語名詞句抽出装置。
【請求項４】
前記抽出部は、前記被修飾語を抽出する際に、動詞接尾辞または動詞活用語尾が連接されている名詞を対象外とすることを特徴とする請求項１〜３のいずれか１項に記載の日本語名詞句抽出装置。
【請求項５】
前記抽出部は、前記修飾語を抽出する際に、前記枝のうち連用助詞で終わる文節を対象外とすることを特徴とする請求項１〜４のいずれか１項に記載の日本語名詞句抽出装置。
【請求項６】
日本語名詞句抽出装置で実行される日本語名詞句抽出方法であって、
入力された文を構成する文節間の係り受け関係を用いて、前記文節間の述語項構造を表す木構造を生成する生成工程と、
生成された前記木構造において文末から文頭の方向へ分岐する分岐箇所の文節を用いて、該木構造の分岐箇所から次の分岐箇所まで連接する文節列である幹部と、各分岐箇所から分岐する枝である文節とを特定する特定工程と、
前記幹部内の名詞を探索して被修飾語として抽出し、該被修飾語から文頭の方向に該幹部の枝をたどって該被修飾語を修飾する文節列を修飾語として抽出する抽出工程と、
抽出された前記修飾語と被修飾語とを連結して名詞句として出力する連結工程と、
を含んだことを特徴とする日本語名詞句抽出方法。
【請求項７】
入力された文を構成する文節間の係り受け関係を用いて、前記文節間の述語項構造を表す木構造を生成する生成ステップと、
生成された前記木構造において文末から文頭の方向へ分岐する分岐箇所の文節を用いて、該木構造の分岐箇所から次の分岐箇所まで連接する文節列である幹部と、各分岐箇所から分岐する枝である文節とを特定する特定ステップと、
前記幹部内の名詞を探索して被修飾語として抽出し、該被修飾語から文頭の方向に該幹部の枝をたどって該被修飾語を修飾する文節列を修飾語として抽出する抽出ステップと、
抽出された前記修飾語と被修飾語とを連結して名詞句として出力する連結ステップと、
をコンピュータに実行させる日本語名詞句抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、日本語名詞句抽出装置、日本語名詞句抽出方法および日本語名詞句抽出プログラムに関する。
【背景技術】
【０００２】
一般に、ソフトウェアの開発において、要件定義書や基本設計書等の上流工程の文書の記述内容は、一意に解釈されなければならない。そのためには、同一の概念は同一の表現で記述されていることが必要である。例えば、「クラスタに組み込み前のノード」と「クラスタに組み込まれていないノード」とは、似た表記の異なる概念である。
【０００３】
概念は、複数の単語が集まって全体として一つの名詞として働く名詞句で文書に表記される。既存の文書から抽出された名詞句の一覧を参照して新たな文書を作成すれば、新たな文書と既存の文書とで概念の表記を統一することが可能となり、概念の表記の統一された文書群の作成が可能となる。
【０００４】
従来、文書検索、自動翻訳、専門用語集作成等の自然言語処理分野において、名詞句の抽出方法が開示されている。例えば、「名詞」と「助詞」が連続する節、または「名詞」と「助詞」と「形容詞」とが連続する節を名詞句として抽出する技術や、名詞的要素が連接した複合語の形式の名詞句を抽出する技術（非特許文献１参照）が開示されている。また、予め単語列の品詞のルールを定義してルールにマッチする単語列を抽出する技術（特許文献１参照）が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２４１３１９号公報
【非特許文献】
【０００６】
【非特許文献１】小山照夫，影浦峡，竹内孔一，“日本語専門分野テキストコーパスからの複合語用語の抽出”，情報処理学会研究報告，NL  Vol.2006  No.124，2006年，pp.55-60
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の技術では、「クラスタに組み込まれていないノード」、「契約情報とルーチング情報を反映するコマンド」等というように、あらゆる形式の動詞をまたぐ名詞句を抽出することは困難であった。
【０００８】
本発明は、上記に鑑みてなされたものであって、文書から動詞をまたぐ長い名詞句を抽出することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明に係る日本語名詞句抽出装置は、入力された文を構成する文節間の係り受け関係を用いて、前記文節間の述語項構造を表す木構造を生成する生成部と、生成された前記木構造において文末から文頭の方向へ分岐する分岐箇所の文節を用いて、該木構造の分岐箇所から次の分岐箇所まで連接する文節列である幹部と、各分岐箇所から分岐する枝である文節とを特定する特定部と、前記幹部内の名詞を探索して被修飾語として抽出し、該被修飾語から文頭の方向に該幹部の枝をたどって該被修飾語を修飾する文節列を修飾語として抽出する抽出部と、抽出された前記修飾語と前記被修飾語とを連結して名詞句として出力する連結部と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、文書から動詞をまたぐ長い名詞句を抽出することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の一実施形態に係る抽出装置の概略構成を示す模式図である。
【図２】図２は、生成部の処理を説明するための説明図である。
【図３】図３は、生成部の処理を説明するための説明図である。
【図４】図４は、特定部の処理を説明するための説明図である。
【図５】図５は、特定部の処理を説明するための説明図である。
【図６】図６は、抽出部の処理を説明するための説明図である。
【図７】図７は、抽出部の処理を説明するための説明図である。
【図８】図８は、抽出部の処理を説明するための説明図である。
【図９】図９は、抽出部の処理を説明するための説明図である。
【図１０】図１０は、本実施形態の抽出処理手順を示すフローチャートである。
【図１１】図１１は、本実施形態の抽出処理手順を示すフローチャートである。
【図１２】図１２は、本実施形態の抽出処理手順を示すフローチャートである。
【図１３】図１３は、本実施形態の抽出処理手順を示すフローチャートである。
【図１４】図１４は、抽出処理の効果を説明するための説明図である。
【図１５】図１５は、抽出処理の効果を説明するための説明図である。
【図１６】図１６は、抽出プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１３】
［抽出装置の構成］
まず、図１を参照して、本実施形態に係る日本語名詞句抽出装置の概略構成を説明する。図１に示すように、本実施形態に係る抽出装置１は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１と出力部１２と通信制御部１３と、記憶部１４と、制御部１５とを備える。抽出装置１は、後述する抽出処理を実行して、文書から動詞をまたぐ名詞句を出力する。
【００１４】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、例えば、後述する抽出処理により出力された名詞句等を操作者に対して出力する。
【００１５】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介したサーバ等の外部の装置と制御部１５との通信を制御する。
【００１６】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４には、抽出装置１を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。この記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００１７】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図１に例示するように、生成部１５ａ、特定部１５ｂ、抽出部１５ｃおよび連結部１５ｄとして機能する。
【００１８】
生成部１５ａは、入力された文を構成する文節間の係り受け関係を用いて、文節間の述語項構造を表す木構造を生成する。具体的には、生成部１５ａは、まず、入力部１１あるいは通信制御部１３を介して入力されたテキストから文を抽出し、単文に分割する。
【００１９】
ここで、文とは、改行もしくは句点「。」で区切られる文字列である。この文には、文として成立する文言が複数含まれる場合がある。例えば、「システムＸは加入者データの一元管理を行うので、二重故障時でもサービス提供を継続する必要がある。」という文は、「システムＸは加入者データの一元管理を行う」と「二重故障時でもサービス提供を継続する必要がある。」との単独で文として成立する文言（以下、単文と記す。）が２つ含まれる。このような場合に、生成部１５ａは、文を単文に分割する。
【００２０】
そこで、生成部１５ａは、まず、入力されたテキストを改行もしくは句点「。」で区切って文を抽出する。次に、生成部１５ａは、ＣａｂｏＣｈａ等の周知の係り受け解析器を用いて文の係り受け解析を行って、形態素を文節ごとにまとめ上げる。また、生成部１５ａは、文の文頭の接続詞を削除する。
【００２１】
次に、生成部１５ａは、以下の分割条件を満たす文節を探索し、文頭の文節から分割条件を満たす当該文節までを１文、当該文節の次の文節から文末の文節までを１文とする。そして、生成部１５ａは、各文に対して再び係り受け解析器を用いて文の係り受け解析を行って、形態素を文節ごとにまとめ上げる処理を繰り返す。
【００２２】
ここで、分割条件とは、次の３つの条件のいずれかである。１つ目の条件は、当該文節に含まれる形態素が動詞語幹１つのみであることである。２つ目の条件は、当該文節に含まれる形態素が形容詞語幹１つのみであることである。３つ目の条件は、当該文節に含まれる形態素の中に、動詞語幹または形容詞語幹があり、かつ接続の動詞接尾辞または接続の形容詞接尾辞があり、文節の最後の形態素が何等かの品詞の連用形もしくは連用の接続接尾辞であることである。ここで、連用とは用言すなわち動詞、形容詞または形容動詞に連なる語形のことである。
【００２３】
例えば、「花子は／毎朝／起き、／毎夜／寝る。」という文において、文節「起き、」には、動詞語幹「起き、」のみが含まれ、上記の１つ目の条件を満たす。したがって、この文は「花子は毎朝起き、」と「毎夜寝る。」との２文に分割される。なお、「／」は文節の区切りを表す。
【００２４】
また、「この島は／東京からの／直行便が／ないので、／那覇で／乗り換える／必要がある。」という文において、文節「ないので、」は、形容詞語幹「な」、接続の形容詞接尾辞「い」、連用の接続接尾辞「ので」を含むことから、上記の３つ目の条件を満たす。したがって、この文は、「この島は東京からの直行便がないので、」と「那覇で乗り換える必要がある。」との２文に分割される。
【００２５】
一方、上記の分割条件を満たす文節がない場合には、生成部１５ａは、処理対象の文を単文とみなす。以上のようにして、生成部１５ａは、入力されたテキストから文を抽出し、単文に分割する。
【００２６】
次に、生成部１５ａは、単文に対してＪｄｅｐ等の周知の係り受け解析器を用いて係り受け解析を行って、形態素を文節ごとにまとめ上げ、文節間の係り受け関係を取得する。また、生成部１５ａは、取得した文節間の係り受け関係を用いて、文節間の述語項構造を表す木構造を生成する。述語項構造とは、何等かの事態を記述する述語と、述語が表す意味を補う働きをする項との関係を意味する。
【００２７】
ここで、図２および図３は、生成部１５ａの処理を説明するための説明図である。まず、生成部１５ａは、図２に示すように、文節間の係り受け解析結果を取得する。図２に示す例では、「文節Ｎ  係り先＝Ｍ」は、Ｎ番目の文節がＭ番目の文節に係ることを表し、また、この行に続く形態素列がＮ番目の文節に属することを表している。また、「形態素Ｎ  表記  品詞：副品詞…」は、Ｎ番目の形態素の字面と、推定された品詞と、活用形等の品詞内の分類を示す副品詞を表している。
【００２８】
図２には、例えば、０番目の文節「データ反映コマンドは」、７番目の文節「コマンドである」に係ることが示されている。すなわち、０番目の文節の係り先が７番目の文節であり、７番目の文節の係り元が０番目の文節である。また、０番目の文節は、名詞「データ」、名詞「反映」、名詞「コマンド」および連用助詞「は」の４つの形態素で構成されることが示されている。
【００２９】
また、図３に示すように、生成部１５ａは、図２に例示した文節間の係り受け解析結果から、図３（ａ）に例示する文節間の係り受け関係を導出し、図３（ｂ）に例示する文節間の述語項構造を表す木構造を生成する。図３に示すように、文節間の述語項構造を表す木（ツリー）構造は、文末から文頭の方向へ分岐したサブツリーを含む再帰的な構造になっている。
【００３０】
木構造を生成する際、生成部１５ａは、図３に例示するように、分岐箇所の文節にラベル「branch」を付与し、分岐先の枝である文節（サブツリーのルートとなる文節）にラベル「subroot」を付与する。具体的には、生成部１５ａは、次の付与条件に該当する文節に、ラベル「branch」およびラベル「subroot」を付与する。
【００３１】
ラベルの付与条件は、次の５つである。１つ目に、当該文節が用言性文節であり、当該文節の係り元の文節が連用の格助詞で終わっている場合に、生成部１５ａは、当該文節にラベル「branch」を付与する。
【００３２】
ここで、用言性文節とは、次の３つの条件のいずれかを満たす文節とする。まず、文節の主辞が動詞、形容詞、形容動詞のいずれかである場合に、当該文節は用言性文節とする。例えば、文節「入れ＋る」、文節「移＋る」は、この条件に該当する用言性文節である。なお、主辞とは、文節中の形態素のうち最後尾の自立語とする。例えば、文節「上位＋装置＋から」の主辞は「装置」であり、文節「入れ＋る」の主辞は「入れ」である。
【００３３】
また、文節の主辞が名詞であり、その次に動詞接尾辞「する」「される」が続く場合に、当該文節は用言性文節とする。例えば、文節「旅行＋する」、文節「反映＋する」、文節「指定＋される」は、この条件に該当する用言性文節である。また、文節の主辞が名詞であり、文節の最後が判定詞である場合に、当該文節は用言性文節とする。例えば、文節「コマンド＋だ」は、この条件に該当する用言性文節である。
【００３４】
１つ目のラベルの付与条件について、例えば、文節「反映する」は、名詞「反映」＋「する」からなる用言性文節であるので、連用の格助詞「に」で終わる文節「ＤＢに」が係っている場合には、文節「反映する」はこの条件に該当する。その場合には、生成部１５ａは、文節「反映する」にラベル「branch」を付与する。図３に例示した木構造においては、文節「反映する」はこの条件に該当しないので、ラベル「branch」は付与されない。
【００３５】
また、文節「指定された」は、名詞「指定」＋「され（る）」からなる用言性文節であって、連用の格助詞「から」で終わる文節「上位装置から」が係っているので、文節「指定された」はこの条件に該当する。したがって、文節「指定された」にラベル「branch」が付与される。
【００３６】
ラベルの付与条件の２つ目として、当該文節が文末文節であり、当該文節の主辞が名詞であり、当該文節の係り元の文節が連用の格助詞または連用助詞で終わっている場合に、生成部１５ａは当該文節にラベル「branch」を付与する。ここで、連用助詞は「は」または「も」とする。例えば、図３に例示した木構造において、文節「コマンド＋で＋あ＋る」は文末文節であり、主辞「コマンド」が名詞である。また、この文節に、連用助詞「は」で終わる文節「データ＋反映＋コマンド＋は」が係っている。したがって、生成部１５ａは、文節「コマンドである」にラベル「branch」を付与する。
【００３７】
ラベルの付与条件に３つ目として、当該文節に複数の文節が係っている場合に、生成部１５ａは当該文節にラベル「branch」を付与する。例えば、図３に例示した木構造において、文節「一括して」には、文節「契約情報を」と文節「ＤＢに」との２つの文節が係っているので、生成部１５ａは、文節「一括して」にラベル「branch」を付与する。
【００３８】
ラベルの付与条件に４つ目として、当該文節が連用助詞で終わっている場合に、生成部１５ａは当該文節にラベル「subroot」を付与する。例えば、文節「データ＋反映＋コマンド＋は」は、連用助詞「は」で終わっているので、生成部１５ａは、文節「データ反映コマンドは」にラベル「subroot」を付与する。
【００３９】
ラベルの付与条件の５つ目として、係り先の文節にラベル「branch」が付与されている場合に、生成部１５ａは、当該文節にラベル「subroot」を付与する。例えば、図３に例示した木構造において、文節「一括して」にラベル「branch」が付与されているので、生成部１５ａは、この文節に係る文節「契約情報を」と文節「ＤＢに」とに、ラベル「subroot」を付与する。また、文節「指定された」にラベル「branch」が付与されているので、生成部１５ａは、この文節に係る文節「上位装置から」にラベル「subroot」を付与する。
【００４０】
特定部１５ｂは、生成された木構造において文末から文頭の方向へ分岐する分岐箇所の文節を用いて、該木構造の分岐箇所から次の分岐箇所まで連接する文節列である幹部と、各分岐箇所から分岐する枝である文節とを特定する。
【００４１】
具体的には、特定部１５ｂは、まず、以下に説明する処理において木構造を文末から文頭の方向にたどる際にスタート地点とする文節を、「root」文節として特定する。特定部１５ｂは、最初に、係り先のない文節を「root」文節とする。図３に例示した木構造において、特定部１５ｂは、最初に、係り先のない文節「コマンドである。」を「root」文節とする。
【００４２】
ここで、図４および図５は、特定部１５ｂの処理を説明するための説明図である。まず、図４に例示するように、特定部１５ｂは、「root」文節から係り元の方向へ木構造の文節をたどり、次の分岐元条件のいずれかを満たす最も「root」文節寄りの文節を分岐元の文節Ｂとする。
【００４３】
分岐元条件とは、（１）ラベル「branch」が付与されている文節、（２）係り元の文節にラベル「subroot」が付与されている文節、（３）係り元のない文節、の少なくともいずれかに該当する文節である。
【００４４】
図３に例示した木構造において、例えば、「root」文節が文節「コマンドである。」である場合には、この文節「コマンドである。」は、条件（１）を満たす。また、この文節の２つの係り元の文節のうち、少なくとも文節「データ反映コマンドは」は、ラベル「subroot」が付与されているので、条件（２）を満たし、条件（３）は満たさない。したがって、特定部１５ｂは、この文節「コマンドである。」を分岐元の文節Ｂとする。
【００４５】
また、「root」文節が文節「反映する」である場合には、この文節「反映する」は、条件（１）に該当しない。また、この文節の係り元の文節「一括して」にラベル「subroot」が付与されていないので、条件（２）にも条件（３）にも該当しない。係り元の方向へたどった次の文節「一括して」は、条件（１）を満たす。また、この文節の２つの係り元の文節のうち、少なくとも文節「契約情報を」は、ラベル「subroot」が付与されているので、条件（２）を満たし、条件（３）は満たさない。したがって、特定部１５ｂは、文節「一括して」を分岐元の文節Ｂとする。
【００４６】
また、「root」文節が文節「契約情報を」である場合には、特定部１５ｂは、同様にこの文節「契約情報を」から係り元の方向へ文節をたどることにより、条件（１）および条件（２）を満たす文節「指定された」を分岐元の文節Ｂとする。また、「root」文節が文節「上位装置から」である場合には、特定部１５ｂは、この文節「上位装置から」は、条件（３）を満たすので、分岐元の文節Ｂとする。
【００４７】
次に、特定部１５ｂは、「root」文節から分岐元の文節Ｂまでの文節列を幹部として特定する。例えば、図４に例示するように、「root」文節が文節「コマンドである。」である場合には、文節列「コマンドである。」が幹部として特定される。また、「root」文節が文節「反映する」である場合には、文節列「一括して／反映する」が幹部として特定される。同様に、「root」文節が文節「契約情報を」である場合には、文節列「指定された／契約情報を」が幹部として特定される。また、「root」文節が文節「上位装置から」である場合には、文節列「上位装置から」が幹部として特定される。
【００４８】
次に、特定部１５ｂは、分岐元の文節Ｂに係る文節を枝として特定し、枝の一覧を枝リストとする。例えば、図５に例示するように、「root」文節が文節「コマンドである。」である場合には、文節「データ反映コマンドは」と文節「反映する」とが枝として特定され、枝リストに含められる。また、「root」文節が文節「反映する」である場合には、文節「契約情報を」と文節「ＤＢに」とが枝として特定され、枝リストに含められる。
【００４９】
また、「root」文節が文節「契約情報を」である場合には、文節「上位装置から」が枝として特定され、枝リストに含められる。また、「root」文節が文節「上位装置から」である場合には、分岐元の文節Ｂに係る文節がないため、枝リストは空となる。
【００５０】
抽出部１５ｃは、幹部内の名詞を探索して被修飾語として抽出し、該被修飾語から文頭の方向に該幹部の枝をたどって該被修飾語を修飾する文節列を修飾語として抽出する。この抽出部１５ｃは、文末から文頭の方向へ順に、枝ごとに、被修飾語と該被修飾語を修飾する修飾語とを抽出する処理を繰り返す。
【００５１】
また、抽出部１５ｃは、被修飾語に文節内で先行する形態素、被修飾語に幹部内で先行する文節列および被修飾語の幹部の枝を修飾語として抽出する。また、抽出部１５ｃは、被修飾語を抽出する際に、動詞接尾辞または動詞活用語尾が連接されている名詞を対象外とする。また、抽出部１５ｃは、修飾語を抽出する際に、枝のうち連用助詞で終わる文節を対象外とする。
【００５２】
ここで、図６〜図９は、抽出部１５ｃの処理を説明するための説明図である。具体的には、抽出部１５ｃは、図６に示すように、まず「root」文節から係り元の方向へ幹部内の文節をたどり、以下に説明する条件に従って、名詞句の被修飾語となり得る名詞を含む文節のうち、最も「root」文節寄りの文節を体言性文節として特定する。
【００５３】
最初に、抽出部１５ｃは、「root」文節が単文の文末文節である場合には、この「root」文節の第１形態素が名詞であり、当該文節の係り元の文節の末尾の形態素が連用の格助詞でも連用助詞でもなければ、この「root」文節を体言性文節として特定する。例えば、図６に例示した木構造において、「root」文節が文節「コマンドである。」である場合には、この文節「コマンドである。」は文末文節であり、この文節の第１形態素が名詞「コマンド」である。また、この文節に係る２つの係り元の文節のうち、少なくとも文節「データ反映コマンドは」の末尾の形態素が連用助詞「は」である。したがって、文節「コマンドである。」は、この条件では体言性文節として特定されない。
【００５４】
一方、例えば、体言止めの単文「システムが／応答を／返すまでの／区間」において、「root」文節が文末文節である文節「区間」である場合には、この文節に係る唯一の係り元の文節「返すまでの」の末尾の形態素は格助詞「の」であって、連用の格助詞ではない。したがって、文節「区間」が、この条件によって体言性文節として特定される。
【００５５】
上記の処理により体言性文節が特定されなかった場合に、抽出部１５ｃは、幹部内で次の条件のいずれかを満たす文節を体言性文節として探索する。
【００５６】
まず、文節の主辞が名詞または未知語であり、その主辞で終わる文節を体言性文節とする。例えば、文節「契約＋情報」は、主辞「情報」で終わっているため、体言性文節である。なお、未知語とは、専門用語や固有名詞等の係り受け解析器が品詞を特定できなかった語であり、本実施形態では名詞として扱う。
【００５７】
また、文節の主辞が名詞または未知語であり、その次が動詞接尾辞「する」、動詞活用語尾「さ」「し」「すれ」「せよ」のいずれでもない場合に、その文節を体言性文節とする。例えば、文節「契約＋情報＋を」は、主辞「情報」に格助詞「を」が連なるため、体言性文節である。一方、文節「反映＋さ＋れ＋る」は、主辞「反映」に動詞活用語尾「さ」が連なるため、体言性文節ではない。
【００５８】
図６に例示した木構造において、「root」文節が文節「コマンドである。」である場合には、この文節「コマンドである。」の主辞「コマンド」が名詞であり、その次が動詞接尾辞「する」、動詞活用語尾「さ」「し」「すれ」「せよ」のいずれでもない。したがって、文節「コマンドである。」が体言性文節として特定される。また、「root」文節が文節「反映する」である場合には、幹部「一括して／反映する」に体言性文節が見つからず、体言性文節が特定されない。また、「root」文節が文節「契約情報を」である場合には、上記のとおり、文節「契約情報を」が体言性文節として特定される。また、「root」文節が文節「上位装置から」である場合には、文節「上位装置から」が体言性文節として特定される。
【００５９】
次に、抽出部１５ｃは、図７〜図９に例示するように、特定された体言性文節を用いて、被修飾語と修飾語とを抽出する。具体的には、抽出部１５ｃは、まず、体言性文節から、その主辞である名詞（１つの形態素）を被修飾語として抽出する。また、主辞の前までの形態素列を修飾語とする。例えば、体言性文節「コマンドである。」から、被修飾語「コマンド」が抽出される。この体言性文節には修飾語がない。また、体言性文節「契約情報を」から、被修飾語「情報」と、修飾語「契約」とが抽出される。
【００６０】
また、抽出部１５ｃは、幹部内で体言性文節に先行する文節列を修飾語として抽出する。例えば、図７に例示したように、「root」文節が文節「コマンドである。」である場合には、幹部内で体言性文節「コマンドである。」に先行する文節がないので、修飾語はない。また、図８に例示したように、「root」文節が文節「契約情報を」である場合には、幹部内で体言性文節「契約情報を」に先行する文節列「指定された」が、修飾語として抽出される。
【００６１】
また、抽出部１５ｃは、幹部の枝リストに含まれる枝の文節うち、連用助詞「は」「も」で終わる文節を除外して、各文節から係り元の方向にたどれる文節全てを、単文内での出現順に結合して、修飾語として抽出する。例えば、図７に例示したように、「root」文節が文節「コマンドである。」である場合には、この「root」文節が属する幹部の枝リストの枝である文節「データ反映コマンドは」、文節「反映する」について確認する。この場合に、連用助詞「は」で終わる文節「データ反映コマンドは」は除外される。文節「反映する」から係り元の方向にたどれる文節は、「上位装置から」「指定された」「契約情報を」「ＤＢに」「一括して」である。そこで、抽出部１５ｃは、これらを単文内での出現順に結合して、修飾語「上位装置から指定された契約情報をＤＢに一括して反映する」を抽出する。
【００６２】
また、図８に例示したように、「root」文節が文節「契約情報を」である場合には、この「root」文節が属する幹部の枝リストの枝である文節「上位装置から」が修飾語として抽出される。なお、図９に例示したように、「root」文節が文節「上位装置から」である場合には、この「root」文節が属する幹部の枝リストは空であるため、修飾語は抽出されない。
【００６３】
連結部１５ｄは、抽出された修飾語と被修飾語とを連結して名詞句として出力する。具体的には、連結部１５ｄは、各幹部について上記手順で抽出された修飾語を単文内で出現する順に連結し、被修飾語を最後尾に連結することにより、名詞句を出力する。例えば、連結部１５ｄは、図７に例示したように、「root」文節が文節「コマンドである。」である場合には、名詞句「上位装置から指定された契約情報をＤＢに一括して反映するコマンド」を出力する。また、連結部１５ｄは、図８に例示したように、「root」文節が文節「契約情報を」である場合には、名詞句「上位装置から指定された契約情報」を出力する。また、連結部１５ｄは、図９に例示したように、「root」文節が文節「上位装置から」である場合には、名詞句「上位装置」を出力する。同様に、連結部１５ｄは、「root」文節が文節「データ反映コマンドは」である場合には、名詞句「データ反映コマンド」を出力する。
【００６４】
連結部１５ｄは、例えば、名詞句を出力部１２に出力し、ユーザに提示する。あるいは、連結部１５ｄは、名詞句を記憶部１４に蓄積して名詞句ＤＢとしておいて、ユーザに参照させてもよい。
【００６５】
次に、特定部１５ｂは、幹部の枝リストに含まれる枝の各々を新たな「root」文節に変更し、段落００４２〜００６５の処理を同様に繰り返す。
【００６６】
このようにして、文末から文頭の方向に順に、枝ごとに「root」文節が変更され、文中の名詞句が出力される。
【００６７】
［抽出処理］
次に、図１０〜図１３を参照して、抽出装置１の抽出処理について説明する。図１０〜図１３は、抽出装置１の抽出処理手順を示すフローチャートである。まず、図１０のフローチャートは、例えば、処理の開始を指示する操作入力があったタイミングで開始される。
【００６８】
最初に、生成部１５ａが、入力部１１あるいは通信制御部１３を介して入力されたテキストを改行もしくは句点「。」で区切り、文に分割する（ステップＳ１）。また、生成部１５ａは、分割した各々の文について、図１１を参照して後述する文の分割処理（ステップＳ１００）を実施して（ステップＳ２）、単文に分割する。生成部１５ａは、全ての文についてステップＳ１００の処理が終了したか否かを確認する（ステップＳ３）。全ての文についてステップＳ１００の処理が終了していない場合には（ステップＳ３，Ｎｏ）、ステップＳ１００の処理に戻って繰り返し、全ての文についてステップＳ１００の処理が終了した場合に（ステップＳ３，Ｙｅｓ）、一連の抽出処理を終了する。
【００６９】
図１１に示す文の分割処理（図１０のステップＳ１００）において、生成部１５ａは、係り受け解析器で文の係り受け解析を行って、文を文節ごとにまとめ上げる（ステップＳ１０１）。また、生成部１５ａは、文節の中に、文の区切りとなる分割条件を満たす文節があるか否かを確認する（ステップＳ１０２）。
【００７０】
分割条件を満たす文節がない場合に（ステップＳ１０２，Ｎｏ）、図１２を参照して後述する単文からの述語項構造ツリー獲得処理（ステップＳ１１０）を実行して、一連の文の分割処理を終了する。
【００７１】
一方、分割条件を満たす文節がある場合に（ステップＳ１０２，Ｙｅｓ）、生成部１５ａは、文の区切りとなる分割条件を満たす文節で文を前後に区切る（ステップＳ１０３）。また、区切った各々の文について、文の分割処理（ステップＳ２００）を再帰的に実施する（ステップＳ１０４）。ステップＳ２００の文の分割処理の内容は、図１１に示す文の分割処理と同様である。
【００７２】
そして、生成部１５ａは、区切った文の全てについて、ステップＳ２００の分割処理が終了したかを確認する（ステップＳ１０５）。区切った全ての文についてステップＳ２００の処理が終了していない場合には（ステップＳ１０５，Ｎｏ）、ステップＳ２００の処理に戻って繰り返し、区切った全ての文についてステップＳ２００の処理が終了した場合に（ステップＳ１０５，Ｙｅｓ）、一連の文の分割処理を終了する。
【００７３】
図１２に示す単文からの述語項構造ツリー獲得処理（図１１のステップＳ１１０）において、生成部１５ａは、単文の係り受け解析を行って（ステップＳ１１１）、文節間の係り受け関係を獲得する。また、生成部１５ａは、獲得した係り受け関係からツリー（述語項構造ツリー）を生成し、サブツリーのルートとなる文節にラベル「subroot」を付与し、分岐のある文節にラベル「branch」を付与する（ステップＳ１１２）。
【００７４】
そして、特定部１５ｂが、まず、係り先のない文節を「root」文節として（ステップＳ１１３）、図１３を参照して後述する述語項構造ツリーからの名詞句抽出処理（ステップＳ１２０）の処理を実行する。これにより、一連の単文からの述語項構造ツリー獲得処理が終了する。
【００７５】
図１３に示す述語項構造ツリーからの名詞句抽出処理（図１２のステップＳ１２０）において、特定部１５ｂが、述語項構造ツリーから「root」文節ごとに幹部を抽出する（ステップＳ１２１）。また、特定部１５ｂが、各幹部から分岐する枝の一覧を「枝リスト」として抽出する（ステップＳ１２２）。また、抽出部１５ｃが、幹部内で、名詞句の被修飾語となり得る名詞を含む文節のうち、最も「root」文節寄りの文節を体言性文節として探索する（ステップＳ１２３）。
【００７６】
抽出部１５ｃが幹部内に体言性文節を見つけた場合に（ステップＳ１２４，Ｙｅｓ）、体言性文節から被修飾語を抽出し、被修飾語に文節内で先行する形態素、被修飾語に幹部内で先行する文節列および被修飾語の幹部の枝を修飾語として抽出する。そして、連結部１５ｄが、抽出された修飾語を単文内で出現する順に連結し、被修飾語を最後尾に連結することにより、名詞句を出力する（ステップＳ１２５）。
【００７７】
また、抽出部１５ｃが幹部内に体言性文節を見つけなかった場合に（ステップＳ１２４，Ｎｏ）、ステップＳ１２６に処理を進める。ステップＳ１２６の処理では、「枝リスト」に含まれる各文節について、述語項構造ツリーからの名詞句抽出処理（ステップＳ３００）を再帰的に実施する。ステップＳ３００の述語億構造ツリーからの名詞句抽出処理の内容は、図１３に示す述語項構造ツリーからの名詞句抽出処理と同様である。
【００７８】
そして、抽出部１５ｃは、「枝リスト」の全ての文節について、ステップＳ３００の述語項構造ツリーの名詞句抽出処理が終了したかを確認する（ステップＳ１２７）。抽出部１５ｃは、「枝リスト」の全ての文節についてステップＳ３００の処理が終了していない場合には（ステップＳ１２７，Ｎｏ）、ステップＳ３００の処理に戻って繰り返す。また、抽出部１５ｃは、「枝リスト」の全ての文節についてステップＳ３００の処理が終了した場合に（ステップＳ１２７，Ｙｅｓ）、一連の述語項構造ツリーの名詞句抽出処理を終了する。
【００７９】
以上、説明したように、本実施形態の抽出装置１では、生成部１５ａが、入力された文を構成する文節間の係り受け関係を用いて、前記文節間の述語項構造を表す木構造を生成する。また、特定部１５ｂが、生成された前記木構造において文末から文頭の方向へ分岐する分岐箇所の文節を用いて、該木構造の分岐箇所から次の分岐箇所まで連接する文節列である幹部と、各分岐箇所から分岐する枝である文節とを特定する。また、抽出部１５ｃが、幹部内の名詞を探索して被修飾語として抽出し、該被修飾語から文頭の方向に該幹部の枝をたどって該被修飾語を修飾する文節列を修飾語として抽出する。また、連結部１５ｄが、抽出された前記修飾語と前記被修飾語とを連結して名詞句として出力する。
【００８０】
これにより、本実施形態の抽出装置１は、文書から動詞をまたぐ長い名詞句を抽出することができる。例えば、名詞句の中に名詞句が含まれているような場合にも、それぞれの粒度の名詞句を抽出することができる。また、抽出された名詞句を参照して文書を執筆することにより、名詞句が表す概念の表記を統一し、解釈誤りの少ない文書を作成することが可能となる。
【００８１】
ここで、図１４および図１５は、抽出装置１による抽出処理の効果を説明するための説明図である。例えば、ソフトウェア開発における要件定義書のレビューにおいて、従来、あいまいな表記を一意に解釈できるように、レビュワーからの「もっと正確に」「もっと詳しく」等の表記の改変を求めるコメントが多く見られた。つまり、レビュワー、レビューイともに、表記を洗練するために多くの稼働を費やしていた。
【００８２】
これに対し、図１４に例示するように、本実施形態の抽出装置１により、要件定義に関わる既存の文書から名詞句を抽出して名詞句ＤＢに蓄積しておき、要件定義書の執筆時に、名詞句ＤＢに正確で詳しい表記があれば選択して使うことができる。例えば、過去の仕様書や検討資料から「現在設定されている割当先ノードの情報」「加入者登録要求電文で指定されるノード情報」等の名詞にかかる修飾語からなる名詞句を抽出し、名詞句ＤＢに蓄積しておく。そして、要件定義書の作成者が名詞句ＤＢに、例えば「情報」で終わる名詞句を照会すると、「現在設定されている割当先ノードの情報」「加入者登録要求電文で指定されるノード情報」等の一覧を参照することができる。要件定義書の作成者は、照会した名詞句の一覧の中から、「加入者登録要求電文で指定されるノード情報」等の正確に詳しく表現されている名詞句を選択して使用することができる。これにより、正確で詳しい表記に統一された文書を効率よく作成することが可能となる。
【００８３】
また、ツールとして名詞句ＤＢを利用することにより、図１５に例示するように、レビューイ（文書作成者）がレビュー前にあいまいな表記や表記のぶれ等の表面的な欠陥を修正しておくことができる。これにより、レビュワーは文書の内容の吟味に専念することが可能となり、文書の品質向上が可能となる。例えば、従来は、文書作成者は一から言葉を考えなければならず、また、レビュワーは本来すべき重要な指摘の他に「言葉を補ってください」「正確に書いてください」等の文書の正確性に対する指摘をしなければならなかった。これに対し、名詞句ＤＢを活用することにより、文書作成者は正確で表現が統一された文書を速く作成することが可能となる。これにより、レビュワーは、内容の吟味に専念できるので、正確性に対する指摘が減少し、本来すべき重要な指摘の数が増加する。その結果、文書の品質向上が可能となる。
【００８４】
［プログラム］
上記実施形態に係る抽出装置１が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、抽出装置１は、パッケージソフトウェアやオンラインソフトウェアとして上記の抽出処理を実行する抽出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の抽出プログラムを情報処理装置に実行させることにより、情報処理装置を抽出装置１として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。
【００８５】
また、抽出装置１は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の抽出処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、抽出装置１は、文を入力とし、名詞句を出力する抽出処理サービスを提供するサーバ装置として実装される。この場合、抽出装置１は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の抽出処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、抽出装置１と同様の機能を実現する抽出プログラムを実行するコンピュータの一例を説明する。
【００８６】
図１６は、抽出プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００８７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００８８】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した情報は、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００８９】
また、抽出プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した抽出装置１が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００９０】
また、抽出プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００９１】
なお、抽出プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、抽出プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００９２】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００９３】
１  抽出装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１５  制御部
１５ａ  生成部
１５ｂ  特定部
１５ｃ  抽出部
１５ｄ  連結部
【図１】
2019128822.tif 000003
【図２】
2019128822.tif 000004
【図３】
2019128822.tif 000005
【図４】
2019128822.tif 000006
【図５】
2019128822.tif 000007
【図６】
2019128822.tif 000008
【図７】
2019128822.tif 000009
【図８】
2019128822.tif 000010
【図９】
2019128822.tif 000011
【図１０】
2019128822.tif 000012
【図１１】
2019128822.tif 000013
【図１２】
2019128822.tif 000014
【図１３】
2019128822.tif 000015
【図１４】
2019128822.tif 000016
【図１５】
2019128822.tif 000017
【図１６】
2019128822.tif 000018