(57)【要約】【課題】マークアップ記号とテキスト部分とが混在する文書の編集の効率化を図る。【解決手段】タグ種別判定部２２２は、テキスト原文から分離された単語がタグの場合、当該タグの種別を判定する。単語リスト生成部２２３は、分離された単語の各々を、当該単語がタグまたはテキスト部分のいずれであるかを示すと共に、タグの場合にはタグ種別を示す種別情報と関連付けてバッファ部３４に格納する。原文／訳文単語リスト生成部２２５は、テキスト原文の訳文の生成時に、当該訳文内に反映されるタグを文内タグに制限し、文外タグを除く単語の群を含む原文単語リスト、及びテキスト部分としての単語の訳語と当該訳語のうち文内タグが付加された単語の訳語に付加されるタグとを含む訳文単語リストを生成してバッファ部３４に格納する。システム制御部は、原文単語リスト及び訳文単語リストに基づいてそれぞれ原文及び訳文を編集可能に表示する。【選択図】      図３
2007207098.tif 000002
【特許請求の範囲】
【請求項１】
マークアップ記号を含む第１言語のテキスト原文を第２の言語に翻訳して訳文を生成する際に、前記テキスト原文においてマークアップ記号が付加されている単語に対応する訳語に、当該単語に付加されていたマークアップ記号を付加する機械翻訳編集装置において、
記憶手段と
前記テキスト原文をマークアップ記号としての単語とマークアップ記号を含まないテキスト部分としての単語とに分離する分離手段と、
前記分離手段によって分離された単語がマークアップ記号の場合、当該マークアップ記号が文中で使用される文中マークアップ記号であるか或いは文外で使用される文外マークアップ記号であるかのマークアップ記号種別を判定するマークアップ記号種別判定手段と、
前記分離手段によって分離された単語の各々を、当該単語がマークアップ記号であるか或いはテキスト部分であるかを示すと共に、マークアップ記号の場合には前記マークアップ記号種別判定手段によって判定されたマークアップ記号種別を示す種別情報と関連付けて前記記憶手段に順次格納する関連付け手段と、
前記テキスト原文の訳文の生成時に、当該訳文内に反映されるマークアップ記号を文内マークアップ記号に制限し、前記記憶手段に格納されている単語の群のうち前記文外マークアップ記号であることを示す種別情報と関連付けられた単語を除く単語の群を含む原文単語リスト、及び前記記憶手段に格納されている単語の群のうち前記テキスト部分であることを示す種別情報と関連付けられた全ての単語の訳語と当該訳語のうち前記文内マークアップ記号であることを示す種別情報と関連付けられたマークアップ記号が付加された単語の訳語に付加されるマークアップ記号とを含む訳文単語リストを生成して前記記憶手段に格納する原文／訳文単語リスト生成手段と、
前記原文単語リスト及び前記訳文単語リストに基づいてそれぞれ原文及び訳文を編集可能に表示する表示制御手段と
を具備することを特徴とする機械翻訳編集装置。
【請求項２】
異なる複数のマークアップ記号の各々に関連付けてマークアップ記号種別を示す種別情報が登録されたマークアップ記号種別テーブルを更に具備し、
前記マークアップ記号種別判定手段は、前記分離手段によって分離された単語がマークアップ記号の場合、当該マークアップ記号に関連付けて前記マークアップ記号種別テーブルに登録されている種別情報に基づいて、当該マークアップ記号のマークアップ記号種別を判定する
ことを特徴とする請求項１記載の機械翻訳編集装置。
【請求項３】
前記テキスト原文に含まれるマークアップ記号のマークアップ記号種別をユーザに指定させるためのマークアップ記号種別指定手段を更に具備し、
前記マークアップ記号種別判定手段は、前記マークアップ記号種別指定手段に従うユーザの指定に基づいて前記マークアップ記号種別を判定する
ことを特徴とする請求項１記載の機械翻訳編集装置。
【請求項４】
前記マークアップ記号種別指定手段は、前記テキスト原文に含まれるマークアップ記号の一覧を表示して、当該一覧内の各マークアップ記号のマークアップ記号種別をユーザに指定させることにより、前記テキスト原文に含まれるマークアップ記号の各々に関連付けてマークアップ記号種別を示す種別情報が登録されたマークアップ記号種別テーブルを生成し、
前記マークアップ記号種別判定手段は、前記分離手段によって分離された単語がマークアップ記号の場合、当該マークアップ記号に関連付けて前記マークアップ記号種別テーブルに登録されているを種別情報に基づいて、当該マークアップ記号のマークアップ記号種別を判定する
ことを特徴とする請求項３記載の機械翻訳編集装置。
【請求項５】
前記原文／訳文単語リスト生成手段は、前記原文単語リスト中の単語毎に当該単語がマークアップ記号であるか或いはテキスト部分であるかを示すデータ種別情報を設定し、前記訳文単語リスト中の訳語及びマークアップ記号毎に、それぞれテキスト部分であることを示すデータ種別情報及びマークアップ記号であることを示すデータ種別情報を設定し、  前記表示制御手段は、前記原文単語リスト及び前記訳文単語リストに含まれているデータ種別情報に基づいて、マークアップ記号と当該マークアップ記号以外とを異なる属性で表示する
ことを特徴とする請求項１記載の機械翻訳編集装置。
【請求項６】
前記原文単語リスト及び前記訳文単語リストに含まれているマークアップ記号を表示するか否かをユーザに指定させるマークアップ記号表示指定手段を更に具備し、
前記表示制御手段は、マークアップ記号を表示しないことが指定された場合、前記原文単語リスト及び前記訳文単語リストに含まれているデータ種別情報に基づいて、前記原文及び訳文として、テキスト部分のみを表示する
ことを特徴とする請求項５記載の機械翻訳編集装置。
【請求項７】
前記表示制御手段によって前記原文及び訳文が表示されている状態で、前記原文中または前記訳文中の任意の文字がユーザの操作によって選択されたことを検出する検出手段と、
前記検出手段によって検出された文字を含む単語がマークアップ記号であるかを判定するマークアップ記号判定手段と、
前記検出手段によって検出された文字を含む単語がマークアップ記号である場合、当該マークアップ記号内の文字に対する編集を禁止する禁止手段と
を更に具備することを特徴とする請求項１記載の機械翻訳編集装置。
【請求項８】
前記表示制御手段によって前記原文及び訳文が表示されている状態で、前記原文中または前記訳文中の任意の文字がユーザの操作によって選択されたことを検出する検出手段と、
前記検出手段によって検出された文字を含む単語がマークアップ記号であるかを判定するマークアップ記号判定手段とを更に具備し、
原文／訳文単語リスト生成手段は、前記原文単語リスト中の単語毎に当該単語と対応する前記訳文単語リスト中の訳語またはマークアップ記号とを関連付ける対応関係情報を設定し、前記原文単語リスト中の訳語及びマークアップ記号毎に、当該訳語及びマークアップ記号と対応する前記原文単語リスト中の単語とを関連付ける対応関係情報を設定し、
前記表示制御手段は、前記原文中または前記訳文中の任意の文字を含む単語が前記マークアップ記号であると判定された場合、当該判定されたマークアップ記号と前記原文単語リスト中または前記訳文単語リスト中の前記対応関係情報によって関連付けられている前記訳文中または前記原文中のマークアップ記号が、当該判定されたマークアップ記号と対応関係があると視認可能なように表示する
ことを特徴とする請求項１記載の機械翻訳編集装置。
【請求項９】
マークアップ記号を含む第１言語のテキスト原文を第２の言語に翻訳して訳文を生成する際に、前記テキスト原文においてマークアップ記号が付加されている単語に対応する訳語に、当該単語に付加されていたマークアップ記号を付加するための機械翻訳編集プログラムであって、
コンピュータに、
前記テキスト原文を先頭から順にマークアップ記号としての単語とマークアップ記号を含まないテキスト部分としての単語とに分離するステップと、
前記分離された単語がマークアップ記号の場合、当該マークアップ記号が文中で使用される文中マークアップ記号であるか或いは文外で使用される文外マークアップ記号であるかのマークアップ記号種別を判定するステップと、
前記テキスト原文から分離される単語毎に、当該単語を、当該単語がマークアップ記号であるか或いはテキスト部分であるかを示すと共に、マークアップ記号の場合には前記判定されたマークアップ記号種別を示す種別情報と関連付けて記憶手段に格納するステップと、
前記テキスト原文の訳文の生成時に、当該訳文内に反映されるマークアップ記号を文内マークアップ記号に制限し、前記記憶手段に格納されている単語の群のうち前記文外マークアップ記号であることを示す種別情報と関連付けられた単語を除く単語の群を含む原文単語リスト、及び前記記憶手段に格納されている単語の群のうち前記テキスト部分であることを示す種別情報と関連付けられた全ての単語の訳語と当該訳語のうち前記文内マークアップ記号であることを示す種別情報と関連付けられたマークアップ記号が付加された単語の訳語に付加されるマークアップ記号とを含む訳文単語リストを生成して前記記憶手段に格納するステップと
前記原文単語リスト及び前記訳文単語リストに基づいてそれぞれ原文及び訳文を編集可能に表示するステップと
を実行させるための機械翻訳編集プログラム。
【請求項１０】
前記判定するステップでは、前記分離された単語がマークアップ記号の場合、異なる複数のマークアップ記号の各々に関連付けてマークアップ記号種別を示す種別情報が登録されたマークアップ記号種別テーブルが参照されて、当該分離されたマークアップ記号に関連付けられている種別情報に基づいて、当該分離されたマークアップ記号のマークアップ記号種別が判定されることを特徴とする請求項９記載の機械翻訳編集プログラム。
【請求項１１】
マークアップ記号を含む第１言語のテキスト原文を第２の言語に翻訳して訳文を生成する際に、前記テキスト原文においてマークアップ記号が付加されている単語に対応する訳語に、当該単語に付加されていたマークアップ記号を付加するための機械翻訳編集方法であって、
前記テキスト原文を先頭から順にマークアップ記号としての単語とマークアップ記号を含まないテキスト部分としての単語とに分離するステップと、
前記分離された単語がマークアップ記号の場合、当該マークアップ記号が文中で使用される文中マークアップ記号であるか或いは文外で使用される文外マークアップ記号であるかのマークアップ記号種別を判定するステップと、
前記テキスト原文から単語が分離される毎に当該単語がマークアップ記号であるか或いはテキスト部分であるかを示すと共に、マークアップ記号の場合には前記判定されたマークアップ記号種別を示す種別情報と関連付けて記憶手段に格納するステップと、
前記テキスト原文の訳文の生成時に、当該訳文内に反映されるマークアップ記号を文内マークアップ記号に制限し、前記記憶手段に格納されている単語の群のうち前記文外マークアップ記号であることを示す種別情報と関連付けられた単語を除く単語の群を含む原文単語リスト、及び前記記憶手段に格納されている単語の群のうち前記テキスト部分であることを示す種別情報と関連付けられた全ての単語の訳語と当該訳語のうち前記文内マークアップ記号であることを示す種別情報と関連付けられたマークアップ記号が付加された単語の訳語に付加されるマークアップ記号とを含む訳文単語リストを生成して前記記憶手段に格納するステップと
前記原文単語リスト及び前記訳文単語リストに基づいてそれぞれ原文及び訳文を編集可能に表示するステップと
を具備することを特徴とする機械翻訳編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マークアップ記号を含む第１言語のテキスト原文を第２の言語に翻訳して訳文を生成する機械翻訳編集装置に係り、特に訳文に対する編集に好適な機械翻訳装置、機械翻訳編集プログラム及び機械翻訳編集方法に関する。
【背景技術】
【０００２】
一般に機械翻訳装置は、翻訳モジュールを有している。翻訳モジュールは、入力されたソース言語の文書（テキスト）を、基本辞書及びユーザ辞書並びに文法規則を用いて解析し、構造解析木を生成する。翻訳モジュールはまた、木構造変換規則を利用して、上記ソース言語のテキストの構造解析木をターゲット言語の構造解析木に変換した上、各単語に適切な訳語を割り当て、さらに必要な部分を補ってターゲット言語のテキストを生成する。
【０００３】
一方、最近では、マークアップ言語により記述されたソース言語の文書が翻訳の対象となることが増えてきている。この種のソース言語の文書では、当該文書の本文中にマークアップ記号を含ませておくことにより、そのマークアップ記号に従った体裁で表示などを行うことができる。マークアップ言語としては、ＷＷＷの普及により急速に広まったＨＴＭＬ（HyperText Markup Language）やＳＧＭＬ（Standard Generalized Markup Language）、ＸＭＬ（Extensible Markup Language）などが良く知られている。
【０００４】
例えばＨＴＭＬ文書に含まれるマークアップ記号は、レイアウトや特定の文字の表示方法、更にはリンク機能などを提供する。このリンク機能によれば、マークアップ記号によって囲まれた部分をユーザがクリックすることで、リンク先の文書を呼び出すことができる。ソース言語中に含まれるマークアップ言語を翻訳した場合、当該マークアップ言語に含まれているマークアップ記号を訳文の適切な位置に反映することが求められる。
【０００５】
マークアップ記号を訳文に反映する機械翻訳技術は、例えば特許文献１に記載されている。この特許文献１に記載された機械翻訳技術（以下、先行技術と称する）によれば、次のような手順で機械翻訳が実行される。
【０００６】
まず、テキスト原文からマークアップ記号の開始タグが検出される。すると、このマークアップ記号が付されている単語の位置と当該マークアップ記号の開始タグと終了タグとによって囲まれる単語の数とが当該マークアップ記号に関連付けてバッファに格納される。これにより、テキスト本体が自動的にマークアップ記号と分離され、その分離されたテキスト本体に基づいて第１の言語の構造解析木が作成される。第１の言語の構造解析木は第２の言語の構造解析木に変換される。そして第２の言語の構造解析木から第２の言語のテキストが生成される。
【０００７】
ここで、テキスト原文に含まれている各マークアップ記号は、そのマークアップ記号が付された単語の位置と、当該マークアップ記号の開始タグと終了タグとによって囲まれる単語の数と関連付けてバッファに記憶されている。そこで上記先行技術では、第２の言語のテキストが生成されるときに、テキスト原文においてマークアップ記号の開始タグと終了タグとによって囲まれていた単語に対応する訳語に対して、当該マークアップ記号と等価なマークアップ記号の開始タグ及び終了タグが適切な位置に付加される。
【特許文献１】特許第３２２０５６０号公報（段落００１１及び００１２）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
現在の機械翻訳技術では、複数の解釈が可能な文の翻訳などの場合、完全な翻訳は不可能である。このような場合、翻訳結果に対する後編集作業が必要となる。特に、翻訳結果において、語順が変化したり、１語が複数の単語から構成されたりする場合などには、マークアップ記号の位置によっては、当該マークアップ記号と等価なマークアップ記号を適切な位置に付加することが困難となる可能性がある。このような場合にも、翻訳結果に対する後編集作業が必要となる。
【０００９】
マークアップ記号が反映された翻訳結果のファイル（訳文ファイル）を編集するには、テキストエディタやＨＴＭＬエディタなどを用いるのが一般的である。ところが、例えばテキストエディタを用いて編集作業を行う場合、編集文字列中にマークアップ記号が混在するため、編集対象部分を特定するのもユーザにとって困難となる。
【００１０】
マークアップ記号を適切な位置に反映させるための編集作業では、ユーザは当該マークアップ記号全体を選択して、カット＆ペーストを行う必要がある。このような編集作業は、マークアップ記号の一部が誤って削除されるなどの危険性を秘めている。
【００１１】
これに対し、ＨＴＭＬエディタを使用すればテキストエディタで編集する場合の上述の危険性は少なくなる。しかし、ＨＴＭＬエディタを使用してユーザが訳文を編集するには、多くの場合対応する原文を参照したり、辞書を参照したりする必要がある。ここでは、同時に原文と訳文の２つのファイルが開かれるのが一般的である。この状態でユーザは、編集対象の訳文に対応する原文を参照するために、画面を切り替えてスクロールさせたり、辞書を引くために別途起動した辞書参照ツールに画面を切り替えるなど、煩雑な操作を強いられる。
【００１２】
本発明は上記事情を考慮してなされたものでその目的は、テキスト原文に含まれるマークアップ記号を文中で使用されるマークアップ記号と文外で使用されるマークアップ記号とに区分して、訳文内に反映されるマークアップ記号を文内マークアップ記号に制限することにより、マークアップ記号とテキスト部分とが混在する文書データの編集が効率的に行える機械翻訳編集装置、機械翻訳編集プログラム及び機械翻訳編集方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の１つの観点によれば、マークアップ記号を含む第１言語のテキスト原文を第２の言語に翻訳して訳文を生成する際に、前記テキスト原文においてマークアップ記号が付加されている単語に対応する訳語に、当該単語に付加されていたマークアップ記号を付加する機械翻訳編集装置が提供される。この機械翻訳編集装置は、記憶手段と、前記テキスト原文をマークアップ記号としての単語とマークアップ記号を含まないテキスト部分としての単語とに分離する分離手段と、前記分離手段によって分離された単語がマークアップ記号の場合、当該マークアップ記号が文中で使用される文中マークアップ記号であるか或いは文外で使用される文外マークアップ記号であるかのマークアップ記号種別を判定するマークアップ記号種別判定手段と、前記分離手段によって分離された単語の各々を、当該単語がマークアップ記号であるか或いはテキスト部分であるかを示すと共に、マークアップ記号の場合には前記マークアップ記号種別判定手段によって判定されたマークアップ記号種別を示す種別情報と関連付けて前記記憶手段に順次格納する関連付け手段と、前記テキスト原文の訳文の生成時に、当該訳文内に反映されるマークアップ記号を文内マークアップ記号に制限し、前記記憶手段に格納されている単語の群のうち前記文外マークアップ記号であることを示す種別情報と関連付けられた単語を除く単語の群を含む原文単語リスト、及び前記記憶手段に格納されている単語の群のうち前記テキスト部分であることを示す種別情報と関連付けられた全ての単語の訳語と当該訳語のうち前記文内マークアップ記号であることを示す種別情報と関連付けられたマークアップ記号が付加された単語の訳語に付加されるマークアップ記号とを含む訳文単語リストを生成して前記記憶手段に格納する原文／訳文単語リスト生成手段と、前記原文単語リスト及び前記訳文単語リストに基づいてそれぞれ原文及び訳文を編集可能に表示する表示制御手段とを具備する。
【発明の効果】
【００１４】
本発明によれば、テキスト原文に含まれるマークアップ記号を文中で使用されるマークアップ記号と文外で使用されるマークアップ記号とに区分して、マークアップ記号が付加される訳語を、文中で使用されるマークアップ記号が付加される単語の訳語に制限することにより、マークアップ記号とテキスト部分とが混在する文書データを編集する場合に、ユーザは文外で使用されるマークアップ記号に影響されずに、且つ翻訳されるべき単語または訳語と関連する文中で使用されるマークアップ記号を視認しながら編集できるため、効率的な編集が可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係る機械翻訳編集装置のハードウェア構成を示すブロック図である。図１において、コンピュータ、例えばパーソナルコンピュータ（ＰＣ）１１は、ハードディスクドライブのような外部記憶装置１２と接続されている。この外部記憶装置１２には、機械翻訳及び翻訳結果の編集等のための機械翻訳編集プログラム１２０が格納されている。パーソナルコンピュータ１１は主メモリ１１０を含む。コンピュータ１１は、外部記憶装置１２に格納されている機械翻訳編集プログラム１２０を主メモリ１１０に読み込んで実行することにより、機械翻訳編集装置に必要な機械翻訳及び編集の機能を実現する。なお、機械翻訳編集プログラム１２０がネットワークを介して主メモリ１１０に読み込まれる構成であっても構わない。
【００１６】
図２は、図１の機械翻訳編集装置の機能構成を示すブロック図である。この機械翻訳編集装置は、機械翻訳編集部２０、入力部３１、表示部３２、翻訳辞書部３３及びバッファ部３４から構成される。機械翻訳編集部２０は、図１中のパーソナルコンピュータ１１が外部記憶装置１２に格納されている機械翻訳編集プログラム１２０を主メモリ１１０に読み込んで実行することにより実現される。機械翻訳編集部２０は、システム制御部２１、翻訳部２２及び編集部２３から構成される。
【００１７】
入力部３１及び表示部３２は、図１中のパーソナルコンピュータ１１に設けられている。入力部３１はキーボード（ＫＢ）３１１及びマウス３１２を含む。入力部３１は、翻訳の対象となる原文ファイルのデータ、つまり原文データ（第１の言語の原文データ）や各種の指示（コマンド）を、例えばインターネットなどの通信手段やキーボード３１１等を通じて入力する。また、原文データを図１の外部記憶装置１２から入力することも可能である。表示部３２は、入力部３１によって入力された原文、つまり翻訳されるべき第１言語の文章（原文）や、翻訳部２２によって訳出された第２言語の文章（訳文）等を表示する。
【００１８】
翻訳辞書部３３は、図１中の外部記憶装置１２に確保されている。翻訳辞書部３３は、翻訳処理で使用される図示せぬ各種の辞書（辞書データ）を格納する。翻訳辞書部３３はまた、タグ種別テーブル３３０を格納する。
【００１９】
バッファ部３４は、図１中の主メモリ１１０内に確保される。バッファ部３４は、第１言語の原文データとその翻訳結果としての第２言語のデータとを対応付けて格納すると共に、第１言語及び第２言語を構成する各単語の属性を格納する記憶手段として用いられる。バッファ部３４は、原文バッファ３４１、単語リストバッファ３４２、文リストバッファ３４３、原文単語リストバッファ３４４及び訳文単語リストバッファ３４５を含む。
【００２０】
システム制御部２１は、図２の機械翻訳編集装置全体の制御を司る。ここでは、システム制御部２１は、入力部３１によって入力された例えば翻訳されるべき原文データを翻訳部２２に送出する。またシステム制御部２１は、入力された指示を、当該指示を実行すべき翻訳部２２、編集部２３または表示部３２などに送出する。
【００２１】
翻訳部２２は、システム制御部２１によって送出された第１言語による原文データ（文章データ）に対して、翻訳辞書部３３に格納されている辞書群を使用して翻訳処理を行う。編集部２３は入力部３１からシステム制御部２１を介して送られる編集のための指示に応じての編集処理を行う。編集のための指示は、例えばＢａｃｋＳｐａｃｅキーの押下に応じて入力部３１から送られる文字の削除命令（を表すキーコード）などによって与えられる。編集部２３は、カーソルが存在する文字位置を特定し、その文字位置と編集のための指示とに基づいて、該当する文字を編集する。また編集部２３は、選択されたテキストのコピー、切り取り、移動などの制御を行う。
【００２２】
図３は翻訳部２２の機能構成を示すブロック図である。翻訳部２２は、翻訳文生成部２２０、分離部２２１、タグ種別判定部２２２、単語リスト生成部２２３、文リスト生成部２２４、原文／訳文単語リスト生成部２２５及びタグ種別指定部２２６を含む。
【００２３】
翻訳文生成部２２０は、タグ（マークアップ記号）を含む第１言語のテキスト原文を第２の言語に翻訳して訳文を生成する。翻訳文生成部２２０は、上記訳文の生成時に、テキスト原文においてタグが付加されている単語に対応する訳語に、当該単語に付加されていたタグを付加する。本実施形態では、このように訳文に反映されるタグは、後述する文内タグに制限される。
【００２４】
分離部２２１は、上記テキスト原文をタグとしての単語とタグを含まないテキスト部分としての単語とに分離する。タグ種別判定部２２２は、分離された単語がタグの場合、当該タグが文中で使用される文中タグであるか或いは文外で使用される文外タグであるかのタグ種別を判定する。
【００２５】
単語リスト生成部２２３は、分離された単語の各々を、当該単語がタグであるか或いはテキスト部分であるかのデータ種別を示すデータ種別情報及びタグの場合にはタグ種別を示すタグ種別情報と関連付けて単語リストバッファ３４２に格納する関連付け手段として機能する。文リスト生成部２２４は、バッファ部３４内の単語リストバッファ３４２の内容（単語リスト）に基づき文のリスト（文リスト）を生成する。この文リストに含まれる文は、文外タグとしての単語の列からなり、データ種別がタグとして扱われる文（タグ文）と、文外タグ以外の単語の列からなり、データ種別がテキストとして扱われる文（テキスト文）とに分類される。文外タグ以外の単語には、テキスト部分としての単語と、文内タグとしての単語とがある。本実施形態では、テキスト文だけが翻訳対象文として処理される。
【００２６】
原文／訳文単語リスト生成部２２５は、テキスト原文の訳文の生成時に、当該訳文に反映されるタグの種別を文内タグに制限する。原文／訳文単語リスト生成部２２５は、原文単語リストを及び訳文単語リストを生成して、それぞれバッファ部３４内の原文単語リストバッファ３４４及び訳文単語リストバッファ３４５に格納する。原文単語リストは、文リストバッファ３４３に格納されている文のうち、テキストであることを示すデータ識別情報と関連付けられているテキスト文を構成する単語の群（つまり、文外タグであることを示すタグ種別情報と関連付けられた単語を除く単語の群）を含む。訳文単語リストは、上記テキスト文を構成する単語の群のうち、テキスト部分であることを示すデータ種別情報と関連付けられた全ての単語の訳語と、当該訳語のうち文外タグであることを示すタグ種別情報と関連付けられたタグが付加された単語の訳語に付加されるタグとを含む。システム制御部２１は、原文／訳文単語リスト生成部２２５によって生成された原文単語リスト及び訳文単語リストに基づいてそれぞれ原文及び訳文を表示部３２に表示してユーザの編集操作に供する表示制御手段として機能する。
【００２７】
図４は編集部２３の機能構成を示すブロック図である。編集部２３は、編集処理を行う編集処理部２３０に加えて、タグ表示指定部２３１、検出部２３２、タグ判定部２３３及び禁止部２３４を含む。
【００２８】
タグ表示指定部２３１は、原文単語リスト及び前記訳文単語リストに含まれているマークアップ記号を表示するか否かをユーザに指定させる。検出部２３２は、原文及び訳文が表示されている状態で、当該原文または訳文中の任意の文字がユーザの操作によって選択されたことを検出する。タグ判定部２３３は、検出された文字を含む単語がタグであるかを判定する。禁止部２３４は、検出された文字を含む単語がタグである場合、当該タグ内の文字に対するユーザによる編集操作を無視する。つまりタグ内の文字が編集されるのを禁止する。
【００２９】
次に本実施形態における翻訳処理について、英語（第１言語）の原文を、日本語（第２言語）の訳文に翻訳する場合を例に、図５Ａ及び図５Ｂ並びに図６を参照して説明する。図５Ａ及び図５Ｂは翻訳処理の手順を示すフローチャート、図６は原文及び訳文を表示するための表示処理の手順を示すフローチャートである。
【００３０】
まず、入力部３１によりＨＴＭＬで記述された英語の原文データに対する翻訳の指示が入力されたものとする。この指示は入力部３１からシステム制御部２１に渡される。また、この指示に従って翻訳されるべき英語の原文データが入力部３１によって入力される。この英語の原文データの一例を図７に示す。
【００３１】
システム制御部２１は、入力部３１から翻訳の指示を受け取ると、当該入力部３１によって入力される翻訳されるべき原文データを翻訳部２２に渡す。翻訳部２２は、この原文データをバッファ部３４内の原文バッファ３４１に格納する（ステップＳ１００）。
【００３２】
次に翻訳部２２は、文字位置ポインタを初期値０にセットする（ステップＳ１１０）。この文字位置ポインタは、原文バッファ３４１に格納された原文データの次に参照されるべき（取り出されるべき）文字の位置を指し示す。ここでは、文字位置ポインタにより原文データの０番目（先頭）の文字、つまり“＜”が指し示される。また上記ステップＳ１１０において、翻訳部２２は単語番号Ｎ及び文番号Ｍをいずれも初期値１にセットする。単語番号Ｎ及び文番号Ｍは、それぞれ単語リストバッファ３４２及び文リストバッファ３４３のＮ番目及びＭ番目のエントリを指し示す。
【００３３】
翻訳処理において単語リストバッファ３４２及び文リストバッファ３４３の内容が変化する様子を、それぞれ図８及び図１１に示す。図８から明らかなように、単語リストバッファ３４２の各エントリは、単語番号が設定されるフィールドと、データとしての単語が設定されるデータフィールドと、当該データ（単語）がタグ（マークアップ記号）であるか、或いはタグ以外（つまりテキスト部分）であるかのデータ種別を示すデータ種別情報が設定されるデータ種別フィールドと、当該データ（単語）がタグの場合に、そのタグ（マークアップ記号）が文中で使用される文中タグ（文中マークアップ記号）であるか、或いは文中で使用されないタグ、つまり文外で使用される文外タグ（文外マークアップ記号）であるかのタグ種別（マークアップ記号種別）を示すタグ種別情報が設定されるタグ種別フィールドとを含む。ここで、データ種別フィールド及びタグ種別フィールドを１つのフィールドにまとめて、データフィールドに設定されるデータ（単語）が、テキスト部分であるか、文内タグであるか、或いは文外タグであるかを示す種別情報が設定されるフィールドとしても良い。
【００３４】
一方、文リストバッファ３４３の各エントリは、図１１から明らかなように、文番号が設定されるフィールドと、データとしての文（単語列）が設定されるデータフィールドと、当該データ（文）がタグ（マークアップ記号）であるか、或いはテキストであるかのデータ種別を示すデータ種別情報が設定されるデータ種別フィールドとを含む。このように文リストバッファ３４３に格納される文は、タグ文とテキスト文とに分類される。
【００３５】
翻訳部２２はステップＳ１１０の後、文字位置ポインタが指し示す文字がタグ（マークアップ記号）の開始を示すか否かを判定する（ステップＳ１２０）。ここでは、“＜”であればタグの開始を示すと判定され、ステップＳ１３０の処理に進む。“＜”でない場合はステップＳ１４０に進む。
【００３６】
ステップＳ１３０において翻訳部２２は、単語リストバッファ３４２の単語番号Ｎが１のエントリのデータフィールドに文字“＜”を、データ種別フィールドに“タグ”というデータ種別情報を、それぞれ格納する。図８（ａ）は、このときの単語リストバッファ３４２の状態を示す。なお、上記単語番号Ｎ（＝１）のエントリに既にデータが格納されている場合には、単語番号Ｎが１インクリメントされて、次の単語番号のエントリに文字“＜”が格納される。
【００３７】
一方、ステップＳ１４０において翻訳部２２は、文字位置ポインタが指し示す文字がタグの終了を示すか否かを判定する。このとき“＞”であれば、翻訳部２２はタグの終了を判定して、ステップＳ２２０の処理に進む。“＞”でない場合は、翻訳部２２はＳ１５０に進む。
【００３８】
ステップＳ１５０において翻訳部２２の分離部２２１は、文字位置ポインタが指し示す文字が文末に使用される文字であるか否かを判定する。英語の場合、“．”，“！”，“？”等がこれに相当する。ここでは、“Ｍｒ．”等のように、“．”が単語の一部として使用される場合を考慮して、翻訳部２２の分離部２２１が辞書を参照することにより文末か否かが判定される。翻訳部２２は、文末と判定された場合はステップＳ２９０に進み、文末でないと判定された場合はステップＳ１６０に進む。
【００３９】
ステップＳ１６０において翻訳部２２の分離部２２１は、文字位置ポインタが指し示す文字が、単語リストバッファ３４２の単語番号がＮのエントリの文字列フィールドの先頭に格納されるべき文字（先頭文字）か否かを判定する。先頭文字ではない場合、翻訳部２２はステップＳ１９０に進む。先頭文字の場合、翻訳部２２のタグ種別判定部２２２は、単語リストバッファ３４２内の単語番号が１乃至Ｎ−１のエントリのデータが全て文外タグであるか否かを判定する（ステップＳ１７０）。
【００４０】
全て文外タグの場合、翻訳部２２の文リスト生成部２２４は、文リストバッファ３４３の文番号がＭのエントリに、単語リストバッファ３４２の全データ（単語番号が１乃至Ｎ−１のエントリのデータ）を格納する（ステップＳ１８０）。このとき、翻訳部２２は単語リストバッファ３４２の内容をクリアすると共に単語番号Ｎを初期値１に戻し、且つ文番号Ｍを１インクリメントする。次に翻訳部２２の単語リスト生成部２２３は、単語リストバッファ３４２の単語番号Ｎが１のエントリに、文字位置ポインタが指し示す文字を先頭文字として格納する（ステップＳ１９０）。このとき単語リスト生成部２２３は、上記単語番号Ｎが１のエントリにデータ種別がテキストであるという属性を併せて格納する。一方、上記ステップＳ１６０で、先頭文字ではないと判定された場合、単語リスト生成部２２３は単語リストバッファ３４２の単語番号がＮのエントリに文字位置ポインタが指し示す文字を追加する（ステップＳ１９０）。
【００４１】
次に翻訳部２２の分離部２２１は、原文バッファ３４１に未処理のデータが残っているかを調べ（ステップＳ２００）、残っていない場合は処理を終了する。残っている場合、分離部２２１は文字位置ポインタを１つだけインクリメントし（ステップＳ２１０）、インクリメント後の文字位置ポインタの示す次の文字の評価を行う（ステップＳ１２０）。
【００４２】
このように分離部２２１は、原文バッファ３４１に格納されている原文データを構成する文字列に対して処理を繰り返すことにより、当該文字列をタグ（マークアップ記号）とタグ以外の文字（テキスト）とに分離する。
【００４３】
次に、上記ステップＳ１４０においてタグの終了と判定された場合について説明する。この場合、翻訳部２２の単語リスト生成部２２３は単語リストバッファ３４２の単語番号がＮのエントリに“＞”を追加する（ステップＳ２２０）。これにより、単語リストバッファ３４２は図８（ｂ）に示すようにタグ＜ＨＴＭＬ＞が格納されている状態となる。次に単語リスト生成部２２３は、単語番号Ｎを１インクリメントする（ステップＳ２２１）。
【００４４】
続いて翻訳部２２のタグ種別判定部２２２は、単語リストバッファ３４２の単語番号がＮ−１のエントリに格納されているタグの種類が文外タグであるか否かを判定する（ステップＳ２３０）。ＨＴＭＬでは使用可能なタグとその役割が定められている。このため、タグとその役割の情報に基づき、そのタグが文中で使用される文中タグであるか否か（つまり文外タグであるか）を簡単に判定することができる。この判定のために本実施形態では、タグ種別テーブル３３０が用いられる。このタグ種別テーブル３３０のデータ構造例を図１０に示す。図１０から明らかなように、タグ種別テーブル３３０には、ＨＴＭＬで使用可能なタグ毎に、そのタグの種別、つまり文内タグであるか或いは文外タグであるかを示す情報（タグ種別情報）が登録されている。タグ種別テーブル３３０は、前記したように翻訳辞書部３３内に予め用意されている。
【００４５】
これに対して、ＸＭＬやＳＧＭＬの場合はタグの役割（種別）を特定するのが困難である。そこで、ＸＭＬやＳＧＭＬで記述された原文を翻訳する場合には、以下に述べるようにタグの種別をユーザに指定させると良い。
【００４６】
まず翻訳部２２のタグ種別指定部２２６は、原文バッファ３４１に格納されている原文データ（原文ファイルのデータ）から、当該原文データ中に存在するタグを抽出する。タグ種別指定部２２６は、抽出されたタグのリスト（タグ一覧）をシステム制御部２１の制御により表示部３２の表示画面に表示させる。このときの表示画面例を図９に示す。図９に示す表示画面には、タグ一覧７１に加えて、文内タグ指定ボタン７２及び文外タグ指定ボタン７３が表示される。また、上記表示画面には、文内タグ表示領域７４及び文外タグ表示領域７５が確保されている。ユーザは例えば入力部３１のマウス３１２を操作することで、タグ一覧７１から任意のタグを選択する。またユーザは、選択されたタグが文内タグであるか或いは文外タグであるかを指定するために、文内タグ指定ボタン７２及び文外タグ指定ボタン７３のいずれか一方を選択する。するとシステム制御部２１は、文内タグが指定されたならば選択されたタグを文内タグ表示領域７４に表示し、文外タグが指定されたならば選択されたタグを文外タグ表示領域７５に表示する。タグ種別指定部２２６は、文内タグ表示領域７４及び文外タグ表示領域７５に表示されたタグから、図１０に示すタグ種別テーブル３３０と同様の形式の、翻訳されるべき原文データに固有のタグ種別テーブルを生成する。生成されたテーブルは、この原文データの翻訳処理のみに使用される。
【００４７】
さて、翻訳されるべき原文が図７に示されるようにＨＴＭＬで記述されている本実施形態では、タグの種類の判定には予め用意されているタグ種別テーブル３３０（図１０参照）が用いられる。ここでは、原文バッファ３４１内のタグと一致するタグの種別（属性）を表す情報が、当該タグと関連付けて単語リストバッファ３４２に格納される。原文バッファ３４１に格納されているタグ＜ＨＴＭＬ＞の例では、当該タグは図１０に示されるタグ種別テーブル３３０内の＜ＨＴＭＬ＞と一致する。この場合、翻訳部２２のタグ種別判定部２２２は＜ＨＴＭＬ＞の属性として、タグ種別テーブル３３０から“文外”という情報を取得する。つまりタグ種別判定部２２２は、＜ＨＴＭＬ＞が文外タグであると判定する（ステップＳ２３０）。すると翻訳部２２の単語リスト生成部２２３は、図８（ｃ）に示すように、単語リストバッファ３４２の単語番号１（単語番号Ｎ−１）のエントリに、＜ＨＴＭＬ＞の属性として“文外”を示すタグ種別情報を格納する。
【００４８】
このように、ステップＳ２３０において文外タグと判定された場合、単語リスト生成部２２３は当該タグが格納された単語リストバッファ３４２の単語番号Ｎ−１のエントリに、“文外”を示すタグ種別情報を格納する。この場合、タグ種別判定部２２２は、単語リストバッファ３４２内の単語番号が１乃至Ｎ−２のエントリのデータが全て文外タグであるか否かを判定する（ステップＳ２４０）。全て文外タグの場合、分離部２２１はステップＳ２００を経てステップＳ２１０に進んで、原文バッファ３４１から次のデータを取得する。
【００４９】
これに対し、単語番号が１乃至Ｎ−２のエントリのデータが全て文外タグであると判定されない場合、つまり単語番号が１乃至Ｎ−２のエントリのデータが文外タグ以外である場合（ステップＳ２４０）、タグ種別判定部２２２は、当該単語番号が１乃至Ｎ−２のエントリにテキストまたは文内タグが格納されていると判断する。この場合、翻訳文生成部２２０は、最後に単語リストバッファ３４２に格納された文外タグを除いた当該バッファ３４２のデータ（つまり単語番号が１乃至Ｎ−２のエントリのデータ）を翻訳対象文とする翻訳を行う（ステップＳ２５０）。この翻訳の手順については、上記特許文献１などに記載されているように従来からよく知られているため省略する。文リスト生成部２２４は、ステップＳ２５０での翻訳に用いられた翻訳対象文を文リストバッファ３４３の文番号がＭのエントリに格納して、文番号Ｍを１インクリメントする（ステップＳ２６０）。このとき単語リスト生成部２２３は、単語リストバッファ３４２の単語番号がＮ−１のエントリのデータを、当該バッファ３４２の単語番号１のエントリに移動して、単語番号Ｎを２に設定する。
【００５０】
一方、ステップＳ２３０において文内タグと判定された場合、タグ種別判定部２２２は上記ステップＳ２４０と同様に、単語リストバッファ３４２内の単語番号が１乃至Ｎ−２のエントリのデータが全て文外タグであるか否かを判定する（ステップＳ２７０）。全て文外タグの場合、文リスト生成部２２４は、単語番号が１乃至Ｎ−２のエントリのデータ（つまり文外タグ群）を１つの文として、文リストバッファ３４３の文番号がＭのエントリに格納し、文番号Ｍを１インクリメントする（ステップＳ２８０）。このとき単語リスト生成部２２３は、最後に単語リストバッファ３４２に格納されたデータ、つまり単語番号がＮ−１のエントリのデータを、当該バッファ３４２の単語番号１のエントリに移動して、単語番号Ｎを２に設定する。。これに対し、単語番号が１乃至Ｎ−２のエントリのデータが全て文外タグ以外である場合、つまりテキストまたは文内タグの場合（ステップＳ２７０）、分離部２２１はステップＳ２００を経てステップＳ２１０に進んで、原文バッファ３４１から次のデータを取得する。
【００５１】
次に、上記ステップＳ１５０において文末と判定された場合について説明する。この場合、単語リスト生成部２２３は文末と判定された文字（文末文字）を単語リストバッファ３４２の単語番号がＮのエントリに格納する（ステップＳ２９０）。すると翻訳文生成部２２０は、現在単語リストバッファ３４２に格納されている全データ（つまり単語番号が１乃至Ｎのエントリに格納されているデータ）を翻訳対象文とする翻訳を行う（ステップＳ３００）。文リスト生成部２２４は、この翻訳対象文を文リストバッファ３４３の文番号がＭのエントリに格納し、文番号Ｍを１インクリメントする（ステップＳ３１０）。
【００５２】
次に、図７に示す英語の原文データに対する翻訳が指示された場合の上述の翻訳処理をより具体的に説明する。まず、図７に示す原文における文字列（タグ）“＜ＨＴＭＬ＞”の先頭文字“＜”がタグの開始と判定される（ステップＳ１２０）。文字“＜”は、図８（ａ）に示すように、単語リストバッファ３４２の単語番号１のエントリに格納される（ステップＳ１３０）。
【００５３】
続いて文字列“＜ＨＴＭＬ＞”中の“Ｈ”，“Ｔ”，“Ｍ”，“Ｌ”が上記単語番号１のエントリに順次格納される（ステップＳ１９０）。次に文字列“＜ＨＴＭＬ＞”中の“＞”がタグの終了と判定され（ステップＳ１４０）、図８（ｂ）に示すように当該“＞”が上記単語番号１のエントリに格納される（ステップＳ２２０）。次に図１０に示すタグ種別テーブル３３０が参照されて、上記単語番号１のエントリに格納された文字列“＜ＨＴＭＬ＞”が文外タグであると判定される（ステップＳ２３０）。これにより、上記単語番号１のエントリには、図８（ｃ）に示すように、“＜ＨＴＭＬ＞”のタグ種別が文外タグであることを示す情報が格納される。このとき単語番号Ｎが１から２にインクリメントされる。
【００５４】
次に、図７に示す原文における文字列（タグ）“＜ＢＯＤＹ＞”の部分の処理が１文字ずつ同様に行われる。“＜ＢＯＤＹ＞”も“＜ＨＴＭＬ＞”と同様に文外タグと判定されるため、単語リストバッファ３４２は図８（ｄ）に示す状態となる。このとき単語番号Ｎが２から３にインクリメントされる。
【００５５】
続いて、図７に示す原文における文字列“Ｃｌｉｃｋ”の部分の処理が次のように行われる。まず文字“Ｃ”が取得された場合に、当該“Ｃ”が単語リストバッファ３４２の単語番号Ｎ（つまり単語番号３）のエントリにおける先頭文字と判定される（ステップＳ１６０）。このとき図８（ｄ）から明らかなように、単語リストバッファ３４２の単語番号１乃至Ｎ−１（つまり単語番号１及び２）のエントリに格納されているデータ“＜ＨＴＭＬ＞”及び“＜ＢＯＤＹ＞”は全て文外タグである（ステップＳ１７０）。この場合、“＜ＨＴＭＬ＞”及び“＜ＢＯＤＹ＞”は１つのデータとして、文リストバッファ３４３の文番号Ｍが１のエントリに格納される（ステップＳ１８０）。このときの文リストバッファ３４３の状態を図１１（ａ）に示す。上記ステップＳ１８０では、単語リストバッファ３４２の内容がクリアされると共に、単語番号Ｎ（＝３）が１に初期化される。
【００５６】
次に文字“Ｃ”が、図８（ｅ）に示すように、単語リストバッファ３４２の単語番号１のエントリに格納されると共に“テキスト”という属性が格納される（ステップＳ１９０）。残りの“ｌｉｃｋ”の部分は、上記単語番号１のエントリの“Ｃ”に後続する位置に追加される（ステップＳ１９０）。
【００５７】
続いて、図７に示す原文における文字列“＜Ａ  ｈｒｅｆ＝”ｈｔｔｐ：／／ｗｗｗ．ａａａ．ｃｏｍ＞”の部分の処理が次のように行われる。まず、“＜”が取得されると、当該“＜”が単語リストバッファ３４２の単語番号２のエントリに格納される（ステップＳ１３０）。次に、残りの“Ａ  ｈｒｅｆ＝”ｈｔｔｐ：／／ｗｗｗ．ａａａ．ｃｏｍ＞”のうち“＞”を除く文字列が、上記単語番号２のエントリの“＜”に後続する位置に順次追加される（ステップＳ１９０）。そして最後の“＞”が上記単語番号２のエントリに格納されると（ステップＳ２２０）、当該エントリに格納されている文字列“＜Ａ  ｈｒｅｆ＝”ｈｔｔｐ：／／ｗｗｗ．ａａａ．ｃｏｍ＞”のタグの種別が、図１０に示すタグ種別テーブル３３０を参照して行われる（ステップＳ２３０）。
【００５８】
文字列“＜Ａ  ｈｒｅｆ＝”ｈｔｔｐ：／／ｗｗｗ．ａａａ．ｃｏｍ＞”は、文字列“＜Ａ”の次がスペースの場合、最後の文字“＞”と合わせてタグ“＜Ａ＞”として認識される。この場合、図１０に示すタグ種別テーブル３３０から明らかなように、タグ“＜Ａ＞”は文内タグと判定される（ステップＳ２３０）。すると、単語リストバッファ３４２の単語番号２より小さな単語番号のエントリ、つまり単語番号１のエントリのデータのタグが文外タグであるか否かが判定される（ステップＳ２７０）。このとき、単語番号１のエントリには文字列“Ｃｌｉｃｋ”が格納されており、当該文字列“Ｃｌｉｃｋ”は文外タグでないと判定される。
【００５９】
続いて、図７に示す原文における文字列“Ｈｅｒｅ”及び“＜／Ａ＞”に対しても同様の処理が行われ、当該“Ｈｅｒｅ”及び“＜／Ａ＞”は単語リストバッファ３４２のそれぞれ単語番号３及び４のエントリに格納される。この結果、単語リストバッファ３４２は図８（ｆ）に示す状態となる。
【００６０】
更に“＜／Ａ＞”に後続する“．”が文末文字と判定され（ステップＳ１５０）、図８（ｇ）に示すように、当該“．”が単語リストバッファ３４２の単語番号５のエントリに格納される（ステップＳ２９０）。すると、その時点において単語リストバッファ３４２に格納されている全データ、即ち単語番号が１乃至５のエントリに格納されているデータ）を翻訳対象文とする翻訳を行う（ステップＳ３００）。この翻訳においては、上記特許文献１に記載されているように、原文（翻訳対象原文）に含まれているタグが訳文に反映される。ここで、翻訳対象原文に文外タグが含まれていないことに注意されたい。このとき翻訳部２２の原文／訳文単語リスト生成部２２５は、単語リストバッファ３４２の内容に対応する原文単語リスト及びタグ情報が反映された訳文を構成する単語のリスト（訳文単語リスト）を生成する。原文単語リスト及び訳文単語リストは、原文と訳文との間の単語（テキスト）の対応関係及び原文に付されているタグと訳文に反映されているタグとの対応関係を示す情報を含む。
【００６１】
文リスト生成部２２４は、単語リストバッファ３４２に格納されている翻訳対象原文を、図１１（ｂ）に示すように、文リストバッファ３４３の文番号２のエントリに格納する（ステップＳ３１０）。このとき原文／訳文単語リスト生成部２２５は、翻訳対象原文に対応する上記原文単語リスト及び訳文単語リストを、それぞれ原文単語リストバッファ３４４及び訳文単語リストバッファ３４５に格納する。図１２及び図１３は、それぞれ、この時点における原文単語リストバッファ３４４及び訳文単語リストバッファ３４５の内容（原文単語リスト及び訳文単語リスト）を示す。単語リストバッファ３４４及び３４５の各エントリは、単語リストバッファ３４２の各エントリにおけるタグ種別フィールドに代えて、対応関係フィールドを含む。
【００６２】
図１２及び図１３において、それぞれ同一の固有の数値（対応関係情報）が対応関係フィールドに設定されたエントリの単語（テキストまたはタグ）は対応していることを示す。例えば、原文単語リストバッファ３４４においてテキスト“Ｃｌｉｃｋ”が格納されているエントリ及び訳文単語リストバッファ３４５においてテキスト“クリックしなさい”が格納されているエントリの対応関係フィールドには、同一の数値１が設定されている。このことは、“Ｃｌｉｃｋ”と“クリックしなさい”とが対応することを示す。なお、原文単語リスト及び訳文リスト間で対応関係のない単語が格納されているエントリの対応関係フィールドには、その旨を示す特別の数値、例えば−１が設定されている。
【００６３】
続いて、図７に示す原文における文字列“＜／ＢＯＤＹ＞”及び“＜／ＨＴＭＬ＞”に関しても同様に処理が行われて、当該“＜／ＢＯＤＹ＞”及び“＜／ＨＴＭＬ＞”はいずれも文外タグとして判定される。これにより、文リストバッファ３４３は最終的に図１１（ｃ）に示す状態となる。
【００６４】
翻訳部２２による翻訳処理が完了すると、システム制御部２１は表示部３２を用いた表示処理を実行する。以下、この表示処理について、図６のフローチャート並びに図１４の原文及び訳文の表示例を参照して説明する。
【００６５】
まずシステム制御部２１は、文リストバッファ３４３のＭ番目のエントリを指定する文番号Ｍを初期値１にセットする（ステップＳ５００）。システム制御部２１は、文リストバッファ３４３の文番号Ｍ（＝１）のエントリを参照することにより（ステップＳ５０１）、当該エントリに文が存在するか否かを判定する（ステップＳ５１０）。もし、文番号Ｍのエントリに文が存在しない場合、システム制御部２１は表示処理を終了する。文番号Ｍのエントリに文が存在する場合、システム制御部２１は当該文がタグであるか否かを、エントリのデータ種別フィールドに基づいて判定する（ステップＳ５２０）。
【００６６】
文番号Ｍのエントリに存在する文の種別がタグの場合（ステップＳ５２０）、システム制御部２１は文番号Ｍを１インクリメントし（ステップＳ５２１）、このインクリメント後の文番号Ｍで指定される文リストバッファ３４３のエントリを参照する（ステップＳ５０１）。
【００６７】
一方、文番号Ｍのエントリに存在する文（つまり文番号Ｍの原文）の種別がテキストの場合（ステップＳ５２０）、システム制御部２１は、当該文番号Ｍの原文に関連付けられている原文単語リスト及び訳文単語リストを、それぞれ原文単語リストバッファ３４４及び訳文単語リストバッファ３４５から取得する（ステップＳ５３０）。システム制御部２１は、原文単語リスト及び訳文単語リストの各々に含まれている単語について以下の処理を繰り返す。
【００６８】
まずシステム制御部２１は、原文単語リストまたは訳文単語リストから未処理の単語を取り出す処理を行う（ステップＳ５４０）。もし、未処理の単語が存在するために、当該未処理の単語を取り出すことができたならば（ステップＳ５５０）、システム制御部２１は当該取り出された単語に関連付けられているデータ種別を判定する（ステップＳ５６０）。
【００６９】
取り出された単語のデータ種別がテキストの場合、つまりタグでない場合、システム制御部２１は表示部３２を用いて当該単語を表示する（ステップＳ５７０）。これに対し、取り出された単語のデータ種別がタグの場合、システム制御部２１は原文単語リストまたは訳文単語リストから次の未処理の単語を取り出す処理を行う（ステップＳ５４０）。ここでは、原文単語リストに含まれている単語についての処理が先に実行されるものとするが、この逆でも構わない。また、単語番号の例えば昇順に原文単語リスト及び訳文単語リストから交互に単語が取り出される構成であっても構わない。
【００７０】
原文単語リスト及び訳文単語リスト中の全ての単語に対して処理が行われると（ステップＳ５５０）、システム制御部２１は文番号Ｍを１インクリメントし（ステップＳ５２１）、このインクリメント後の文番号Ｍで指定される文リストバッファ３４３のエントリを参照する（ステップＳ５０１）。このようにしてシステム制御部２１は、最後の文まで処理を行う。その結果、図１１（ｃ）に示す文リスト、当該文リスト中の文番号２の文に対応するそれぞれ図１２及び図１３に示す原文単語リスト及び訳文単語リストの場合、図１４に示す原文及び訳文が表示される。この原文及び訳文はタグを含まないため、ユーザはタグの存在を意識せずに原文及び訳文の編集操作を行うことができる。なお、図１４では、速図の都合上、原文及び訳文が上限配置されているが、左右に配置されても構わない。
【００７１】
なお、上記実施形態では、原文バッファ３４１、単語リストバッファ３４２、文リストバッファ３４３、原文単語リストバッファ３４４及び訳文単語リストバッファ３４５が予めバッファ部３４に確保されている場合を前提としている。しかし、これらのバッファが必要に応じて確保されるものであっても構わない。また、例えば単語リスト及び文リストの各エントリが、逐次生成される構成であっても構わない。
【００７２】
［変形例］
次に上記実施形態の変形例について説明する。この変形例の第１の特徴は、上記実施形態と異なってタグも表示される点にある。この変形例の第２の特徴は、タグとテキストとを表示画面上でユーザが容易に識別可能な表示を行う点にある。以下、上記実施形態の変形例における表示処理について、図１５の原文及び訳文の表示例並びに図１６のフローチャートを参照して、上記実施形態における表示処理と相違する部分のみ説明する。なお、図１６において、図６と同様の部分には同一符号を付してある。
【００７３】
まず、原文単語リストまたは訳文単語リストから取り出された単語のデータ種別がテキストであるものとする（ステップＳ５６０）。この場合、システム制御部２１は、上記取り出された単語の表示フォントの表示属性としての例えば強調表示を解除して（ステップＳ５６１）、当該単語を表示する（ステップＳ５７０）。一方、上記取り出された単語のデータ種別がタグの場合（ステップＳ５６０）、システム制御部２１は当該単語の表示フォントの表示属性として強調表示を設定して（ステップＳ５６２）、当該単語を表示する（ステップＳ５７０）。
【００７４】
以上により、本変形例においては、図１１（ｃ）に示す文リスト、当該文リスト中の文番号２の文に対応するそれぞれ図１２及び図１３に示す原文単語リスト及び訳文単語リストの場合、図１５に示す原文及び訳文が表示される。この図１５では、原文と訳文にテキストとタグが混在する形で表示される。しかし、タグの部分が図１５においてハッチングで示されるように強調表示されている。このためユーザは、タグの部分（つまりマークアップ記号）とテキスト部分とを一目で識別することができ、且つタグが原文と訳文のどの位置に存在するかを確認することができる。これによりユーザは、タグ部分に誤った修正を行うことなく、例えば訳文に対する編集作業を効率的に行うことが可能となる。図１５では、速図の都合上、原文及び訳文が上限配置されているが、左右に配置されても構わない。
【００７５】
なお、上記実施形態のようにタグを表示しないか、本変形例のようにタグを表示するかは、編集部２３のタグ表示指定部２３１によりユーザに指定させることができる。このタグ表示指定部２３１が、システム制御部２１に含まれる構成であっても構わない。
【００７６】
以下、本変形例で適用される、ユーザの編集操作に従う編集処理について、図１７のフローチャートを参照して説明する。この編集処理では、表示部３２に表示されている原文または訳文に対してデータの種別により編集が制御される。
【００７７】
まず、図１３の訳文に含まれている文字列“＜Ａ  ｈｒｅｆ＝”ｈｔｔｐ：／／ｗｗｗ．ａａａ．ｃｏｍ＞”内にカーソルが存在する状態で、入力部３１に含まれているキーボード３１１上のＢａｃｋＳｐａｃｅキーが押されたものとする。すると、ＢａｃｋＳｐａｃｅキーに固有のキーコードが入力部３１により入力される。システム制御部２１は、この入力キーコードを編集部２３に送る。
【００７８】
編集部２３の編集処理部２３０はシステム制御部２１によって送られたキーコードを受け取ると、当該キーコードに基づき編集キーが押されたか否かを判定する（ステップＳ７００）。ここで編集キーとは、ＢａｃｋＳｐａｃｅ（後退）キー、Ｄｅｌｅｔｅ（削除）キー、文字キー、数字キーなどを指す。ここでは、システム制御部２１によってＢａｃｋＳｐａｃｅキーのキーコードが送られている。この場合、編集処理部２３０は編集キーが押されたものと判定する（ステップＳ７００）。
【００７９】
すると編集部２３の検出部２３２は、現在のカーソル位置を取得して、当該カーソル位置に存在する文中の文字がユーザによって選択されたことを検出する（ステップＳ７１０）。検出部２３２は、カーソル位置に存在する文に関連付けられている単語リストを取得する（ステップＳ７２０）。ここでは、原文単語リストバッファ３４４に格納されている原文単語リスト及び訳文単語リストバッファ３４５に格納されている訳文単語リストのうち、訳文単語リスト（図１３参照）が取得される。
【００８０】
次に検出部２３２は、単語番号Ｎを初期値１に設定し（ステップＳ７２１）、ステップＳ７２０で取得された単語リスト中の単語番号Ｎの単語を参照する（ステップＳ７３０）。検出部２３２は、単語リストの先頭から単語番号Ｎの単語までの文字列の長さ（文字列長）ＬＮを取得する（ステップＳ７４０）。Ｎ＝１の場合、単語番号１の単語、つまり先頭の単語の文字列長が取得される。
【００８１】
次に検出部２３２は、単語リストの先頭から現在のカーソル位置までの文字列長ＬＣが、当該単語リストの先頭から単語番号Ｎの単語までの文字列長ＬＮよりも長いか否かを判定する（ステップＳ７５０）。もし、ＬＣ＞ＬＮであり（ステップＳ７５０）、且つ単語番号Ｎの単語が単語リストの最後の単語でないならば（ステップＳ７８０）、検出部２３２は単語番号Ｎを１インクリメントする（ステップＳ７６１）。そして検出部２３２は、インクリメント後の単語番号Ｎの単語を参照する（ステップＳ７３０）。検出部２３２は、単語リストの先頭からインクリメント後の単語番号Ｎの単語までの文字列長ＬＮを取得する（ステップＳ７４０）。この文字列長ＬＮは、前回のステップＳ７４０で取得されている単語リストの先頭から単語番号Ｎ−１の単語までの文字列長に、単語番号Ｎの単語の文字列長を加算することにより取得される。つまり検出部２３２は、単語リストの先頭の単語（単語番号１の単語）から単語番号Ｎの単語までの各単語の文字列長を順次加算することにより、文字列長ＬＮを取得する。
【００８２】
やがて、ステップＳ７４０で取得された文字列長ＬＮが文字列長ＬＣ以上となったものとする（ステップＳ７５０）。つまり、単語リストの先頭から単語番号Ｎの単語までの文字列長ＬＮが単語リストの先頭からカーソル位置までの文字列長ＬＣ以上となったものとする。この場合、検出部２３２は現在の単語番号Ｎの単語を、現在カーソルが位置する単語として特定する。
【００８３】
すると編集部２３のタグ判定部２３３は、特定されたカーソル位置の単語、つまり単語番号Ｎの単語のデータ種別がタグであるか否かを判定する（ステップＳ７７０）。カーソルが“＜Ａ  ｈｒｅｆ＝”ｈｔｔｐ：／／ｗｗｗ．ａａａ．ｃｏｍ＞”内に存在する本変形例では、カーソル位置の単語はタグと判定される。このように、カーソル位置の単語がタグと判定された場合（ステップＳ７７０）、禁止部２３４は編集処理部２３０に対して、システム制御部２１から送られたＢａｃｋＳｐａｃｅキー（編集キー）のキーコードを無視するように制御する。これにより、訳文に付されているタグに対するユーザによる編集操作が禁止される。原文に含まれているタグに対するユーザによる編集操作についても、同様に禁止される。
【００８４】
さて、カーソルで位置指定された原文または訳文中の文字（ここでは訳文中の文字）を含む単語がタグと判定された場合、システム制御部２１は、当該判定されたタグ（単語）が選択されたとして、当該判定（選択）されたタグと原文単語リストまたは訳文単語リスト中の対応関係情報によって関連付けられている訳文または原文中のタグが、当該判定されたタグと対応関係があるとユーザが視認可能なように、両方のタグを特別の表示属性で表示する。
【００８５】
一方、カーソル位置の単語、つまり単語番号Ｎの単語がテキストであると判定された場合には（ステップＳ７７０）、編集処理部２３０は単語番号Ｎの単語内の文字に対してシステム制御部２１から送られたキーコードに固有の編集を行う（ステップＳ７８０）。例えば、ＢａｃｋＳｐａｃｅキーのキーコードが送られた場合であれば、単語番号Ｎの単語内の（編集キー）カーソル位置の直前の文字が削除され、単語リスト（ここでは訳文単語リスト）が更新される。
【００８６】
一方、システム制御部２１によって送られたキーコードが編集キーのキーコードではなくて（ステップＳ７００）、カーソル移動キーのキーコードであるならば（ステップＳ７９０）、編集処理部２３０は当該カーソル移動キーのキーコードに基づいてカーソルを移動する（ステップＳ８００）。
【００８７】
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００８８】
【図１】本発明の一実施形態に係る機械翻訳編集装置のハードウェア構成を示すブロック図。
【図２】図１の機械翻訳編集装置の機能構成を示すブロック図。
【図３】図２中の翻訳部２２の構成を示すブロック図。
【図４】図２中の編集部２３の構成を示すブロック図。
【図５Ａ】同実施形態における翻訳処理の手順を示すフローチャート。
【図５Ｂ】同実施形態における翻訳処理の手順を示すフローチャート。
【図６】同実施形態における表示処理の手順を示すフローチャート。
【図７】同実施形態において翻訳されるべき原文データの例を示す図。
【図８】同実施形態の翻訳処理において単語リストバッファ３４２の内容が変化する様子を示す図。
【図９】同実施形態においてタグの種別をユーザに指定させるための表示画面例を示す。
【図１０】同実施形態で適用されるタグ種別テーブル３３０のデータ構造例を示す図。
【図１１】同実施形態の翻訳処理において文リストバッファ３４３の内容が変化する様子を示す図。
【図１２】同実施形態の翻訳処理において生成される原文単語リストが原文単語リストバッファ３４４に格納されている状態を示す。
【図１３】同実施形態の翻訳処理において生成される訳文単語リストが訳文単語リストバッファ３４５に格納されている状態を示す。
【図１４】同実施形態の表示処理における原文及び訳文を含む表示画面例を示す図。
【図１５】同実施形態の変形例の表示処理における原文及び訳文を含む表示画面例を示す図。
【図１６】上記変形例における表示処理の手順を示すフローチャート。
【図１７】上記変形例における編集処理の手順を示すフローチャート。
【符号の説明】
【００８９】
１１…パーソナルコンピュータ、１２…外部記憶装置、２０…機械翻訳編集部、２１…システム制御部、２２…翻訳部、２３…編集部、３１…入力部、３２…表示部、３３…翻訳辞書部、３４…バッファ部、１１０…主メモリ、１２０…機械翻訳編集プログラム、２２０…翻訳文生成部、２２１…分離部、２２２…タグ種別判定部、２２３…単語リスト生成部、２２４…文リスト生成部、２２５…原文／訳文単語リスト生成部、２２６…タグ種別指定部、２３０…タグ表示指定部、２３１…タグ表示指定部、２３２…検出部、２３３…タグ判定部、２３４…禁止部、３４１…原文バッファ、３４２…単語リストバッファ、３４３…文リストバッファ、３４４…原文単語リストバッファ、３４５…訳文単語リストバッファ。
【図１】
2007207098.tif 000003
【図２】
2007207098.tif 000004
【図３】
2007207098.tif 000005
【図４】
2007207098.tif 000006
【図５Ａ】
2007207098.tif 000007
【図５Ｂ】
2007207098.tif 000008
【図６】
2007207098.tif 000009
【図７】
2007207098.tif 000010
【図８】
2007207098.tif 000011
【図９】
2007207098.tif 000012
【図１０】
2007207098.tif 000013
【図１１】
2007207098.tif 000014
【図１２】
2007207098.tif 000015
【図１３】
2007207098.tif 000016
【図１４】
2007207098.tif 000017
【図１５】
2007207098.tif 000018
【図１６】
2007207098.tif 000019
【図１７】
2007207098.tif 000020