(57)【要約】【課題】日本語の発話の中から、局所的な情報のみから節境界を検出する事ができる節境界検出装置を提供する。【解決手段】節境界検出装置３０は、文章に対して形態素解析を行なう事により得られた形態素列から、元の文章の節境界を検出するための節境界検出装置であって、形態素列の中において、所定の形態素の並びのパタンを検出するための検出処理部１４８と、パタンが検出された事に応答して、形態素列の中で、検出されたパタン中の形態素の並びを、その形態素の並びの末尾に節境界を表す節ラベルを付加したものと置換する処理を行なって形態素列を出力するための置換処理部１５４とを含む。【選択図】      図７
2004318300.tif 000002
【特許請求の範囲】
【請求項１】
文章に対して形態素解析を行なう事により得られた形態素列から、元の文章の節境界を検出するための節境界検出装置であって、
前記形態素列の中において、所定の形態素の並びのパタンを検出するための検出手段と、
前記パタンが検出された事に応答して、前記形態素列の中で、検出された前記パタン中の形態素の並びと所定の関係にある位置を節の境界に指定する予め定める処理を行なって前記形態素列を出力するための境界指定手段とを含む、節境界検出装置。
【請求項２】
前記境界指定手段は、前記パタンが検出された事に応答して、前記ある位置に節の境界を示す境界マーカを挿入して前記形態素列を出力するための手段を含む、請求項１に記載の節境界検出装置。
【請求項３】
前記検出手段は、前記形態素列の中において、複数個の前記パタンのうちの任意の一つを検出するための手段を含む、請求項１に記載の節境界検出装置。
【請求項４】
前記境界指定手段は、前記任意の一つを検出するための手段により前記パタンのうちの前記任意の一つが検出された事に応答して、検出された前記パタン中の形態素の並びと所定の関係にある位置に、検出された前記パタンに対応して予め定められた節境界ラベルを挿入するためのラベル挿入手段を含む、請求項３に記載の節境界検出装置。
【請求項５】
前記ある位置は、検出された前記パタン中の末尾の形態素の直後である、請求項１〜請求項４のいずれかに記載の節境界検出装置。
【請求項６】
前記検出手段は、
前記形態素列を順次読込んでＦＩＦＯ方式で記憶して出力するための一時記憶手段と、
前記一時記憶手段に記憶された形態素の配列の中に、前記所定の形態素の並びのパタンがある事を検出するための手段とを含み、
前記境界指定手段は、前記所定の形態素の並びのパタンがある事が検出された事に応答して、前記一時記憶手段の前記所定の形態素の並びのパタンまでを出力する様に前記一時記憶手段を制御するための手段と、
前記一時記憶手段から出力される前記所定の形態素の並びのパタンの末尾に、節境界を示すマーカを挿入するための手段とを含む、請求項１に記載の節境界検出装置。
【請求項７】
前記検出手段は、
前記形態素列を順次読込んでＦＩＦＯ方式で記憶して出力するための一時記憶手段と、
前記一時記憶手段に記憶された形態素の配列の中に、複数個の前記所定の形態素の並びのパタンのうちの任意の一つがある事を検出するための手段とを含み、
前記境界指定手段は、前記任意の一つのパタンが検出された事に応答して、前記一時記憶手段中の、前記検出されたパタンまでをＦＩＦＯ方式で出力する様に前記一時記憶手段を制御するための手段と、
前記任意の一つのパタンが検出された事に応答して、前記一時記憶手段から出力される前記パタンの末尾に、検出されたパタンに対応した節境界ラベルを挿入するための手段とを含む、請求項１に記載の節境界検出装置。
【請求項８】
コンピュータにより実行されると、当該コンピュータを、請求項１〜請求項７のいずれかに記載の節境界検出装置として動作させる、コンピュータプログラム。
【請求項９】
入力される日本語の文章に対して形態素解析処理を行ない、得られる形態素列を出力するための形態素解析手段と、
請求項１〜請求項７のいずれかに記載の節境界検出装置であって、前記形態素解析手段の出力を入力として受ける様に接続された節境界検出装置と、
前記節境界検出装置から出力される形態素列を、当該形態素列中の節境界によって節に分離するための節分離手段と、
前記節分離手段により分離された形態素列を入力とし、前記節分離手段から節を受けとった事に応答して、受けた節を翻訳するための機械翻訳手段とを含む、機械翻訳装置。
【請求項１０】
前記節境界検出装置は請求項６に記載の節境界検出装置であって、かつ、出力する形態素列の節境界に節境界マーカを挿入する機能を持ち、
前記節分離手段は、
前記節境界検出装置からの出力をＦＩＦＯ方式で一時記憶するための記憶手段と、
前記節境界検出装置から節境界マーカが出力された事に応答して、前記記憶手段に記憶された形態素列を前記機械翻訳手段に与え、機械翻訳を開始させるための手段とを含む、請求項９に記載の機械翻訳装置。
【請求項１１】
コンピュータにより実行されると、当該コンピュータを、請求項９または請求項１０に記載の機械翻訳装置として動作させる、コンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自然言語処理を適切に行なえる様にするための前処理を行なう装置に関し、特に、翻訳等の処理が適切に行なえる様に節単位に入力テキストを分離する前処理を行なうための節境界検出装置、そうした節境界検出装置を採用した機械翻訳装置、およびそれらのためのコンピュータプログラムに関する。
【０００２】
【従来の技術】
近年、独話（複数の発話のまとまりであって、講演、ニュース等、発話者が１人のもの）を対象とした自然音声コーパスの構築が進んでいる。講演、ニュースまたは学会発表等、１人の話者が話しつづける独話は、対話（複数の発話のまとまりであって、２人の発話者が発話を交換するもの）よりも１文の長さが長くなったり、文の構造が複雑化したりするという特徴を持つ事が知られている。
【０００３】
図１に、典型的な独話の例であるテレビジョンのニュース（日本語）、及び典型的な対話の例である旅行会話（対訳形式の日本語部分）での１文あたりの形態素数及び文節数を示す。図１から分かる様に、１文あたりの形態素数及び文節数のいずれにおいても、独話の方が対話よりもはるかに多い。
【０００４】
さらに、自発的な発話になるほど、明示的な文末表現の現れにくくなる傾向があり、文の境界を認識する事が困難になる。
【０００５】
独話又は対話等の音声認識を行なったり、翻訳を行なったりする自然言語処理技術では、従来、「文」を基本的な処理単位とする場合が大半である。
【０００６】
しかし、１文が長く、文末が確定しにくいという性格を持つ独話を自然言語処理の対象とする場合、文が長くなる事によって構文解析のあいまい性が爆発するという問題がある。また、文末がはっきりしないために、自然言語処理の対象となるものがはっきりせず、どこまで入力を待てば処理を始めることができるのかが分からないという問題が発生する。
【０００７】
こうした問題は、独話を機械翻訳する場合にも現れる。独話を機械翻訳する場合、発話に追従して翻訳を出力する同時通訳としての運用が望ましい。しかし上記した様に独話では１文が長くなるため、解析が失敗したり、その結果として翻訳が失敗したりするという問題がある。仮に翻訳が成功したとしても、同時通訳としての追従性に欠けるという問題がある。また、文末が確定しにくい場合、どの時点でどの部分を対象に翻訳を開始するかを定めることは難しい。
【０００８】
【非特許文献１】
益岡隆志・田窪行則著、「基礎日本語文法‐改訂版‐」、くろしお出版、１９９２
【発明が解決しようとする課題】
従って、特に独話について、発話の中で各種の処理を漸進的に進めておくために、文とは異なる単位を発話中で随時検出できる様にする事が望ましい。可能であれば、その処理単位は文よりも短いほうが望ましい。
【０００９】
文よりも短い処理単位として、述語を中心としたまとまりである「節」を用いる事が望ましいと考えられる。節は、統語的・意味的にまとまった単位であり、翻訳または文の要約等の処理を節単位で行なうと有効であると考えられる。そこで、節境界を自動的に検出する手法が必要となる。
【００１０】
節境界を検出する手法としてまず考えられるのは、構文解析器を用いて文を解析した結果から、節境界に相当する位置を特定する方法である。しかし、構文解析器は一般に入力として「文」を要求するものである。そのため、文末が入力されて構文解析が済むまでは、節境界の検出を始める事は難しい。この制約は、同時通訳の様に入力を漸進的に処理していく必要がある場合、望ましくない。漸進的な処理を行なうためには、発話の入力中であっても、局所的な情報のみから節境界の位置を検出できる事が望ましい。また、節境界により分離される節がどの様なものであるかを知る事ができれば、自然言語処理技術にとって有用なだけでなく、言語学的な分析にも応用できるため、より好ましい。
【００１１】
従って、本発明の目的は、日本語の発話の中から、局所的な情報のみから節境界を検出する事ができる節境界検出装置を提供する事である。
【００１２】
この発明の他の目的は、日本語の発話の中から、局所的な情報のみから節境界を随時検出する事ができる節境界検出装置を提供する事である。
【００１３】
この発明のさらに他の目的は、日本語の発話の局所的な情報のみから節境界を検出し、当該節境界により分離される節がどの様な種類の節かを判定する事ができる節境界検出装置を提供する事である。
【００１４】
この発明のさらに他の目的は、日本語の発話の中から節を随時検出し、節ごとに自動的に翻訳を行なう事ができる機械翻訳装置を提供する事である。
【００１５】
【課題を解決するための手段】
本発明の第１の局面に係る節境界検出装置は、文章に対して形態素解析を行なう事により得られた形態素列から、元の文章の節境界を検出するための節境界検出装置であって、形態素列の中において、所定の形態素の並びのパタンを検出するための検出手段と、パタンが検出された事に応答して、形態素列の中で、検出されたパタン中の形態素の並びと所定の関係にある位置を節の境界に指定する予め定める処理を行なって形態素列を出力するための境界指定手段とを含む。
【００１６】
好ましくは、境界指定手段は、パタンが検出された事に応答して、ある位置に節の境界を示す境界マーカを挿入して形態素列を出力するための手段を含む。
【００１７】
さらに好ましくは、検出手段は、形態素列の中において、複数個のパタンのうちの任意の一つを検出するための手段を含む。
【００１８】
境界指定手段は、任意の一つを検出するための手段により上記パタンのうちの任意の一つが検出された事に応答して、検出されたパタン中の形態素の並びと所定の関係にある位置に、検出されたパタンに対応して予め定められた節境界ラベルを挿入するためのラベル挿入手段を含んでもよい。
【００１９】
節境界ラベル又は節境界マーカが挿入される位置は、検出されたパタン中の末尾の形態素の直後でもよい。
【００２０】
好ましくは、検出手段は、形態素列を順次読込んでＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）方式で記憶して出力するための一時記憶手段と、一時記憶手段に記憶された形態素の配列の中に、所定の形態素の並びのパタンがある事を検出するための手段とを含み、境界指定手段は、所定の形態素の並びのパタンがある事が検出された事に応答して、一時記憶手段の所定の形態素の並びのパタンまでを出力する様に一時記憶手段を制御するための手段と、一時記憶手段から出力される所定の形態素の並びのパタンの末尾に、節境界を示すマーカを挿入するための手段とを含んでもよい。
【００２１】
さらに好ましくは、検出手段は、形態素列を順次読込んでＦＩＦＯ方式で記憶して出力するための一時記憶手段と、一時記憶手段に記憶された形態素の配列の中に、複数個の所定の形態素の並びのパタンのうちの任意の一つがある事を検出するための手段とを含み、境界指定手段は、任意の一つのパタンが検出された事に応答して、一時記憶手段中の、検出されたパタンまでをＦＩＦＯ方式で出力する様に一時記憶手段を制御するための手段と、任意の一つのパタンが検出された事に応答して、一時記憶手段から出力されるパタンの末尾に、検出されたパタンに対応した節境界ラベルを挿入するための手段とを含む。
【００２２】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータを、上記したいずれかの節境界検出装置として動作させるものである。
【００２３】
本発明の第３の局面に係る機械翻訳装置は、入力される日本語の文章に対して形態素解析処理を行ない、得られる形態素列を出力するための形態素解析手段と、上記したいずれかの節境界検出装置であって、形態素解析手段の出力を入力として受ける様に接続された節境界検出装置と、節境界検出装置から出力される形態素列を、当該形態素列中の節境界によって節に分離するための節分離手段と、節分離手段により分離された形態素列を入力とし、節分離手段から節を受けとった事に応答して、受けた節を翻訳するための機械翻訳手段とを含む。
【００２４】
好ましくは、節境界検出装置は出力する形態素列の節境界に節境界マーカを挿入する機能を持ち、節分離手段は、節境界検出装置からの出力をＦＩＦＯ方式で一時記憶するための記憶手段と、節境界検出装置から節境界マーカが出力された事に応答して、記憶手段に記憶された形態素列を機械翻訳手段に与え、機械翻訳を開始させるための手段とを含む。
【００２５】
本発明の第４の局面に係るコンピュータプログラムは、コンピュータにより実行されると、当該コンピュータを上記した機械翻訳装置として動作させるものである。
【００２６】
【発明の実施の形態】
［第１の実施の形態］
‐節境界検出の原理‐
構文解析を行なわずに節境界を検出するために、本実施の形態では、入力テキストを形態素解析し、形態素の局所的な連接関係のみを手掛かりとして節境界を検出する。そのために、形態素の局所的な連接関係をパタンに分類し、特定のパタンが検出された場合に節境界を特定するルールを作成し、このルールに従って自動的に節境界を特定する。この節境界検出ルールは、節境界の位置を発見するための形態素列パタンと、節境界の種類をあらわす節境界ラベルの組とからなっている。構文解析は必要としない。
【００２７】
‐構成‐
図２に、本実施の形態の節境界検出装置を採用した翻訳装置の機能ブロック図を示す。この実施の形態のシステムは、テキスト処理が可能な既存の言語処理系（具体的にはＰｅｒｌ処理系）を用い、節境界検出ルールをＰｅｒｌの正規表現置換を用いたスクリプトの形式で実装している。
【００２８】
図２を参照して、この翻訳装置３０は、ユーザからの起動コマンド３２に応答して、日本語の入力テキスト３４を英語に機械翻訳し、結果を翻訳出力３６として出力するためのものである。翻訳装置３０は、入力テキスト３４を形態素解析し、形態素列を出力するための形態素解析部５４を含む。形態素解析部５４としては、既存の形態素解析用プログラムを用いる事ができる。図３に、形態素解析用プログラムとしてよく知られているものの出力形式と出力例とを示す。図３の詳細については後述する。
【００２９】
再び図２を参照して、翻訳装置３０はさらに、上記した節境界検出ルールをＰｅｒｌの正規表現命令列からなるスクリプトの形で実装したプログラム５２と、形態素解析部５４の出力する形態素列に対してプログラム５２を適用する事により、節境界ごとに節ラベルが挿入された処理後のテキストを出力するための言語処理系５６と、言語処理系５６の出力をＦＩＦＯ方式で一時的に蓄積するバッファ５８と、言語処理系５６から節ラベルが出力されるごとに、バッファ５８に蓄積されたテキストを読出して出力する事により、テキストを節に分離するためのテキスト分離部６０と、テキスト分離部６０から与えられるテキストを英語に翻訳して翻訳出力３６として出力するための機械翻訳部６２と、ユーザからの起動コマンド３２に応答して入力テキスト３４およびプログラム５２を読込み、形態素解析部５４および言語処理系５６等を起動するためのオペレーティングシステム（ＯＳ）５０とを含む。ここで節の境界を示す情報を「節ラベル」と呼んでいるのは、節の種類を示す情報を含んでいるためである。この節ラベルは、そこに節境界が存在している事を表すものでもあり、節境界を示すマーカとしての役割も果たしている。
【００３０】
ＯＳ５０、言語処理系５６を備え、プログラム５２を実行する事からも分かる様に、翻訳装置３０は実質的にはコンピュータから構成されている。入力テキスト３４および翻訳出力３６はそれぞれ、標準入力および標準出力を示すが、本実施の形態では入力テキスト３４は所定のファイルから与えられ、翻訳出力３６も所定のファイルとして出力されるものとする。
【００３１】
図３を参照して、形態素解析部５４の出力形式８０について説明する。形態素解析部５４が出力する形態素は、出力形式８０に示される様に、形態素の出現形と、その品詞と、その活用形と、出現したときの活用型とからなる。「活用形」とは、動詞、助動詞、形容詞等の活用のしかたの分類を示すものである。例は「五段活用」「下二段活用」の如きものである。活用型とは、出現した形態素が、各活用形の中でどの様な活用をされているかを示すものである。例は「未然形」「連用形」「連体形」等の如きものである。
【００３２】
図３に、入力例８２として「私は学校へ行きました」という一文を示す。これを形態素解析部５４により形態素解析した結果を解析結果８４に示す。解析結果８４から明らかな様に、形態素解析部５４は入力テキスト３４を形態素解析し、出力形式８０に従った形式の形態素列を出力する機能を持つ。
【００３３】
図４に、節境界検出ルールの例を実装したＰｅｒｌによるコマンドの例を示す。図４を参照して、Ｐｅｒｌによる置換コマンドの一般形１００は、置換を示すコマンド「ｓ」と、置換の際に検索すべき検索文字列と、検索された文字列を置換すべき文字列と、置換の際のオプション機能を指定するオプション文字列とを「／（スラッシュ）」により区切った形式となっている。検索文字列及び置換文字列には、それぞれ「正規形」と呼ばれる形式を使用する事ができる。Ｐｅｒｌに限らず、この様な正規形が使用できる言語処理系は数多く存在する。正規形について必要な場合には以下で説明を加えてあるが、一般的な説明については各言語処理系の解説書等を参照されたい。
【００３４】
図４の基本形１０２により、本実施の形態でＰｅｒｌにより実装された節境界検出ルールの一般形を示す。基本形１０２は、一般形１００において、検索文字列を形態素列パタン１１０とし、置換文字列を「＄１  ￥／節ラベル￥／」という置換文字列表現１１２とし、オプションとして「ｇ」を指定したものである。
【００３５】
形態素列パタン１１０は丸カッコで囲まれている。これは置換文字列表現１１２の中の「＄１」に対応する。置換文字列表現１１２中の「＄１」は、この部分を検索文字列中で丸カッコで囲まれた文字列の中で１番目のものと置換する事を示す。検索文字列の中で丸カッコで囲まれた文字列は形態素列パタン１１０しかないので、＄１は形態素列パタン１１０により置換される。
【００３６】
置換文字列表現１１２の中の「￥」はエスケープ文字であり、この直後の一文字をコマンドの一部ではなく単なる文字として扱う事を示す。この例では、置換文字列が「／」を含んでいるのに対し、この「／」がコマンド中でも使用されているので、置換文字列中のスラッシュを単なる文字列として扱うために「￥」を使用している。節ラベルについては後述する。
【００３７】
オプション「ｇ」は、グローバルサーチを示す。すなわち、検索文字列で入力文字列を検索した結果、最初のマッチが見出されたところで検索を終了するのではなく、マッチがいくつ見出されても入力文字列の全体について検索および置換を行なう事を示す。
【００３８】
すなわち、基本形１０２によれば、形態素列パタン１１０にマッチする形態素列があれば、その形態素列の最後に「／節ラベル／」で示される文字列が挿入される事になる。
【００３９】
図４には、具体的な節境界検出ルールの第１の例１０４も示されている。この例１０４は、入力される形態素列中に「けれども」という出現形で「助詞‐接続助詞」という品詞を持つものがあれば、その部分を全て「けれども／並列節ケレドモ／」という文字列で置換せよ、というものである。
【００４０】
同じく図４には、具体的な節境界検出ルールの第２の例１０６も示されている。この例１０６は、入力される形態素列中に「連用タ接続」または「連用形」という活用型の形態素があり、その直後に「たら」という出現形で「助動詞」という品詞を持ち、「特殊・タ」という活用形で「仮定形」という活用型を持つパタンがあれば、それらを全て、その末尾に「／条件節タラ／」という文字列を付加したもので置換せよ、というものである。検索文字列中の「｜」は、「または」という意味を表す。
【００４１】
本実施の形態では、この様な節境界検出ルールとして３６１個のルールを用いている。全てのルールは、１個から３個の連接する形態素から構成されるパタンを持つ。入力には読点が含まれていない事を想定し、パタンに読点は含めていない。
【００４２】
図５に、本実施の形態で検出される節の種類の一部を示す。本実施の形態では、非特許文献１に記載されている従属節の形態（補足節、副詞節、連体節、および並列節）を増補及び改編して作成したもので、合計１４４種類の節を用いる。これらの中には、統語的に大きな切れ目になると考えられる主題「は」、談話標識、および感動詞を検出するパタンも含まれている。本明細書では、これらも含めて「節境界」と考える事とする。
【００４３】
本実施の形態で用いられている節ラベルは、実際には図５に示したものをさらに細かく分類したものである。例えば、「タメ節」の下位には「タメニ節」「タメニハ節」という節境界が設定してある。これら下位の節境界を合計すると１４４種類となるという事である。
【００４４】
図６に、プログラム５２の実際の形式を示す。図６を参照して、プログラム５２は、Ｐｅｒｌの書式に従ってＰｅｒｌの処理系へのパスを示す行（１行目）を含む。２行目は、入力されるテキストが存在する限り次の中かっこ「｛」および「｝」に囲まれた部分の処理を繰返し実行する事を示す命令である。この中かっこの中が、上記した節境界検出ルールの本体である。入力があると、ここに記載された全てのグローバル置換命令を実行し、置換後のテキストを末尾の「ｐｒｉｎｔ」命令によって標準出力に出力し、次の入力に対する処理に移る。
【００４５】
図７に、図２に示す言語処理系５６およびプログラム５２によって実現される節境界検出処理の実態をフローチャート形式で示す。言語処理系５６自体は図７に示すものと異なり汎用的な機能を備えたものであるが、ここではプログラム５２を言語処理系５６で実行する場合についてのみ、その動きを示す。後述する様に、プログラム５２および言語処理系５６により実現される処理を専用のプログラムで実装する場合には、その制御構造は例えばこの図７に示されたものの様になる。
【００４６】
図７を参照してこの処理は、関連するファイル（入力ファイルおよび出力ファイル等）をオープンするステップ１４０と、入力テキストファイルの１行目（改行コードまでの文字列）を読込むステップ１４２と、ステップ１４２の結果、入力ファイルの末尾（ＥＯＦ：Ｅｎｄ  Ｏｆ  Ｆｉｌｅ）に達したか否かを判定するステップ１４４とを含む。判定結果がＹＥＳであれば制御はステップ１６２に進み、さもなければ制御はステップ１４６に進む。なお、複数の入力ファイルに対して連続してこの処理を実行する事もできるが、ここでは説明を簡明にするために一つのファイルに対して処理を行なうものとする。
【００４７】
ステップ１４６では、初期処理を行なう。初期処理では、入力されたテキストに対し、節境界の検出処理を行なう上で妨げとなる様な要素を入力テキストから除去する処理を行なう。
【００４８】
続いてステップ１４８では、１番目の置換コマンドのグローバル検索を行なう。ステップ１５０では、プログラム５２内の全ての置換コマンドを実行したか否かを判定する。全て実行が終わっていれば制御はステップ１５８に進む。さもなければ制御はステップ１５２に進む。
【００４９】
ステップ１５２では、検索の結果、置換コマンドの検索文字列の正規表現にマッチした部分があったか否かを判定する。マッチがあれば制御はステップ１５４に進む。さもなければ制御はステップ１５０に戻る。
【００５０】
ステップ１５４では、マッチがあった部分を全て置換文字列で置換する処理が行なわれる。全て置換が終わったらステップ１５６で処理を次の置換コマンドに進めて制御をステップ１５０に戻す。
【００５１】
ステップ１５０で全ての置換コマンドの実行が完了したと判定された場合、制御はステップ１５８に進む。ステップ１５８では、置換処理が完了した１行分のテキストを標準出力に書き出す処理が実行される。続いて入力テキストファイルの次の１行を読込む。制御はこの後ステップ１４４に戻る。
【００５２】
一方、ステップ１４４で入力ファイルのＥＯＦに到達したと判定された場合、ステップ１６２で関連のファイルを全てクローズして処理を終了する。
【００５３】
‐動作‐
この機械翻訳装置は以下の様に動作する。図２を参照して、ユーザが起動コマンド３２を入力したものとする。起動コマンド３２は、入力テキスト３４とプログラム５２とを特定する情報を含む。
【００５４】
ＯＳ５０はこのコマンドに応答して形態素解析部５４を起動し、入力テキスト３４を開いて形態素解析部５４で形態素解析を行なわせる。一方ＯＳ５０は、起動コマンド３２により特定されるプログラム５２を記憶装置から読出す。前述の通り、プログラム５２の１行目にはこのプログラム５２を実行するための言語処理系へのパスが記載されている。ＯＳ５０はこのパスに従って言語処理系５６を起動する。
【００５５】
形態素解析部５４から出力される形態素列は言語処理系５６に与えられる。言語処理系５６は、この形態素列に対してプログラム５２に含まれる節境界検出ルールを適用し、テキスト中の節境界に節ラベルを挿入する処理を行ない、結果をバッファ５８に出力する。
【００５６】
テキスト分離部６０は、言語処理系５６から節ラベルが出力されるごとに、バッファ５８に格納されたテキストを読出し、機械翻訳部６２に与える。
【００５７】
機械翻訳部６２は、与えられる節について機械翻訳を行ない、結果を翻訳出力３６として出力する。
【００５８】
‐処理例‐
図８を参照して、テキスト１９０に対して節境界検出処理を行なった。その結果を処理後のテキスト１９２として示す。処理後のテキスト１９２は、節境界に対応する形態素列パタンが検出された場所に挿入された節ラベルを含んでいる。たとえば「自主避難が呼びかけられている○×町の▽▽地区では」という部分は「自主避難が呼びかけられている」という節と「○×町の▽▽地区では」以下の節とに分離されている。そして、「自主避難が呼びかけられている」という節には「連体節」という節ラベルが付されている。この節ラベルはスラッシュによって本文と区切られて挿入されている。
【００５９】
‐性能評価のための実験‐
本実施の形態に係るプログラム５２および言語処理系５６により実装した節境界検出装置の性能を評価するために、性質の異なる複数のコーパスに対してルールを適用し、その結果を分析した。用意したコーパスの概略の規模を図９に示す。
【００６０】
図９に示される様に、コーパスは全部で５つ用意した。そのうち３つは独話コーパスであり、２つは対話コーパスである。
【００６１】
第１の独話コーパスは放送でのいわゆる解説番組を書き起こしたものである。第２の独話コーパスはテレビジョン放送でのニュースの原稿コーパスである。第３の独話コーパスは経済系の複数の新聞記事データベースである。一方、第１の対話コーパスは、出願人において準備したバイリンガルの旅行会話を題材とする模擬会話コーパスである。第２の対話コーパスは、海外旅行で用いられる典型的な表現を収集したコーパスである。
【００６２】
図９を参照して、１文の長さは第２の独話コーパスが突出して長く、第１および第３の独話コーパスがこれに次ぐ事が分かる。これに比して対話コーパス中の文はいずれも極端に短い事が分かる。
【００６３】
これらコーパスに上記した節境界検出処理を行なった。検出された節の数、１文に含まれる平均節数、各節に含まれる平均形態素数と平均文節数とを図１０に示す。図１０から、節境界検出処理によって検出された一つの節の長さ（形態素数および文節数）は、独話、対話を問わずコーパス間でほとんど差がない事が分かる。
【００６４】
‐評価‐
さらに節境界検出装置の性能を評価するため、各コーパスから５００文を選択し、人手で節境界の検出と判定とを行ない、正解データを作成した。上記した節境界検出装置による節境界検出処理の結果と正解データとを照合し、適合率と再現率とを求めた。その結果を図１１に表形式で示す。
【００６５】
図１１を参照して、全てのコーパスにおいて、適合率と再現率ともに非常に高く、非常によい精度で節境界が検出されている事が分かる。この様によい精度で節境界を検出し、節ごとに翻訳処理を行なう事で、機械翻訳の精度も高くなり、結果として良好な翻訳を得る事が可能になる。しかも上記した処理では、形態素列が所定の節境界パタンにマッチすれば節境界が検出できる。文末の入力が行なわれなくても漸進的に節の検出を行なう事ができる。そのため、同時翻訳等に適している。
【００６６】
‐節境界検出ルールの実際例‐
以下に、実験で実際に使用した節境界検出ルール（Ｐｅｒｌの置換コマンド形式）を示す。ここでは、ルールに相当する置換コマンドのみを示し、スクリプトの制御に属する部分は省略してある。また、実際のスクリプトにおいては１行で記載されるべきところを複数行に分けて記載した部分がある。
【００６７】
＜ルールの開始＞
【００６８】
【表１】
2004318300.tif 000003
【００６９】
【表２】
2004318300.tif 000004
【００７０】
【表３】
2004318300.tif 000005
【００７１】
【表４】
2004318300.tif 000006
【００７２】
【表５】
2004318300.tif 000007
【００７３】
【表６】
2004318300.tif 000008
【００７４】
【表７】
2004318300.tif 000009
【００７５】
【表８】
2004318300.tif 000010
【００７６】
【表９】
2004318300.tif 000011
【００７７】
【表１０】
2004318300.tif 000012
【００７８】
【表１１】
2004318300.tif 000013
【００７９】
【表１２】
2004318300.tif 000014
【００８０】
【表１３】
2004318300.tif 000015
【００８１】
【表１４】
2004318300.tif 000016
【００８２】
【表１５】
2004318300.tif 000017
【００８３】
【表１６】
2004318300.tif 000018
【００８４】
【表１７】
2004318300.tif 000019
【００８５】
【表１８】
2004318300.tif 000020
【００８６】
【表１９】
2004318300.tif 000021
【００８７】
【表２０】
2004318300.tif 000022
【００８８】
【表２１】
2004318300.tif 000023
【００８９】
【表２２】
2004318300.tif 000024
【００９０】
【表２３】
2004318300.tif 000025
【００９１】
【表２４】
2004318300.tif 000026
【００９２】
【表２５】
2004318300.tif 000027
【００９３】
【表２６】
2004318300.tif 000028
【００９４】
【表２７】
2004318300.tif 000029
【００９５】
【表２８】
2004318300.tif 000030
【００９６】
【表２９】
2004318300.tif 000031
【００９７】
【表３０】
2004318300.tif 000032
＜ルールの終了＞
【００９８】
なお、本実施の形態では、言語処理系５６から節境界ラベルが出力されるごとに、テキスト分離部６０がバッファ５８から形態素列を読出して機械翻訳部６２に与え、それによって機械翻訳部６２による機械翻訳がスタートする。しかし本発明はその様な実施の形態に限定されるわけではない。たとえば言語処理系５６の出力を全て一旦バッファ５８に記憶し、その後にバッファ５８の内容を節境界ラベルにより節ごとに分離して機械翻訳部６２に与える様にしてもよい。
【００９９】
また、本実施の形態では、節境界を示す形態素列のパタンが検出されると、その末尾に節境界ラベルを挿入している。しかし本発明はその様な実施の形態には限定されず、そのパタンと所定の関係にある位置に節境界ラベルを挿入する様にしてもよい。例えば、形態素列のパタン中の末尾以外の部分に節境界ラベルを挿入すべき場合もあるかもしれない。パタンの末尾以外の場所、たとえばその一つ前に節境界ラベルを挿入する様にしてもよい。この場合、節に分離するときには節境界ラベルの次の形態素までを一つの節とすればよい。また、一箇所でなく２箇所以上に節境界ラベルを挿入する様にしてもよい。たとえば節境界に対応するパタンの先頭と末尾とに節境界の開始ラベルと終了ラベルとをそれぞれ挿入する様にしてもよい。
【０１００】
さらに、上記した実施の形態では、入力テキスト３４の各行について最初にまとめて読込み、節境界検出処理を行なっている。しかし本発明はその様な実施の形態に限定されるわけではない。例えば、形態素を順次一時記憶装置にＦＩＦＯ方式で記憶し、記憶された形態素列の中に所定のパタンを満足するものがあれば、そこで節境界を検出する様にしてもよい。この場合には、一時記憶装置に記憶された形態素列を当該パタンまで順次出力し、その末尾に当該パタンに対応する節境界ラベルを挿入する様にすればよい。
【０１０１】
［第２の実施の形態］
上記した第１の実施の形態の翻訳装置３０は、節境界を検出するために、予め所定のプログラム言語（Ｐｅｒｌ）によりプログラムされたプログラム５２と、そのプログラム言語の処理系である言語処理系５６とを用いている。しかし本発明はその様な実施の形態に限定される訳ではない。汎用の言語処理系を用いる代わりに、専用のプログラムを用いる事もできる。その場合、節境界ルールについては適宜追加、変更または削除が可能となる様に、ルールのみをデータベース化しておく事が考えられる。
【０１０２】
図１２に、この実施の形態に係る節境界検出装置を採用した、コーパスの統計処理装置の機能的ブロック図を示す。この装置は、処理対象のコーパスに対し、前述した節境界検出処理を行ない、その結果として得られた各節の節ラベルの種類を統計処理し、それによってコーパスの性格を調べる事を可能とするものである。
【０１０３】
図１２を参照して、このコーパスの統計処理装置２００は、コーパス２０２を入力として、コーパス２０２に含まれる各文を節ラベル付の節に分離し、その結果を統計処理する機能を持つ。コーパスの統計処理装置２００は、コーパス２０２を入力とし、その各文を形態素解析して形態素列を出力するための形態素解析部２１０と、形態素解析部２１０の出力する形態素列に対して節境界検出処理を行ない、節境界にその直前までの節の種類を表す節ラベルを挿入してテキストとして出力する処理を行なうための節境界検出部２１２と、節境界検出部２１２から出力される節境界検出後のテキスト２１４内の節ラベルに対して統計的処理を行ない、統計出力２０４を出力するための統計処理部２１６とを含む。
【０１０４】
節境界検出部２１２は、節境界検出ルールをデータベース化したルールデータベース（ルールＤＢ）２３２と、形態素解析部２１０から出力される形態素列に対し、ルールＤＢ２３２に格納されている節境界検出ルールを適用し、実施の形態１の置換命令と同様の処理を行なって、節境界に節ラベルを挿入したテキスト列として出力するための置換処理部２３０とを含む。
【０１０５】
置換処理部２３０としては、実施の形態１のＰｅｒｌ処理系と同様、正規形を処理できる様な性能を持つものが好ましい。その場合、ルールＤＢ２３２に格納されるルールの検索文字列に相当する部分を正規表現で表現する事ができるので、ルールＤＢ２３２の容量を小さくし、かつ処理対象をもれなく適切に処理する事が可能となる。
【０１０６】
置換処理部２３０もコンピュータとソフトウェアとで実現できる。その場合の置換処理部２３０を実現するソフトウェアの構成は、図７に示したフローチャートと同様となる。
【０１０７】
形態素解析部２１０としては、実施の形態１で用いたプログラム５２と同じものを用いる事ができる。また、統計処理部２１６で行なう統計処理は、目的に応じて適切なものを準備すればよい。たとえば、前述した節ごとの平均形態素数、平均文節数、節の種類の分布等を、テキスト２１４に含まれる節ラベルに基づいて計算により求める事ができる。
【０１０８】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内での全ての変更を含む。
【図面の簡単な説明】
【図１】独話と対話との相違を示すための図である。
【図２】本発明の第１の実施の形態に係る翻訳装置の機能的ブロック図である。
【図３】節境界検出ルールの一般形及び例を説明するための図である。
【図４】節境界検出ルールを実装したＰｅｒｌのコマンド形式を説明するための図である。
【図５】第１の実施の形態の節境界検出ルールで検出可能な節の種類を説明するための図である。
【図６】第１の実施の形態の装置で節境界検出ルールを実装したＰｅｒｌスクリプトの構成を示す図である。
【図７】第１の実施の形態の装置のプログラム５２および言語処理系５６により実現される、節境界検出処理の制御構造を説明するためのフローチャートである。
【図８】節境界検出処理の結果例を示す図である。
【図９】第１の実施の形態による節境界検出処理の性能評価に用いたコーパスの概略規模を表形式で示す図である。
【図１０】第１の実施の形態による節境界検出処理の結果を、コーパス別に表形式で示す図である。
【図１１】第１の実施の形態による節境界検出処理の性能評価の結果を表形式で示す図である。
【図１２】本発明の第２の実施の形態に係るコーパスの統計処理装置の機能的ブロック図である。
【符号の説明】
３０  翻訳装置、５０  オペレーティングシステム（ＯＳ）、５２  プログラム、５４、２１０  形態素解析部、５６  言語処理系、６０  テキスト分離部、６２  機械翻訳部、２００  コーパスの統計処理装置、２１２  節境界検出部、２１６  統計処理部、２３０  置換処理部、２３２  ルールデータベース（ルールＤＢ）
【図１】
2004318300.tif 000033
【図２】
2004318300.tif 000034
【図３】
2004318300.tif 000035
【図４】
2004318300.tif 000036
【図５】
2004318300.tif 000037
【図６】
2004318300.tif 000038
【図７】
2004318300.tif 000039
【図８】
2004318300.tif 000040
【図９】
2004318300.tif 000041
【図１０】
2004318300.tif 000042
【図１１】
2004318300.tif 000043
【図１２】
2004318300.tif 000044
【手続補正書】
【提出日】平成16年6月10日(2004.6.10)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2004318300.tif 000045
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2004318300.tif 000046