(57)【要約】【課題】体裁を整えるために挿入された改行を取り除いて本来の文字列を特定し、翻訳精度を向上させることである。【解決手段】改行処理判定部３２は、表示装置に表示された文書データの第一言語の文字の翻訳要求が入力装置からあったとき、文書データに含まれる第一言語の文字がオブジェクト内の文字であるかどうかを判定し、オブジェクト内の文字であるときは判定情報記憶部３３に記憶されたオブジェクト毎の文字の改行処理の内容に基づいて文字の改行処理を行う。翻訳部３１は、改行処理判定部３２で改行処理された第一言語の文字列を翻訳辞書３４を用いて第二言語に翻訳し、翻訳結果である訳文をアプリケーション処理部２９に伝え、出力処理部２８を介して表示装置に表示する。【選択図】  図１
2010067112.tif 000002
【特許請求の範囲】
【請求項１】
機械翻訳プログラム、アプリケーションプログラム、翻訳辞書を記憶した記憶装置と、少なくとも第一言語の原文をデータとして入力するための入力装置と、第一言語の原文及び翻訳後の第二言語の訳文を表示出力する表示装置と、前記アプリケーションプログラムと前記機械翻訳プログラムとを演算実行して原文の訳文を得る演算制御装置とを備えた機械翻訳システムにおいて、
前記入力装置から入力された文字及び文字以外のオブジェクトを含む文書データを作成し前記表示装置に表示するアプリケーション処理部と、
前記記憶装置内に形成され、前記オブジェクト内に存在する文字の改行処理の内容について予め前記オブジェクトの種類毎に記憶した判定情報記憶部と、
前記表示装置に表示された文書データの第一言語の文字の翻訳要求が前記入力装置からあったとき、前記文書データに含まれる第一言語の文字が前記オブジェクト内の文字であるかどうかを判定し、前記オブジェクト内の文字であるときは前記判定情報記憶部に記憶された前記オブジェクト毎の文字の改行処理の内容に基づいて文字の改行処理を行う改行処理判定部と、
前記改行処理判定部で改行処理された第一言語の文字列を前記翻訳辞書を用いて第二言語に翻訳する翻訳部とを備えたことを特徴とする機械翻訳システム。
【請求項２】
前記入力装置からの表示指令により前記判定情報記憶部に記憶された前記オブジェクト内に存在する文字の改行処理の内容を前記表示装置に表示し、前記入力装置からの前記改行処理内容の設定更新を受け付け、設定更新された前記改行処理内容を前記判定情報記憶部に更新記憶する改行処理設定部を備えたことを特徴とする請求項１記載の機械翻訳システム。
【請求項３】
機械翻訳プログラム、アプリケーションプログラム、翻訳辞書を記憶した記憶装置と、少なくとも第一言語の原文をデータとして入力するための入力装置と、第一言語の原文及び翻訳後の第二言語の訳文を表示出力する表示装置と、前記アプリケーションプログラムと前記機械翻訳プログラムとを演算実行して原文の訳文を得る演算制御装置とを備えたコンピュータに用いられる機械翻訳プログラムにおいて、前記記憶装置は、前記入力装置から入力された文字及び文字以外のオブジェクトを含む文書データの前記オブジェクト内に存在する文字の改行処理の内容について予め前記オブジェクト毎に記憶した判定情報記憶部を有し、前記コンピュータに、
前記入力装置から入力された文字及び文字以外のオブジェクトを含む文書データを作成する手順と、
作成した文書データを前記表示装置に表示する手順と、
前記表示装置に表示された文書データの第一言語の文字の翻訳要求が前記入力装置からあったときは前記文書データに含まれる第一言語の文字が前記オブジェクト内の文字であるかどうかを判定する手順と、
前記オブジェクト内の文字であると判定されたときは前記判定情報記憶部に記憶された前記オブジェクト毎の文字の改行処理の内容に基づいて文字の改行処理を行う手順と、
前記オブジェクト内の文字でない第一言語の文字列及び前記文字の改行処理された第一言語の文字列を前記翻訳辞書を用いて第二言語に翻訳する手順と、
前記翻訳した結果の訳文を前記表示装置に表示する手順とを実行させるための機械翻訳プログラム。
【請求項４】
前記入力装置からの表示指令により前記判定情報記憶部に記憶された前記オブジェクト内に存在する文字の改行処理の内容を前記表示装置に表示する手順と、
前記入力装置からの前記改行処理内容の設定更新を受け付け、設定更新された前記改行処理内容を前記判定情報記憶部に更新記憶する手順とを追加して設けたことを特徴とする請求項３に記載の機械翻訳プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第一言語の原文から第二言語の訳文を得る機械翻訳システム及び機械翻訳プログラムに関する。
【背景技術】
【０００２】
一般に、文書は文字列により構成されるが、文字以外の図形や表などのオブジェクトを含む文書もある。図形や表などのオブジェクトを含む文書において、図形や表などのオブジェクトに文字を入力するような場合、限られた領域に文字を入力しなければならないことが多い。限られた領域に文字を入力した場合には、不本意な位置で見た目上の折り返し処理が行われ、文字の読みやすさが損なわれる場合がある。これを回避するために、単語の途中で改行を挿入するということが行われる。
【０００３】
機械翻訳システムでは、一般的に翻訳を行う前に翻訳対象の文を特定するという処理を行うが、行末に句点などの文末表現を伴わなずに改行が出現した場合には、次の行と接続するか否かの判定を行っている。
【０００４】
このような行末に出現する改行コードの扱いに関して、文書読み上げ対象テキストを整形するようにしたものがある（例えば、特許文献１参照）。これは、テキストファイルからメモリに読み込んだ読み上げ対象テキストの各行の文字数を検出することにより、その行文字数のうち最も出現頻度の高い文字数Ｌを求め、また、読み上げ対象テキストの各行から上記文字数ＬよりＮ以上短い行を区切り対象行として抽出し、この区切り対象行のうち行末に文の区切りを示す句点を持たない行については、その行末にある改行コードを句点など区切りとなるような情報に置き換え、それ以外の行については、文末の改行コードを削除し、文字数がＬ−Ｎ以上の句点を持たない行を次の行と結合するものである。
【０００５】
また、文書処理装置により作成された複数行から成る文書中の改行が不本意な改行か否かを判定するようにしたものがある（例えば、特許文献２参照）。これは、改行評価削除部が文書中の当該改行コードを削除した文Ａと上記改行コードで分割された文Ｂとを形態素解析して品詞レベルまで分解し、文Ａおよび文Ｂについて分解された品詞の種類内のつながり易さを調べて品詞の並びのコストを求め、文ＡのコストCAと文ＢのコストCBとを比較し、コストCAがコストCBより小であれば上記改行を不本意な改行と判定し、コストCAがコストCBより小でなければ上記改行を不本意でない改行と判定するものである。
【特許文献１】特開平６−３３７８７４号公報
【特許文献２】特開平２０００−２００２７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のものでは、文字数がＬ−Ｎ以上の句点を持たない行を次の行と結合しているので、１行１単語で列挙したようなテキストの入力の場合には、すべての文字が接続してしまう。例えば、例１に示すように、都道府県を１行１単語で列挙した場合には、「北海道青森岩手秋田山形宮城福島…沖縄」のように、すべての文字が接続してしまう。また、例２のように、「以下に日本の都道府県を列挙します。」との文があった後に、都道府県を１行１単語で列挙した場合には、各都道府県の後ろに「句点」がついてしまう。例１、例２とも「北海道」〜「沖縄」までは１行１文として判断される方が望ましい。
【０００７】
---------------例１-----------------
北海道
青森
岩手
秋田
山形
宮城
福島
：
沖縄
---------------例１-----------------
---------------例２-----------------
以下に日本の都道府県を列挙します。
【０００８】
北海道
青森
岩手
秋田
山形
宮城
福島
：
沖縄
---------------例２-----------------
また、特許文献２のものでは、文Ａおよび文Ｂについて分解された品詞の種類内のつながり易さを調べて品詞の並びのコストを求め、文ＡのコストCAと文ＢのコストCBとを比較し、コストCAがコストCBより小であれば上記改行を不本意な改行と判定し、コストCAがコストCBより小でなければ上記改行を不本意でない改行と判定する。従って、上記例１では、文Ａの「北海道青森」と文Ｂ「北海道」、「青森」とではコストが同じとなり、不本意な改行か不本意でない改行かのどちらとも判定できないケースとなる。この場合は、ユーザによる削除判断が必要となる。
【０００９】
近年、文書作成装置では第三者が作成したマクロやプラグインを組み込んで文書作成装置に機能を付加することが可能となっている。例えば、翻訳機能を組み込んで、表示中の文書を翻訳することも可能であるが、文書作成装置では、テキストが入力できる領域が本文部分や表、図形など、様々な位置に入力でき、従来のテキストだけを用いた改行の削除判定が困難になっている。
【００１０】
本発明の目的は、箇条書きなどの文末を表わす改行か、体裁を整えるために入力した改行かを文字が存在する領域の情報を利用して判断し、体裁を整えるために挿入された改行を取り除いて本来の文字列を特定し、翻訳精度を向上できる機械翻訳システム及び機械翻訳プログラムを提供することである。
【課題を解決するための手段】
【００１１】
本発明の機械翻訳システムは、機械翻訳プログラム、アプリケーションプログラム、翻訳辞書を記憶した記憶装置と、少なくとも第一言語の原文をデータとして入力するための入力装置と、第一言語の原文及び翻訳後の第二言語の訳文を表示出力する表示装置と、前記アプリケーションプログラムと前記機械翻訳プログラムとを演算実行して原文の訳文を得る演算制御装置とを備えた機械翻訳システムにおいて、前記入力装置から入力された文字及び文字以外のオブジェクトを含む文書データを作成し前記表示装置に表示するアプリケーション処理部と、前記記憶装置内に形成され、前記オブジェクト内に存在する文字の改行処理の内容について予め前記オブジェクトの種類毎に記憶した判定情報記憶部と、前記表示装置に表示された文書データの第一言語の文字の翻訳要求が前記入力装置からあったとき、前記文書データに含まれる第一言語の文字が前記オブジェクト内の文字であるかどうかを判定し、前記オブジェクト内の文字であるときは前記判定情報記憶部に記憶された前記オブジェクト毎の文字の改行処理の内容に基づいて文字の改行処理を行う改行処理判定部と、前記改行処理判定部で改行処理された第一言語の文字列を前記翻訳辞書を用いて第二言語に翻訳する翻訳部とを備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、箇条書きなどの文末を表わす改行か、体裁を整えるために入力した改行かを文字が存在する領域の情報を利用して判断し、体裁を整えるために挿入された改行を取り除いて本来の文字列を特定するので翻訳精度を向上できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。図１は本発明の実施の形態に係わる機械翻訳システム１１の一例の機能ブロック図、図２は本発明の実施の形態に係る機械翻訳システムのハードウエア構成を示すブロック構成図である。
【００１４】
図２において、機械翻訳システム１１は、例えば一般的なコンピュータに機械翻訳プログラムなどのソフトウェアプログラムがインストールされ、そのソフトウェアプログラムが演算制御装置１２のプロセッサ１３において実行されることにより実現される。
【００１５】
演算制御装置１２は機械翻訳に関する各種演算を行うものであり、演算制御装置１２はプロセッサ１３とメモリ１４とを有し、メモリ１４には、第一言語の原文を第二言語の訳文に翻訳する機械翻訳プログラム１５、第一言語及び第二言語を処理するアプリケーションプログラム１６、アプリケーションプログラム１６に組み込まれ機械翻訳プログラム１５に各種要求を行うマクロ・プラグイン１７、機械翻訳プログラム１５とアプリケーションプログラム１６との間のデータ通信を行う連携インターフェース１８が記憶され、プロセッサ１３により処理が実行される際には作業エリア１９が用いられる。
【００１６】
連携インターフェース１８は、アプリケーションプログラム１６と機械翻訳プログラム１５との連携を行うインターフェースであり、例えば、アプリケーション間のデータ通信インターフェースである、DDE（Dynamic Data Exchange）、OLE（Object Linking   and Embedding）、OCX（OLE Custom Control）、ActiveX、COM（Component Object Model）などを用いる。
【００１７】
また、アプリケーションプログラム１６と機械翻訳プログラム１５との連携翻訳を実現するには、アプリケーションプログラム１６にマクロやプラグイン（マクロ・プラグイン１７）を組み込む。これらは一般的にウインドウのツールバーやメニューコマンドとして実現している。これらのマクロやプラグインは、連携インターフェース１８を介して機械翻訳プログラム１５と通信しデータのやりとりを行う。
【００１８】
演算制御装置１２の演算結果等は表示装置２０に表示出力される。また、入力装置２１は演算制御装置１２に情報を入力するものであり、例えば、マウス２２、キーボード２３、ディスクドライブ２４から構成され、例えば、マウス２２やキーボード２３は表示装置２０を介して演算制御装置１２に各種指令を入力する。これにより、演算制御装置１２のプロセッサ１３は、アプリケーションプログラム１６を起動してアプリケーション処理を実行し、翻訳対象の原文を含んだ文書データを作成する。そして、アプリケーションプログラムと機械翻訳プログラムとを連携しつつ機械翻訳プログラムも演算実行し、アプリケーション処理で作成された文書データ中の原文を翻訳する。
【００１９】
ハードディスクドライブ（ＨＤＤ）２５には、演算制御装置１２の演算結果や翻訳に必要な知識・規則を蓄積した翻訳辞書等が記憶される。機械翻訳プログラム１５、マクロ・プラグイン１７が組み込まれたアプリケーションプログラム１６、連携インターフェース１８等は、ハードディスクドライブ（ＨＤＤ）２５に記憶するようにしてもよい。
【００２０】
次に、図１に示す演算制御装置１２内の各機能ブロックは、上述の機械翻訳プログラム１５、マクロ・プラグイン１７が組み込まれたアプリケーションプログラム１６、連携インターフェース１８を構成する各プログラムに対応する。すなわち、プロセッサ１３がこれらの各プログラムを実行することで、演算制御装置１２は、各機能ブロックとして機能することとなる。また、記憶装置２６の各ブロックは、演算制御装置１２内のメモリ１４及びハードディスクドライブ２５の記憶領域に対応する。
【００２１】
演算制御装置１２の入力処理部２７は入力装置２１から入力された各種指令や情報の入力処理を行うものであり、出力処理部２８はアプリケーション処理部２９で処理された演算結果を表示装置２０に表示出力処理を行うものである。以下の説明では、アプリケーションプログラムは文書作成アプリケーションプログラムであり、その文書作成アプリケーションプログラムに組み込まれたマクロあるいはプラグイン（マクロ・プラグイン１７）、連携インターフェース１８により機械翻訳プログラム１５との連携機能が実現されるものであるとする。
【００２２】
アプリケーション処理部２９は、入力処理部２７を介して入力される翻訳要求を受け付け、翻訳対象の原文データを連携処理部３０に伝える。連携処理部３０はアプリケーション処理部２８から送られた原文データを改行処理判定部３２に送る。
【００２３】
改行処理判定部３２は、翻訳対象の文が存在するオブジェクトの情報を元に、体裁を整えるために入力された改行か否かを判定するものである。すなわち、改行処理判定部３２は、翻訳要求があった文書データに含まれる翻訳対象の第一言語の文字が文字以外のオブジェクト内の文字であるかどうかを判定し、オブジェクト内の文字であるときは、判定情報記憶部３３に記憶されたオブジェクト毎の文字の改行処理の内容に基づいて文字の改行処理を行う。判定情報記憶部３３には、オブジェクト内に存在する文字の改行処理の内容が予めオブジェクト毎に記憶されている。
【００２４】
翻訳部３１は、連携処理部３０を介して改行処理判定部３２から送られてきた改行処理がなされた第一言語による文章データに対して、翻訳辞書部３４に格納された知識情報を参照しながら翻訳処理を行う。翻訳辞書部３４は、基本辞書部３５、専門用語辞書部３６、ユーザ辞書部３７を有し、翻訳部３１の翻訳処理に必要な見出し語、品詞、意味情報、訳語情報などの翻訳知識を記憶している。例えば、翻訳部３１が日英・英日双方向の文接続判定処理を行うものとすると、翻訳辞書部３４は夫々の翻訳方向毎に以下の構成を有してる。
【００２５】
（１）基本辞書部３５は、語彙部３５ａ、形態素解析規則３５ｂ、構文・意味解析規則３５ｃ、変換規則３５ｄ、構文生成規則３５ｅ、形態素生成規則３５ｆを有している。  
（ａ）語彙部３５ａ
少なくとも第１言語の語彙の各々についての品詞情報、活用情報、意味情報、分野情報、訳語情報、訳語毎の分野情報。  
（ｂ）形態素解析規則３５ｂ
第１言語の入力文を形態素解析するための知識。  
（ｃ）構文・意味解析規則３５ｃ
第１言語の入力文を形態素解析した後、構文的・意味的な解析を行うための知識。  
（ｄ）変換規則３５ｄ
構文・意味解析された結果の第１言語の意味構造を第２言語の意味構造へ変換するための知識。  
（ｅ）構文生成規則３５ｅ
第２言語の意味構造から第２言語の単語列を生成するための知識。  
（ｆ）形態素生成規則３５ｆ
第２言語の語の活用を反映し、最終的な訳文を出力するための知識。  
（２）専門用語辞書部３６は、複数の分野別辞書が用意されており、入力文書データの内容により翻訳時に用いる辞書を選択することができる。語彙部３６ａのみからなる。  
（３）ユーザ辞書部３７は、ユーザ定義用の辞書であり、翻訳する文書データに合わせてユーザが複数作成することができる。語彙部３７ａと翻訳学習部３７ｂとがある。  
（ａ）語彙部３７ａ
ユーザが新規登録した用語についての活用情報、意味情報、訳語情報等。  
（ｂ）訳語学習部３７ｂ
ある第１言語の語句に対してユーザが学習させた訳語の情報。
【００２６】
そして、翻訳部３１で翻訳された訳文は連携処理部３０に出力され、連携処理部３０は入力された文書データの原文文字列を訳文に置き換える。アプリケーション処理部２９は連携処理部３０で置き換えた文書データの訳文を入力し、出力処理部２８は、連携処理部３０において原文文字列を訳文に置き換えた時点で、アプリケーション処理部２９を介して通知される結果を出力する。
【００２７】
次に、判定情報記憶部３３に記憶されたオブジェクト内に存在する文字の改行処理の内容について説明する。図３は、判定情報記憶部３３に記憶されたオブジェクト内に存在する文字の改行処理の内容のうち図形タイプによる改行削除判定の情報テーブルの一例を示す説明図である。文字以外のオブジェクトとして図形があり、図形タイプによって図形に記述された文字の改行処理の内容が情報テーブルに予め記憶されている。図３では、オートシェイプやキャンバスに含まれる文字列に対しては、改行削除判定として「する」が記憶されている。従って、オートシェイプやキャンバスに含まれる文字列に改行があるときは改行削除判定の対象となる。
【００２８】
図４は、判定情報記憶部３３に記憶されたオブジェクト内に存在する文字の改行処理の内容のうちオートシェイプタイプによる改行削除判定の情報テーブルの一例を示す説明図である。図３に示した情報テーブルでは、図形タイプのうちオートシェイプは改行削除判定の対象となる旨が予め定められており、図４ではオートシェイプのうち、改行削除対象とするものと改行削除対象としないものとが予め記憶されている。例えば、四角形、処理フローチャート端子、処理フローチャート記号、処理フローチャート手操作入力、磁気ディスクフローチャート記号に含まれる文字列に改行があるときは改行削除の対象となり、台形や吹き出しに含まれる文字列に改行があるときは改行削除の対象としない旨が予め記憶されている。
【００２９】
例えば、フローチャートで使用される図形にテキストを挿入する場合は、本来一続きの文や単語であるが読みやすさを考慮して意図的に改行が挿入されている場合が多い。従って、改行削除の対象とする。また、吹き出しは説明を記載するのに用いられるため、項目の列挙など改行ごとに１文である可能性が高い。従って、改行削除の対象としない。このように、図形の特徴にあわせて図形内に記述されている文字列内の改行をどのように扱うが判定情報記憶部３３に情報テーブルとして記憶されている。
【００３０】
図５は、判定情報記憶部３３に記憶されたオブジェクト内に存在する文字の改行処理の内容のうち表内の文字の改行削除条件の情報テーブルの一例の説明図である。表に関しては、セルの改行削除条件Ｔ１、行限定Ｔ２、列限定Ｔ３が設けられている。セルの改行削除条件Ｔ１は、表中のセル内の改行削除条件を定めるものであり、図５では１文字ごとに改行されている場合には、その改行は削除する条件が記憶されている。これは、セル内で縦書きとするために１文字ごとに改行された場合に、その改行を削除することを意味している。行限定Ｔ２は行に関しての改行削除の条件であり、列限定Ｔ３は列に関しての改行削除の条件である。図５の場合は、セルの改行削除条件Ｔ１が「１文字ごとの改行」、行限定Ｔ２が「しない」、列限定Ｔ３が「１」であるので、１列目についてのみ何行に渡っても、１文字ごとの改行は削除するという改行処理となる。
【００３１】
次に、本発明の実施の形態における機械翻訳システムの動作について説明する。以下の説明では、アプリケーションプログラムとして、一般的な文書作成ソフトウェア（以下、単に文書作成ソフトウェアという）に翻訳機能を組み込み、入力装置２１から入力処理部２７を介して、図６に示す文字及び文字以外のオブジェクトを含む文書データＦが入力されたとする。
【００３２】
図６に示す文書データＦは、テキストの文字列として、文字列Ａ１と文字列Ａ２とを有し、オブジェクトとして、キャンパスＢと表Ｃとを有する。文字列Ａ１には「財務カレンダー更新処理を図１に示す。」の文字が含まれており、文字列Ａ２には「Ｆｉｇ．１：財務カレンダー更新処理」の文字が含まれている。
【００３３】
そして、キャンパスＢには、オートシェイプとして、吹き出しＢ１、処理フローチャート端子Ｂ２、Ｂ３、処理フローチャート手入力Ｂ４、処理フローチャート記号Ｂ５、磁気ディスクフローチャートＢ６をそれぞれ表す図形を有している。そして、吹き出しＢ１には、「Ａ（入荷）Ｂ（出荷）Ｃ（入庫）Ｄ（出庫）」の文字が含まれており、処理フローチャート端子Ｂ２には「開始」、処理フローチャート端子Ｂ３には「終了」の文字が含まれており、処理フローチャート手入力Ｂ４には「データ入力」の文字が含まれており、処理フローチャート記号Ｂ５には「財務カレンダー更新処理」の文字が含まれており、磁気ディスクフローチャートＢ６には「財務カレンダー」の文字が含まれている。
【００３４】
また、表Ｃは３列からなり、１列めのセルには、縦方向に「値の説明」の文字が含まれている。２列めは４行からなり、１行目のセルには「Ａ」、２行目のセルには「Ｂ」、３行目のセルには「Ｃ」、１行目のセルには「Ｄ」の文字が含まれている。３列めは４行からなり、１行目のセルには「入荷」、２行目のセルには「出荷」、３行目のセルには「入庫」、１行目のセルには「出庫」の文字が含まれている。
【００３５】
まず、ユーザは、マクロ・プラグインが組み込まれた文書作成ソフトウェアを起動して文書作成ソフトウェアのウインドウを表示し、入力装置２１から入力処理部２７を介して翻訳対象の図６に示す文書データＦを読み込み、読み込んだ文書データＦを表示装置２０に表示する。この場合、文書作成ソフトウェア上の表示画面にマクロ・プラグインのメニューまたはツールバーボタンが表示される。ユーザがマクロ・プラグインのツールバーボタンまたはメニューを操作すると、その操作が入力処理部２７よりアプリケーション処理部２９に通知され、マクロ・プラグインのメニューやボタンに関連付けられた処理が呼び出される。このときアプリケーション処理部２９より、連携処理部３０に翻訳対象となるドキュメント情報を渡す。
【００３６】
図７は、図６に示す文書データＦに対しての翻訳要求を受け付けたときの本発明の実施の形態における機械翻訳システムの処理内容を示すフローチャートである。文書作成ソフトウェアでは、現在編集対象となっている文書データＦの情報は、ActiveDocumentオブジェクトのContentプロパティを利用することにより、文書データＦ内の全ての文、表、図形の情報を保持するRangeオブジェクトを取得できる。そこで、連携処理部３０では、翻訳対象の文書データＦの情報を取得する(Ｓ２０１)。さらに、連携処理部３０では、取得した翻訳対象の文書データＦの情報より、翻訳対象となる総文数Ｍを取得し、文の位置を表わす変数Ｎに初期値１をセットする（Ｓ２０２）。
【００３７】
連携処理部３０は、文書データＦ中の文の位置を表わす変数Ｎが総文数Ｍより大きいか否かを判定し(Ｓ２０３)、大きい場合は処理を終了し、小さい場合は、Ｎ番目の文Ｓｎを取得する（Ｓ２０４）。連携処理部３０での文の取得は、Rangeオブジェクトから取得可能なSentencesコレクションにより現在の文書データが保持する総文数Ｍの取得や指定した位置の文をRangeオブジェクトとして取得できる。文の位置を表わす変数ＮがＮ＝１である場合、文Ｓｎ（文Ｓ１）として文字列Ａ１「財務カレンダー更新処理を図１に示す。」のRangeオブジェクトが格納される。
【００３８】
続いてステップＳ２０４で取得した文Ｓｎに対して、改行処理判定部３２は改行処理判定処理を行う（Ｓ２０５）。この改行処理判定処理は、判定情報記憶部３２に記憶された文字の改行処理の内容に基づいて改行を削除するかどうかの処理を行う。一つの文Ｓｎについての改行処理判定処理が終了すると、変数Ｎを一つインクリメントし（Ｓ２０６）、ステップＳ２０３に戻り、最後の文に達するまでステップＳ２０３〜Ｓ２０６を繰り返す。
【００３９】
図８は、図７のステップＳ２０５の処理内容の詳細を示すフローチャートである。改行処理判定部３２は、文ＳｎのRangeオブジェクトの表に関する情報が格納されているTablesプロパティのcountプロパティで、文Ｓｎの範囲に表が存在するかを確認する（Ｓ３０１）。文ＳｎのRangeオブジェクトが表情報を保持している場合は、表内に存在する文字と判断することができる。文の位置を表わす変数ＮがＮ＝１である場合には、文Ｓｎ（Ｓ１）は文字列Ａ１「財務カレンダー更新処理を図１に示す。」である。文字列Ａ１は表内に存在しないのでステップＳ３０２に進む。
【００４０】
次に、改行処理判定部３２は、文ＳｎのRangeオブジェクトの図形情報を保持しているShapeRangeプロパティのcountプロパティで、文Ｓｎの範囲に図形が存在するかを判定する（Ｓ３０２）。文Ｓｎ（Ｓ１）の文字列Ａ１「財務カレンダー更新処理を図１に示す。」は、図形ではないため、連携処理部３０を介して翻訳部３１に文Ｓｎ（Ｓ１）を送る。翻訳部３１は、連携処理部３０から送られてきた文Ｓｎ（Ｓ１）を翻訳する（Ｓ３０３）。
【００４１】
翻訳部３１での文Ｓｎ（Ｓ１）の翻訳は、以下のようにして行う。翻訳部３１は、文Ｓｎ（Ｓ１）の文字列Ａ１「財務カレンダー更新処理を図１に示す。」に対して翻訳辞書部３４の基本辞書部３５の語彙部３５ａ、形態素解析規則３５ｂを用いて、辞書引き及び形態素解析処理を行う。続いて、基本辞書部３５の構文・意味解析規則３５ｃを用いて、入力原文の構文・意味解析を行う。この段階で、入力言語の解析結果の構造が構築されている。次に基本辞書部３５の語彙部３５ａ、変換規則３５ｄ、専門用語辞書部３６の語彙部３６ａ、ユーザ辞書部３７の語彙部３７ａ、訳語学習部３７ｂの知識を用いて、入力言語の構造を出力言語の構造に変換する処理を行う。出力言語の構造が構築されると、翻訳部３１は、基本辞書部３５の構文生成規則３５ｅを用いて、２次元的な構造を１次元的な構造に変換する。最後に、基本辞書部３５の形態素生成規則３５ｆを用いて、個々の語の表層形態を生成し最終的な訳文を生成する（Ｓ３０３）。
【００４２】
ステップＳ３０３で生成された翻訳結果「A financial calendar update process is shown in Fig. 1.」をアプリケーション処理部２９を通じて出力する（Ｓ３０４）。これにより、「財務カレンダー更新処理を図１に示す。」が「A financial calendar update process is shown in Fig. 1.」に置き換わって出力処理部２８を介して表示装置２０に表示される（Ｓ３０４）。
【００４３】
一方、ステップＳ３０２の処理で、文Ｓｎの範囲に図形が存在するときは、文ＳｎのRangeオブジェクトのShapeRangeプロパティのcountプロパティが１となり、改行処理判定部３２は、文Ｓｎの範囲に図形が存在すると判断する（Ｓ３０２）。改行処理判定部３２は、文Ｓｎの範囲に図形が存在すると判断したときは、ShapeRangeプロパティのTypeプロパティにより図形の種類を取得する。図形はキャンパスであるかどうかを判定する（Ｓ３０５）。図形がキャンバスであるときは、改行処理判定部３２は、キャンバス内の図形の総個数ＤをShapeRangeプロパティの.GroupItemsプロパティのCountプロパティより取得し、変数ｉに初期値１をセットする（Ｓ３０６）。改行処理判定部３２は、変数ｉが図形の総個数Ｄより大きいか否かを判定し(Ｓ３０７)、大きい場合は処理を終了し、小さい場合は、ShapeRangeプロパティのGroupItemsプロパティのItemプロパティよりi番目の図形を取得し（Ｓ３０７’）、ｉ番目の図形が改行削除対象の図形かどうかを判定する（Ｓ３０８）。
【００４４】
ｉ番目の図形が改行削除対象の図形かどうかの判定は、判定情報記憶部３３に記憶されている図３および図４の情報テーブルにより判定される。すなわち、ShapeRangeプロパティのTypeプロパティと一致するものを判定情報記憶部３３に記憶されている図３に示す図形タイプから検出し、改行削除の条件参照する。ShapeRangeプロパティのTypeがオートシェイプの場合は、ShepeRangeプロパティのAutoShapeTypeプロパティと一致するものを判定情報記憶部３３に記憶されている図４に示すオートタイプシェイプから検出し、改行削除の条件を参照する。そして、改行処理判定部３２は、改行削除の条件であるときはテキストの文字列中に存在する改行コードを削除し、改行を削除した文字列を連携処理部３０を介して翻訳部３１に送る。翻訳部３１は改行を削除した文字列を翻訳し（Ｓ３１０）、翻訳結果を出力する（Ｓ３１１）。そして、変数ｉを一つインクリメントし（Ｓ３１２）、ステップＳ３０７に戻り、最後のオートシェイプに達するまでステップＳ３０７〜Ｓ３１２を繰り返す。ステップＳ３０５の判定で図形がキャンバスでないときは、図形の総個数Ｄ及び変数ｉに値１をセットし（Ｓ３０５’）、ステップＳ３０７に移行する。
【００４５】
図６に示す文書データＦ内で、磁気ディスクフローチャートＢ６に含まれる「財務カレンダー」は読みやすさを考慮し、「財務」と「カレンダー」との間に意図的な改行が挿入されている。磁気ディスクフローチャートＢ６の図形タイプは、図６に示すように、オートシェイプでオートシェイプタイプは「磁気ディスクフローチャート記号」であり、改行削除が「する」になっている。そこで、改行処理判定部３２は、図６の改行削除の条件に従い改行を削除する。これによって、翻訳部３１は「財務カレンダー」として翻訳する。
【００４６】
例えば、翻訳辞書部３４の語彙部３５ａに以下の表１のように登録されているとする。
【表１】
2010067112.tif 000003
【００４７】
文書データＦの文字列Ａ１「財務カレンダー更新処理を図１に示す。」では、翻訳結果が「A financial calendar update process is shown in Fig. 1.」となり、「財務カレンダー」は「financial calendar」と翻訳される。
【００４８】
一方、磁気ディスクフローチャートＢ６内の文字列「財務カレンダー」の部分について、従来の改行削除処理において、「財務」と「カレンダー」とは接続しないと判断されると、「財務」と「カレンダー」とは別の文字として翻訳されることになる。つまり、「財務」、「カレンダー」がそれぞれ、「financila affairs」、「calendar」となり、「financila affairs calendar」と翻訳されてしまい、「financial calendar」と異なった翻訳結果となってしまう。
【００４９】
本発明の実施の形態では、改行削除処理において、翻訳対象部分が「財務カレンダー」となるため翻訳結果「financial calendar」を得ることができる。
【００５０】
次に文書データＦの表部分の処理について説明する。ステップＳ３０１の判定で、文ＳｎのRangeオブジェクトの表に関する情報が格納されているTablesプロパティのcountプロパティで、文Ｓｎの範囲に表が存在すると判定した場合には、改行処理判定部３２はTablesプロパティよりTableオブジェクトを取得し、TableオブジェクトのCellsプロパティのcountプロパティより表に含まれるセルの個数Ｃを取得し、現在のセルの位置を示す変数Ｋを１に初期化する（Ｓ３１３）。そして、改行処理判定部３２は、変数Ｋの現在位置がセル個数Ｃより大きいかどうかを判定し（Ｓ３１４）、変数Ｋの現在位置がセル個数Ｃより大きい場合は、表の翻訳が完了したとして処理を抜け、セル個数Ｃより小さい場合はセル情報を取得する（Ｓ３１５）。セル情報は、TableオブジェクトのCellsプロパティよりCellオブジェクトを取得する。
【００５１】
改行処理判定部３２は、判定情報記憶部３３に記憶されている図５のセルの改行削除条件Ｔ１、行限定Ｔ２、列限定Ｔ３のセル内テキストの改行削除条件を参照し、現在のセル内のテキストが改行削除条件を満たすかどうかを判定する（Ｓ３１６）。改行削除条件を満たす場合には改行を削除し（Ｓ３１７）、連携処理部３０を介して翻訳部３１に送る。翻訳部３１は連携処理部３０から送られてきた改行を削除したテキストの翻訳を行い（Ｓ３１８）、その翻訳結果を出力する（Ｓ３１９）。
【００５２】
ステップＳ３１６の判定で改行削除条件を満たさない場合は、改行処理判定部３２は、改行を削除しないで連携処理部３０を介して翻訳部３１に送る。翻訳部３１は連携処理部３０から送られてきた改行削除なしのテキストの翻訳を行い（Ｓ３１８）、その翻訳結果を出力する（Ｓ３１９）。そして、変数Ｋを一つインクリメントし（Ｓ３２０）、ステップＳ３１４に戻り、最後のセルに達するまでステップＳ３１４〜Ｓ３２０を繰り返す。
【００５３】
例えば、図６の表Ｃ中の１列目の文字列「値の説明」は、縦書きとするための体裁を整えるために、一文字ごとに改行が挿入されているが、図５のセルの改行削除条件Ｔ１の適用により、改行が削除された「値の説明」が翻訳対象文字列となる。これにより、体裁を整えるために挿入された改行を取り除いて本来の文字列を特定し、翻訳するので翻訳精度を向上できる。
【００５４】
図９は本発明の実施の形態に係わる機械翻訳システム１１の他の一例の機能ブロック図である。図１に示した一例に対し、改行処理内容を判定情報記憶部３３に設定するための改行処理設定部３８を追加して設けたものである。この改行処理設定部３８は、入力装置２１からの表示指令により、判定情報記憶部３３に記憶されたオブジェクト内に存在する文字の改行処理の内容を表示装置２０に表示し、入力装置２１からの改行処理内容の設定更新を受け付け、設定更新された改行処理内容を判定情報記憶部３３に更新記憶するものである。図１と同一要素には同一符号を付し重複する記載は省略する。
【００５５】
まず、ユーザは、マクロ・プラグインが組み込まれた文書作成ソフトウェアを起動して文書作成ソフトウェアのウインドウを表示する。そして、ユーザがマクロ・プラグインのツールバーボタンまたはメニューを入力装置２１で操作することにより、その操作指令が入力処理部２７よりアプリケーション処理部２９に通知され、アプリケーション処理部２９はマクロ・プラグインのメニューやボタンに関連付けられた処理を呼び出す。例えば、マクロ・プラグインの「改行処理設定」メニューが選択されると、アプリケーション処理部２９より連携処理部３０にその要求が送られ、連携処理部３０では改行処理設定部３８を呼び出す。改行処理設定部３８は、連携処理部３０、アプリケーション処理部２９及び出力処理部２８を介して、例えば、図１０に示すような改行処理設定画面を表示装置２０に表示する。
【００５６】
図１０に示すように、文情報設定画面３９は、改行処理の設定項目として、図形の種類を設定する項目の設定領域４０ａ、オートシェイプのタイプを設定する項目の設定領域４０ｂ、セルの条件を設定する項目の設定領域４０ｃを有し、設定領域４０ａ、４０ｂ、４０ｃには、それぞれコンボボックス４１ａ、４１ｂ、４１ｃが設けられている。コンボボックス４１ａ、４１ｂ、４１ｃは、原則として、「する」、「しない」の設定を行うものであるが、「する」、「しない」の他に文字の位置情報、例えばセンタリングなども選択肢の中に含めてもよい。図１０では、設定領域４０ａのコンボボックス４１ａでは、図形の種類に応じて「する」、「しない」の設定が行われ、設定領域４０ｂのコンボボックス４１ｂや設定領域４０ｃのコンボボックス４１ｃでは、「する」、「しない」の設定に加えてセンタリングの設定も行った場合を示している。
【００５７】
図１１は改行処理設定部３８の処理内容を示すフローチャートである。改行処理設定部３８は、ユーザによる入力装置からの指令により、図１０に示す文情報設定画面３９を表示装置２０に表示する（Ｓ９０１）。ユーザは、文情報設定画面を介して、図形の種類や選択した図形の種類のサブカテゴリ（オートシェイプのタイプ）の設定項目の設定領域４０ａ〜４０ｃに対し、項目の横に存在するコンボボックス４１ａ〜４１ｃにより、「する」、「しない」、「センタリング」などの設定を行う。
【００５８】
そして、改行処理設定部３８は、文情報設定画面中の「ＯＫ」ボタンは押されたかどうかを判定し（Ｓ９０２）、「ＯＫ」ボタンが押された場合は、判定情報記憶部３３に文情報設定画面で設定された内容を更新記憶する（Ｓ９０３）。「ＯＫ」ボタンが押されていないときは「キャンセル」ボタンが押されたかどうかを判定し（Ｓ９０４）、「キャンセル」ボタンが押されていないときは、ステップＳ９０２に戻り、「キャンセル」ボタンが押されてたときは、判定情報記憶部３３の内容を更新せずに処理を終了する。
【００５９】
本発明の実施の形態によれば、図や表の中にテキストを入力する場合に見た目をよくするために入力した改行を、テキストが存在する図やセルなどのオブジェクト情報を利用することにより、不要な改行を削除することができる。従って、不要な改行を削除した後の文字列を翻訳できるので翻訳精度が向上し、翻訳結果の後編集に要する時間も削減できる。
【００６０】
また、改行処理設定部３８を設けた場合には、改行削除処理を適用する箇所をユーザ自身が把握できるため、文書作成時に翻訳精度を意識して文書を作成できる。また翻訳対象文書の特性に合わせて設定を変更することにより翻訳精度を向上させることができ、翻訳結果の後編集に要する時間も削減できる。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施の形態に係わる機械翻訳システムの一例の機能ブロック図。
【図２】本発明の実施の形態に係る機械翻訳システムのハードウエア構成を示すブロック構成図。
【図３】本発明の実施の形態における判定情報記憶部に記憶されたオブジェクト内に存在する文字の改行処理の内容のうち図形タイプによる改行削除判定の情報テーブルの一例を示す説明図。
【図４】本発明の実施の形態における判定情報記憶部に記憶されたオブジェクト内に存在する文字の改行処理の内容のうちオートシェイプタイプによる改行削除判定の情報テーブルの一例を示す説明図。
【図５】本発明の実施の形態における判定情報記憶部に記憶されたオブジェクト内に存在する文字の改行処理の内容のうち表内の文字の改行削除条件の情報テーブルの一例の説明図。
【図６】本発明の実施の形態に係わる機械翻訳システムで扱う文字及び文字以外のオブジェクトを含む文書データの一例の説明図。
【図７】図６に示す文書データＦに対しての翻訳要求を受け付けたときの本発明の実施の形態における機械翻訳システムの処理内容を示すフローチャート。
【図８】図７のステップＳ２０５の処理内容の詳細を示すフローチャート。
【図９】本発明の実施の形態に係わる機械翻訳システムの他の一例の機能ブロック図。
【図１０】本発明の実施の形態における改行処理設定部により表示される改行処理設定画面の説明図。
【図１１】本発明の実施の形態における改行処理設定部の処理内容を示すフローチャート。
【符号の説明】
【００６２】
１１…機械翻訳システム、１２…演算制御装置、１３…プロセッサ、１４…メモリ、１５…機械翻訳プログラム、１６…アプリケーションプログラム、１７…マクロ・プラグイン、１８…連携インターフェース、１９…作業エリア、２０…表示装置、２１…入力装置、２２…マウス、２３…キーボード、２４…ディスクドライブ、２５…ハードディスクドライブ、２６…記憶装置、２７…入力処理部、２８…出力処理部、２９…アプリケーション処理部、３０…連携処理部、３１…翻訳部、３２…改行処理判定部、３３…判定情報記憶部、３４…翻訳辞書部、３５…基本辞書部、３６…専門用語辞書部、３７…ユーザ辞書部、３８…改行処理設定部、３９…文情報設定画面、４０…設定領域、４１…コンボボックス
【図１】
2010067112.tif 000004
【図２】
2010067112.tif 000005
【図３】
2010067112.tif 000006
【図４】
2010067112.tif 000007
【図５】
2010067112.tif 000008
【図６】
2010067112.tif 000009
【図７】
2010067112.tif 000010
【図８】
2010067112.tif 000011
【図９】
2010067112.tif 000012
【図１０】
2010067112.tif 000013
【図１１】
2010067112.tif 000014