(57)【要約】【課題】秘密性の高い文書を外部のコンピュータ資源を使いながらも安全に翻訳する翻訳装置を提供する。【解決手段】翻訳装置は、不特定多数が利用する外部のコンピュータであって、第１の言語で記述された文章をインターネットを通じて入力し、それを第２の言語で記述された文章に翻訳する外部コンピュータとの間で通信を行う。翻訳装置は、名詞である単語とその直後に続く参照符号とからなるセット中の単語部分を、その単語に対応する文字列に置き換える第１の置換手段と、第１の置換手段で置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信手段と、前記外部コンピュータから、翻訳後の第２の言語で記述された文章をインターネットを通じて受信する受信手段とを備える。【選択図】図１
2020077134.tif 000002
【特許請求の範囲】
【請求項１】
不特定多数が利用するコンピュータであって、第１の言語で記述された文章をインターネットを通じて入力し、それを第２の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信するコンピュータとの間で通信を行う翻訳装置において、
前記第１の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、
前記翻訳装置は、
前記名詞である単語とその直後に続く参照符号とからなるセット中の単語部分を、その単語に対応する文字列に置き換える第１の置換手段と、
前記第１の置換手段で置き換えが行われた文章を、インターネットを通じて前記コンピュータに送信する送信手段と、
前記コンピュータから、翻訳後の前記第２の言語で記述された文章をインターネットを通じて受信する受信手段とを備えた、翻訳装置。
【請求項２】
前記受信手段が受信した文章中における、前記第１の置換手段で置き換えられた文字列を、それに対応する前記第２の言語の単語に置き換える第２の置換手段をさらに備えた、請求項１に記載の翻訳装置。
【請求項３】
前記第１の置換手段による置き換え後の文字列は、前記名詞である単語に対応する前記第２の言語の単語、又は暗号文字列である、請求項１または２に記載の翻訳装置。
【請求項４】
前記名詞である単語は、上付き若しくは下付き文字を含む、請求項１から３のいずれかに記載の翻訳装置。
【請求項５】
前記第１の置換手段は、
データベースに登録された、単語とその置き換え文字列とを対応付ける複数の組から、１つの組における単語、及びその置き換え文字列を読み出す読出手段と、
前記読出手段によって読み出された１つの単語を、前記第１の言語で記述された文章中から検索し、それがあった場合にその単語をそれに対応付けられた置き換え文字列に置換する処理を、前記第１の言語で記述された文章内において繰り返し行う第１の処理手段とを備え、
前記第１の処理手段で前記第１の言語で記述された文章内の全ての置換えを行った後に、前記読出手段で次の組における単語、及びその置き換え文字列を読み出し、前記第１の処理手段での処理を行う、請求項１から４のいずれかに記載の翻訳装置。
【請求項６】
前記送信手段は、前記第１の言語で記述された文章を分割することにより得られた複数の単位部分のうち、１つの単位部分を前記コンピュータに送信し、
前記受信手段は、前記１つの単位部分についての翻訳後の前記第２の言語で記述された文章を受信し、
前記複数の単位部分のそれぞれに対して、前記送信手段での処理と、前記受信手段での処理とを行う、請求項１から５のいずれかに記載の翻訳装置。
【請求項７】
前記単位部分は、前記第１の言語で記述された文章を、句点、読点、および改行コードの少なくとも１つの位置で分割した部分である、請求項６に記載の翻訳装置。
【請求項８】
前記単位部分は、前記第１の言語で記述された文章を、句点の位置で分割した部分であり、
前記単位部分において、それに含まれる少なくとも一部の句又は節の後に改行コードが挿入されている、請求項６または７に記載の翻訳装置。
【請求項９】
前記受信手段は、前記単位部分についての翻訳後の前記第２の言語で記述された文章を順次受信し、受信された文書同士を、その間にスペースを挿入して結合する、請求項６から８のいずれかに記載の翻訳装置。
【請求項１０】
前記受信手段による受信後の文章を、後処理する後処理手段をさらに備え、
前記後処理手段は、文章中のスペースの削除、単語の統一、文章中の大文字／小文字の変換、スペルチェック、および複数形の単語を正しい表記にする処理の少なくとも１つを行う、請求項１から９のいずれかに記載の翻訳装置。
【請求項１１】
前記第１の言語で記述された文章は、その一部に、段落番号を含んでおり、
前記送信手段は、前記文章に含まれる段落番号を送信しない、請求項１から１０のいずれかに記載の翻訳装置。
【請求項１２】
前記文章に含まれる段落番号を、全角から半角に変換し、前記受信手段が受信した文章の対応する位置に挿入する、請求項１１に記載の翻訳装置。
【請求項１３】
前記第１の置換手段は、第１の言語で記述された文章中の特定の単語を、それに対応する文字列に置き換え、その文字列の前および後の少なくともいずれかに、特定の文字コードを挿入する、請求項１から１２のいずれかに記載の翻訳装置。
【請求項１４】
前記特定の文字コードは、空白文字、または括弧、クォーテーション記号その他の囲まれる部分を他と区別するための印を表すコードである、請求項１３に記載の翻訳装置。
【請求項１５】
不特定多数が利用する外部コンピュータであって、第１の言語で記述された文章をインターネットを通じて入力し、それを第２の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置の制御プログラムにおいて、
前記翻訳装置は、コンピュータを含み、
前記第１の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、
前記翻訳装置の制御プログラムは、
前記名詞である単語とその直後に続く参照符号とからなるセット中の単語部分を、その単語に対応する文字列に置き換える第１の置換ステップと、
前記第１の置換ステップで置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、
前記外部コンピュータから、翻訳後の前記第２の言語で記述された文章をインターネットを通じて受信する受信ステップとをコンピュータに実行させる、翻訳装置の制御プログラム。
【請求項１６】
不特定多数が利用する外部コンピュータであって、第１の言語で記述された文章をインターネットを通じて入力し、それを第２の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置を用いた翻訳方法において、
前記翻訳装置は、コンピュータを含み、
前記第１の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、
前記翻訳方法は、
前記翻訳装置によって、前記名詞である単語とその直後に続く参照符号とからなるセット中の単語部分を、その単語に対応する文字列に置き換える第１の置換ステップと、
前記翻訳装置によって、前記第１の置換ステップで置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、
前記翻訳装置によって、前記外部コンピュータから、翻訳後の前記第２の言語で記述された文章をインターネットを通じて受信する受信ステップとを含む、翻訳装置を用いた翻訳方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法に関する。
【背景技術】
【０００２】
形態素解析や係り受け解析等、機械翻訳（ＭＴ：Ｍａｃｈｉｎｅ  Ｔｒａｎｓｌａｔｉｏｎ）の基礎となる技術の研究が始まったのは、西暦１９５０年代のことである。西暦１９８０年代になると、コンピュータの性能の向上に伴い、ルールベースの機械翻訳技術が、ある程度の実用性を備えるに至った。
【０００３】
西暦１９９０年代には、統計的機械翻訳（ＳＴＭ：Ｓｔａｔｉｓｔｉｃａｌ  Ｂａｓｅ  Ｍａｃｈｉｎｅ  Ｔｒａｎｓｌａｔｉｏｎ）の手法が開発された。これは、異なる言語間の単語、文章構造の対応を統計的に処理し、翻訳される確率の高い単語、翻訳文を翻訳候補から選択するものである。統計的機械翻訳においては、翻訳モデルにより、元の単語に対応する単語、および単語の語順が確率に従って決定される。さらに、言語モデルによって、翻訳後の単語の正しい並び方が確率に従って決定される。統計的機械翻訳では、翻訳エンジン（翻訳モデルおよび言語モデル）の構築のために、大量の対訳データ（訓練データ）が必要とされる。翻訳エンジンを用いた翻訳文と正解翻訳とを比較することで、翻訳エンジンは適宜チューニングされる。
【０００４】
統計的機械翻訳においては、語順を正しく決定するために、元の言語の文章の構文解析を行い、係り受け関係を利用して、元の言語の単語の語順を予め翻訳先の言語の語順に変換しておく技術が知られている。
【０００５】
西暦２０１０年代に入り、ニューラルネットワークによるディープラーニングを用いたニューラル機械翻訳（ＮＭＴ：Ｎｅｕｒａｌ  Ｍａｃｈｉｎｅ  Ｔｒａｎｓｌａｔｉｏｎ）が登場した。それは、西暦２０１５年頃から急速な実用化を遂げ、統計的機械翻訳を置き換えつつある。ニューラル機械翻訳は、一般に翻訳原文の前処理（語順の入れ替えなど）を行わず、文章をニューラルネットワークで直接（ｅｎｄ  ｔｏ  ｅｎｄに）翻訳するものである。
【０００６】
ニューラル機械翻訳では、単語はベクトルの実数値として扱われ、数百次元の分散表現として扱われる。すなわちベクトルによって、単語の語義や統語的な情報が表現される（Ｗｏｒｄ  Ｅｍｂｅｄｄｉｎｇ）。１つの元単語とその翻訳単語との意味関係から、他の元単語とその翻訳単語との意味関係をある程度類推することができるため、柔軟な翻訳が可能となっている。
【０００７】
機械翻訳においては、入力データの長さ（原文の長さ）は一定ではなく、かつ過去に入力したデータを利用する必要がある。このため、ニューラル機械翻訳では、一般にはリカレントニューラルネットワーク（ＲＮＮ）が利用される。リカレントニューラルネットワークに逐次原文の単語（または文字）を入力し、文末（ＥＯＳ：Ｅｎｄ  ｏｆ  Ｓｔｒｉｎｇ）を示すコードが出力されると、一文の翻訳が完了とされる。
【０００８】
ニューラル機械翻訳においては、ニューロン（ノード）それぞれの重み付け係数が翻訳知識となるため、翻訳のためのテーブル（フレーズテーブルなどの元単語と翻訳単語とを対応付けるテーブル）は必要とされない。ニューラル機械翻訳は、統計的機械翻訳のように、原文の構成単語を置き換え、並べ替えることで翻訳を行うものではなく、学習した言語モデルに整合するように、入力テキストから新たな翻訳文を作り出すものであるといえる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開2018-120584号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ルールベースの機械翻訳や統計的機械翻訳と比較して、ニューラル機械翻訳には、翻訳文が流暢である、学習していない文章であっても（Ｗｏｒｄ  Ｅｍｂｅｄｄｉｎｇ等により）柔軟に翻訳することが可能である、という利点がある。
【００１１】
しかしながら、ニューラル機械翻訳は、ルールベースの機械翻訳や統計的機械翻訳のように、原文の置き換えによって翻訳を行う技術ではないため、入力文に含まれる情報を過不足なく厳密に翻訳することが難しい（翻訳の抜けが生じる可能性がある）という問題があった。また、翻訳の重複した箇所が出力されることもあった。
【００１２】
さらに、ニューラル機械翻訳では、統計的機械翻訳で用いられていた、原文の単語の語順を予め翻訳先の言語の語順に変換しておく手法を用いることができないため、これまで用いられてきた学習データ（辞書データ、語順データなど）を利用し難いという問題点があった。
【００１３】
さらにニューラル機械翻訳では、Ｗｏｒｄ  Ｅｍｂｅｄｄｉｎｇにより柔軟な翻訳ができる反面、意味が全く異なる単語が選択されることで、意味の全く異なる翻訳文が作成されることもあった（特に出現頻度の低い語、出現頻度の低い固有名詞など）。また、長い文章、複雑な文章の場合、意味の通じない翻訳文が作成されることもあった。
【００１４】
さらに、一般にニューラル機械翻訳では、ルールベースの機械翻訳や、統計的機械翻訳とは異なり、翻訳の過程を人間が理解することが困難であり、正確な翻訳文が出力されるか否かを予測し難いという問題があった。これにより、ニューラル機械翻訳では、誤訳が生じやすく、誤訳文が最終結果物として提供されやすいという問題があった。
【００１５】
多少の誤訳や翻訳の抜けがあっても概要がわかればよい日常会話や、あまり重要ではない情報の伝達のための文書に関しては、内容の正確さよりも、生成される翻訳文の流暢さや柔軟さが重視されることがある。このような文書に対して、ニューラル機械翻訳は極めて有用である。
【００１６】
一方で、法律、特許などの厳密な正確性が要求される文書については、誤訳や翻訳の抜けは致命的である。このため、ニューラル機械翻訳を用いたとしても誤訳や翻訳の抜けがないかのチェックを相当の時間と労力をかけて行う必要があった。また、チェック不足により、致命的な誤訳や翻訳の抜けが生じ、財産的な損害が生じる可能性があった。
【００１７】
また、ニューラル機械翻訳に関する他の課題として、上付き、下付き文字、イタリック、太字、アンダーラインが付された文字など、文字飾りやスタイルの取り扱いで不都合が生じることがある。文章において、例えば上付き文字であれば、ＨＴＭＬで通常の文字が<sup>〜</sup>のタグ囲まれることで上付き文字であることが示されている場合と、Unicodeなどの文字コードで直接上付き文字が表現されている場合がある。これらが混在されて機械学習に用いられたり、また、翻訳時の文書での文字飾りやスタイルの取り扱いが学習時の取り扱いと異なる場合、誤った翻訳結果が出力される可能性がある。
【００１８】
上付き、下付き文字は、化学記号、化学式、数式、変数などの記載に用いられるが、ニューラル機械翻訳ではＷｏｒｄ  Ｅｍｂｅｄｄｉｎｇの作用効果によって、一見似ているが全く異なる化学記号、化学式、数式、変数が翻訳結果として出力されることがある。化学記号、化学式、数式、変数は、一見して誤りを見つけにくいため、翻訳成果物内の誤訳として残るケースが多い。
【００１９】
さらにニューラル機械翻訳では、原文中の同一の語が、異なる複数種類の語に翻訳される問題がある。例えば、元の文書に含まれる「address」という語が、同一の意味を示すにもかかわらず、出現箇所によって、「アドレス」と訳されたり、「住所」と訳されたり、「宛名」と訳されたりすることがある。また例えば、元の文書に含まれる「表示部」という語が、同一の物を示すにも関わらず、出現箇所によって、「display unit」と訳されたり、「display portion」と訳されたり、「display means」と訳されたりすることがある。このような表記のゆらぎや異なった意味をもつ単語の出力は、特に、厳密さを要求される法律文書、特許文書の翻訳において好ましいものではない。
【００２０】
さらにニューラル機械翻訳では、学習のための膨大な対訳文を準備する必要がある。かつ、学習のための計算量が多いため、学習のための多大な時間とコンピュータ資源（ＧＰＵ等）を必要とするという問題があった。
【００２１】
ニューラル機械翻訳のコストを減らすために、自社専用ではない、学習済の外部のコンピュータ（事業者である他社や他人が運営するインターネット接続されたサイト、サーバ等）によってニューラル機械翻訳を行うことも考えられる。１の事業者が学習済のニューラル機械翻訳システムをインターネット上で提供し、複数の利用者（不特定多数のユーザ）がそのシステムをインターネット上で利用するものである。なお、不特定多数の利用とは、そのサイト（サーバ）が一般に公開され、各所からアクセス可能であることを意味している。
【００２２】
このようなシステムを用いる場合、システムの利用者は、インターネットを介して他社が運営する学習済みのニューラル機械翻訳コンピュータに文書データを送信し、そのサーバで行われた機械翻訳の結果をインターネットを介して受け取る。送信や受信は、システム提供者が提供するＡＰＩ（Application Programming Interface）を用いて行う事も可能であるし、ＨＴＴＰ、ＨＴＴＰＳなどの一般の通信プロトコルを用いて行う事も可能である。
【００２３】
また、送信や受信は、ユーザインタフェースであるＷＥＢブラウザを介して行うこともできる。この場合、利用者はＷＥＢブラウザ上に表示されたフォームにコピーアンドペーストなどにより翻訳対象の文（テキスト）を貼り付け、それを外部のニューラル機械翻訳コンピュータに送信する。ニューラル機械翻訳コンピュータからのレスポンスである翻訳結果は、ＷＥＢブラウザ上に表示される。これらの通信におけるデータ交換フォーマットとしては、ＪＳＯＮ（JavaScript Object Notation）形式などが用いられる。
【００２４】
上述のような共同利用可能なニューラル機械翻訳システムでは、システム利用者にとっては、学習のための膨大な対訳文を準備することや、学習のための多大な時間、メンテナンスなどが不要となる。またシステム利用者は、システム構築のためのコンピュータ資源（サーバ、ＧＰＵ等）を所有する必要がない。すなわち利用者は、ニューラル機械翻訳サービスを利用しながら、ニューラルネットワークの学習に要する時間、ハードウェアのコスト、メンテナンスのコストや手間をほぼゼロとすることができ、便利である。
【００２５】
一方で、秘密性の高い文書（例えば契約書などの法律文書、特に公開前の特許文書、社内の機密文書、研究開発の文書など）を翻訳する場合には、インターネットを介して外部にそれら秘密性の高い文書が送信されることは避けなければならない。
【００２６】
仮にＨＴＴＰＳ通信などを用いることで通信経路を暗号化したとしても、通信の目的地では、送信された文書は当然に平文に変換される。よって、他社の提供するサービスを利用するのであれば結局のところ、秘密性の高い文書をインターネットで送信することは避けなければならない。通信経路の暗号化を行うことによるセキュリティ確保と、秘密にすべき情報を外部（他の企業など）に渡してしまうことによるセキュリティリスクとは、別次元の問題であり、別個独立に対処する必要がある。
【００２７】
この点に関し、守秘義務に関する契約を文書の送信先（インターネット上でニューラル機械翻訳サービスを提供する事業者）との間で締結することも考えられる。しかしながら、ネット社会において情報は漏洩しやすく、しかも漏洩が明らかになりにくいという問題があるため、守秘義務契約によって情報を秘匿化することは実現性に乏しく、危険である。また、そのような守秘義務契約の確実な履行が保証されるものではない。さらに、守秘義務契約の履行が継続的に行われていることを定期的に監督、管理することは困難である。
【００２８】
今日、パソコン、スマートフォンが身近なツールとなり、インターネットやＷＥＢブラウザは誰でも気軽に利用できる生活必需品となっている。一方で、インターネットのシステムや通信プロトコル、情報の伝達経路についての理解不足も手伝い、秘密性の高い文書をインターネット上の機械翻訳サービスに安易に送信する事例が後を絶たない。また、インターネット上の機械翻訳サービスを利用することによる情報漏洩のリスクは看過されることが多い。
【００２９】
ＷＥＢを介した翻訳サービス、辞書サービスでは、その利用者は、ＷＥＢブラウザなどから翻訳したい文や単語を入力する（これには、タイピング、音声入力、コピーアンドペーストなどの入力方法がある）。入力された文や単語は、翻訳サービス、辞書サービスの提供事業者の保有（または管理）するサーバに送信され、送信者の情報とともに蓄積される。
【００３０】
翻訳サービス、辞書サービスの提供事業者は、蓄積された情報の利用ポリシー（利用規約）を定めることができるが、それを定めない事業者も存在する。また、利用規約によっては、「ユーザがコンテンツをアップロード、提供、送信などすると、ユーザは、サービス提供事業者（およびサービス提供事業者と協働する第三者）に対して、そのコンテンツについて、使用、保存、複製、変更、派生物の作成、（公衆）送信、出版、公開表示、および配布を行うための全世界的なライセンスを付与する。」との条項が定められているものもある。
【００３１】
翻訳会社の翻訳者、または翻訳会社から案件を受注した個人翻訳者が、秘密性の高い文章（またはその一部文章や単語）をパソコンやスマートフォンのウェブブラウザに安易に入力することで、秘密性の高い文章が外部（特に海外）に漏洩する事態が多く発生している。また、そのような漏洩は、翻訳者本人、翻訳者の管理職、翻訳会社、翻訳の発注元の誰も気づかないまま、何年にもわたって継続しているという問題もある。
【００３２】
特に契約書や、研究開発の文書や、公開前の特許などに関する秘密性の高い文書を外部（特に国外）に漏洩させることは、一企業の利益保護の観点はもとより、国益保護の観点からも絶対に避ける必要がある。
【００３３】
例えば、独立行政法人情報処理推進機構の2015年2月20日のプレス発表である『「注意喚起」クラウドサービスに入力した内容の意図しない情報漏えいに注意』の資料には、以下の事項が記載されている。（https://www.ipa.go.jp/about/press/20150220.htmlより引用。）
【００３４】
『IPA（独立行政法人情報処理推進機構、理事長：藤江 一正）は、ネット上の翻訳サービスに入力した文章が、ネット上にそのまま公開されていたという問題が明らかになったことを受け、クラウドサービス利用における利用者の意識向上を目的に、利用における心構えについて改めて、注意喚起を発することとしました。  近年、様々なクラウドサービスが充実し、企業向けだけでなく、個人を対象としたサービスの利用も進んでいます。例えばインターネット上に写真や資料等のデータを保存することで、いつでも、どこでも利用できたり、翻訳なども手軽にできたりするサービスなどがあります。  しかし、クラウドサービスはその利便性から急速に普及した反面、利用者がサービスの内容やリスクを正しく認識せずに利用したことが原因で、意図しない情報漏えいの問題が再三指摘されてきました(*1)。
【００３５】
2013年にはGoogle社が提供するサービスの1つであるGoogleグループの利用者が、情報公開範囲の設定を正しく認識していなかったために、関係者以外でもやりとりが閲覧できてしまう状態にあったという問題が発生しています。  また、IPAの調査(*2)では “ブラウザへの入力情報や検索履歴等がブラウザ提供元の企業に収集される”ことについて、“まったく気にならない”“あまり気にならない”等と回答した人が全体の31.3%であったことからも、クラウドサービスに対する利用者の意識・知識向上が求められます。
【００３６】
一方、サービス提供側も利用者への説明不足や利用者の認識不足による情報漏えいを防ぐため、サービスの内容やサービス側での情報の扱いについて、判りやすく説明することが求められます。』
【００３７】
また、独立行政法人情報処理推進機構の「2014年2月の呼びかけ」には、以下の事項が記載されている。（https://www.ipa.go.jp/security/txt/2014/02outline.htmlより引用。）
【００３８】
『「知らない間に情報を外部に漏らしていませんか？」〜 クラウドサービスを利用する上での勘所 〜  （中略）
【００３９】
クラウドサービスは便利に利用できる反面、何らかの情報をサービス事業者側に渡すことが避けられません。
【００４０】
下記表1の3つのクラウドサービスは、普段の業務上、何気なく利用しているサービスです。特に「オンライン翻訳サービス」は、パソコンに翻訳ソフトをインストールすることなく気軽に文章を翻訳できますが、翻訳する元の“文章そのものを事業者に渡している”ともいえます。
【００４１】
業務で機密情報を扱う場合は、このことを認識し注意して利用してください。
【００４２】
表1：情報漏えいなどにつながるリスクがある、クラウドサービスの使い方
【００４３】
オンライン翻訳サービス
【００４４】
概要  翻訳したい文書をウェブページにコピー＆ペーストすると、サービス事業者側の翻訳プログラムが自動的に翻訳。
【００４５】
利用時のリスク
【００４６】
コピー＆ペーストした翻訳元文書の内容を外部に送信してしまうことになり、その内容が機密情報に該当する場合、知らない間に社内規定に反してしまうことになる。
【００４７】
想定される被害例
【００４８】
ある社員が、海外の会社と、契約に関する交渉を暗号化メールでやり取りしていた。  復号したメールが英語で書かれていたため、オンライン翻訳サービスを利用して日本語に翻訳した。その事により契約情報が漏えいしてしまった。  せっかく情報漏えい防止のために暗号化メールを使用していたのに、オンライン翻訳という別の経路で情報が漏えいしてしまった。』
【００４９】
以上のように注意喚起がされているものの、その利便性が高いことから、依然として外部の（クラウド等の）翻訳システムを使う者のセキュリティ意識は低いままである。
【課題を解決するための手段】
【００５０】
本発明は、上記課題の少なくとも１つを解決するためになされたものである。
【００５１】
上記目的を達成するため、この発明のある局面に従うと、不特定多数が利用するコンピュータであって、第１の言語で記述された文章をインターネットを通じて入力し、それを第２の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信するコンピュータとの間で通信を行う翻訳装置において、前記第１の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳装置は、前記名詞である単語とその直後に続く参照符号とからなるセット中の単語部分を、その単語に対応する文字列に置き換える第１の置換手段と、前記第１の置換手段で置き換えが行われた文章を、インターネットを通じて前記コンピュータに送信する送信手段と、前記コンピュータから、翻訳後の前記第２の言語で記述された文章をインターネットを通じて受信する受信手段とを備える。
【００５２】
好ましくは翻訳装置は、前記受信手段が受信した文章中における、前記第１の置換手段で置き換えられた文字列を、それに対応する前記第２の言語の単語に置き換える第２の置換手段をさらに備える。
【００５３】
好ましくは、前記第１の置換手段による置き換え後の文字列は、前記名詞である単語に対応する前記第２の言語の単語、又は暗号文字列である。
【００５４】
好ましくは、前記名詞である単語は、上付き若しくは下付き文字を含む。
【００５５】
好ましくは、前記第１の置換手段は、データベースに登録された、単語とその置き換え文字列とを対応付ける複数の組から、１つの組における単語、及びその置き換え文字列を読み出す読出手段と、前記読出手段によって読み出された１つの単語を、前記第１の言語で記述された文章中から検索し、それがあった場合にその単語をそれに対応付けられた置き換え文字列に置換する処理を、前記第１の言語で記述された文章内において繰り返し行う第１の処理手段とを備え、前記第１の処理手段で前記第１の言語で記述された文章内の全ての置換えを行った後に、前記読出手段で次の組における単語、及びその置き換え文字列を読み出し、前記第１の処理手段での処理を行う。
【００５６】
好ましくは、前記送信手段は、前記第１の言語で記述された文章を分割することにより得られた複数の単位部分のうち、１つの単位部分を前記コンピュータに送信し、前記受信手段は、前記１つの単位部分についての翻訳後の前記第２の言語で記述された文章を受信し、前記複数の単位部分のそれぞれに対して、前記送信手段での処理と、前記受信手段での処理とを行う。
【００５７】
好ましくは、前記単位部分は、前記第１の言語で記述された文章を、句点、読点、および改行コードの少なくとも１つの位置で分割した部分である。
【００５８】
好ましくは、前記単位部分は、前記第１の言語で記述された文章を、句点の位置で分割した部分であり、前記単位部分において、それに含まれる少なくとも一部の句又は節の後に改行コードが挿入されている。
【００５９】
好ましくは、前記受信手段は、前記単位部分についての翻訳後の前記第２の言語で記述された文章を順次受信し、受信された文書同士を、その間にスペースを挿入して結合する。
【００６０】
好ましくは翻訳装置は、前記受信手段による受信後の文章を、後処理する後処理手段をさらに備え、前記後処理手段は、文章中のスペースの削除、単語の統一、文章中の大文字／小文字の変換、スペルチェック、および複数形の単語を正しい表記にする処理の少なくとも１つを行う。
【００６１】
好ましくは、前記第１の言語で記述された文章は、その一部に、段落番号を含んでおり、前記送信手段は、前記文章に含まれる段落番号を送信しない。
【００６２】
好ましくは翻訳装置は、前記文章に含まれる段落番号を、全角から半角に変換し、前記受信手段が受信した文章の対応する位置に挿入する。
【００６３】
好ましくは、前記第１の置換手段は、第１の言語で記述された文章中の特定の単語を、それに対応する文字列に置き換え、その文字列の前および後の少なくともいずれかに、特定の文字コードを挿入する。
【００６４】
好ましくは、前記特定の文字コードは、空白文字、または括弧、クォーテーション記号その他の囲まれる部分を他と区別するための印を表すコードである。
【００６５】
この発明の他の局面に従うと、不特定多数が利用する外部コンピュータであって、第１の言語で記述された文章をインターネットを通じて入力し、それを第２の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置の制御プログラムにおいて、前記翻訳装置は、コンピュータを含み、前記第１の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳装置の制御プログラムは、前記名詞である単語とその直後に続く参照符号とからなるセット中の単語部分を、その単語に対応する文字列に置き換える第１の置換ステップと、前記第１の置換ステップで置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、前記外部コンピュータから、翻訳後の前記第２の言語で記述された文章をインターネットを通じて受信する受信ステップとをコンピュータに実行させる。
【００６６】
この発明のさらに他の局面に従うと、不特定多数が利用する外部コンピュータであって、第１の言語で記述された文章をインターネットを通じて入力し、それを第２の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置を用いた翻訳方法において、前記翻訳装置は、コンピュータを含み、前記第１の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳方法は、前記翻訳装置によって、前記名詞である単語とその直後に続く参照符号とからなるセット中の単語部分を、その単語に対応する文字列に置き換える第１の置換ステップと、前記翻訳装置によって、前記第１の置換ステップで置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、前記翻訳装置によって、前記外部コンピュータから、翻訳後の前記第２の言語で記述された文章をインターネットを通じて受信する受信ステップとを含む。
【発明の効果】
【００６７】
この発明によると、上記課題の少なくとも１つを解決することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明の第１の実施の形態における翻訳システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態における翻訳システムの構成を示す機能ブロック図である。
【図３】データベース２０７に格納されるデータ構造の具体例を示す図である。
【図４】本発明の第１の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
【図５】図４に続くフローチャートである。
【図６】本発明の第１の実施の形態における翻訳システムに含まれるコンピュータプログラムの単語、暗号登録処理を示すフローチャートである。
【図７】本発明の第２の実施の形態における翻訳システムに含まれるコンピュータプログラムの単語、暗号登録処理を示すフローチャートである。
【図８】本発明の第３の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
【図９】本発明の第４の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
【発明を実施するための形態】
【００６９】
［第１の実施の形態］
【００７０】
図１は、本発明の第１の実施の形態における翻訳システムの構成を示すブロック図である。
【００７１】
図を参照して、翻訳システムは、ユーザ（システム利用者）が操作を行うコンピュータ１００と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３００と、インターネット４００と、他社コンピュータ資源２００と、自社コンピュータ資源５００とから構成される。
【００７２】
ユーザが操作を行うコンピュータ１００は、ＣＰＵ１０１と、通信部１０３と、Ｉ／Ｏ１０５と、ＲＯＭ１０７と、ＲＡＭ１０９と、記憶装置１１１と、音声入力／出力部１１３と、ディスプレイ１１５と、グラフィックユニット１１７と、キーボード１１９と、マウス１２１とを含んで構成されている。
【００７３】
コンピュータ１００は、ＬＡＮ３００に接続され、ＬＡＮ３００はインターネット４００に接続される。ＬＡＮ３００には自社コンピュータ資源５００が接続されており、インターネット４００には他社コンピュータ資源２００が接続されている。
【００７４】
ここでコンピュータ資源とは、サーバ、パーソナルコンピュータ、記憶装置（コンピュータ内のストレージ、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）など）、および情報通信経路（ネットワーク、ロードバランサ、スイッチ、ルータなど）、並びに、それらを構成するＣＰＵ、メモリ、記憶装置（ハードディスク、光学的または磁気的記憶装置、ＳＳＤほか半導体デバイス）、ＲＯＭ、マザーボード、キーボード、マウス、マイクなどの入力装置、ディスプレイ、およびスピーカなどの出力装置、並びに記憶装置から読み出され、一般にはメモリ上で動作するコンピュータプログラム、データなどのソフトウェアの全てまたは一部を示している。
【００７５】
自社コンピュータ資源５００とは、上記ユーザ（または上記ユーザが所属する組織）が所有しているコンピュータ資源である。組織は、ユーザ１名からなる組織であっても良いし、複数の人員から構成される組織であってもよい。
【００７６】
自社コンピュータ資源５００やコンピュータ１００は、インターネット４００に直接接続されておらず、インターネット４００には、ＬＡＮ３００のルータ（図示せず）を介して接続される。また、ルータ、自社コンピュータ資源５００、コンピュータ１００にファイヤウォール機能を設けることにより、インターネット４００側から自社コンピュータ資源５００やコンピュータ１００にアクセスすることが禁じられている。これにより、自社コンピュータ資源５００やコンピュータ１００がインターネット４００を介して外部から操作されることはなく、また、自社コンピュータ資源５００やコンピュータ１００に記憶されたデータに外部からアクセスすることが禁止されている。
【００７７】
他社コンピュータ資源２００とは、上記ユーザ（または上記ユーザが所属する組織）が所有するものではないコンピュータ資源である。上記ユーザは、コンピュータ１００からアクセスすることで他社コンピュータ資源２００の計算能力やストレージを一時的に借り受けることができる。その利用形態は、有償であると無償であるとを問わない。
【００７８】
秘密性の高い文章である翻訳の原文データは、ＨＴＭＬやプレーンなテキストで記述され、自社コンピュータ資源５００やコンピュータ１００に記録される。翻訳の原文データが画像である場合には、自社コンピュータ資源５００やコンピュータ１００に記録されたＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ／Ｒｅａｄｅｒ）のソフトウェアによりそれがＨＴＭＬ文書やテキスト文書に変換され、処理の対象とされる。
【００７９】
自社コンピュータ資源５００およびコンピュータ１００と、他社コンピュータ資源２００との間の通信プロトコルは、ＨＴＴＰＳ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ）等により行われる。すなわち、ＳＳＬ（Secure Sockets Layer）／ＴＬＳ（Transport Layer Security）プロトコルによって提供されるセキュアな暗号化（秘密鍵、公開鍵を使ったデータ暗号化手法）の上でＨＴＴＰ通信が行われるので、自社コンピュータ資源５００およびコンピュータ１００と他社コンピュータ資源２００との間の通信内容を秘匿化することができ、その通信内容が第三者に漏洩することは防止される。通信内容の第三者への漏洩を防ぐことができるのであれば、ＨＴＴＰＳ以外の暗号化通信を行っても良い。
【００８０】
ＨＴＴＰＳなどで暗号化された通信内容は、当然に他社コンピュータ資源２００で復号化される。このため、たとえＨＴＴＰＳなどの通信プロトコルを用いるとしても、上記ユーザ、または上記ユーザが所属する組織内で秘密にしておくべき文書の平文を他社コンピュータ資源２００に送信することは望ましくない。また、他社コンピュータ資源２００の運営業者が、利用規約として、送られてきたデータに関する公開、利用などの権利を留保するように取り決めている場合がある。このような場合、上記ユーザ、または上記ユーザが所属する組織内で秘密にしておくべき文書の平文を他社コンピュータ資源２００に送信することは、技術的には可能であるが、ビジネス的には不可能である。
【００８１】
他社コンピュータ資源２００で平文に戻された通信内容が、現実的には当該他社でどのように保存、利用されるかユーザにとって詳細は解らない。また、一般にはユーザは他社コンピュータ資源２００の構成、接続を知ることができず、当該他社内部の受信データの具体的な取り扱いを知ることができない。
【００８２】
現実に秘密情報の流出が頻繁に起こっており、それを防ぐことが困難であることを考えると、たとえ他社コンピュータ資源２００の運営者との間で秘密保持契約を締結するとしても、やはり秘密にしておくべき文書の平文を他社コンピュータ資源２００に送信することは望ましくないといえる。
【００８３】
すなわち、ＨＴＴＰＳなどの暗号化通信を用いるとしても、秘密性の高い文章である翻訳対象の文章、またはその一部は、外部の他社コンピュータ資源２００に送信すべきではない。
【００８４】
そこで、本実施例におけるコンピュータ１００は、秘密性の高い文章である翻訳対象の文章の一部を、解読困難な文字列に入替えることによって暗号化し（以下、これを「第１の暗号化」という。）、その後、その文章を外部の他社コンピュータ資源２００に送信するときにＨＴＴＰＳ（ＳＳＬ暗号化通信）などのプロトコルによってさらに暗号化（以下、これを「第２の暗号化」という。）する。
【００８５】
他社コンピュータ資源２００で、上記第２の暗号化によって暗号化された通信内容は、ＨＴＴＰＳなどのプロトコルによって平文に戻される（「第２の暗号化」に対応するものであるため、以下これを「第２の復号化」という。）。しかしながら、第１の暗号化については、復号化されることはなく、第１の暗号化によって暗号化されたままの文書が他社コンピュータ資源２００内の翻訳プログラムによって翻訳される。その翻訳によって作成された翻訳文（テキスト文書、またはＨＴＭＬ文書）は、ＨＴＴＰＳなどのプロトコルにて暗号化（すなわち「第２の暗号化」の手法による暗号化）され、インターネット４００を通じてコンピュータ１００に送信される。コンピュータ１００は、「第２の復号化」の手法であるＨＴＴＰＳなどのプロトコルによって、受信した文章を平文に戻す。この状態では、まだ第１の暗号化については復号化されていない。
【００８６】
コンピュータ１００では、受信された翻訳後のデータに対して、「第１の暗号化」に対する復号処理である「第１の復号化」を行う。また、必要に応じてその後処理を行う。これにより、完全な翻訳後の文章をコンピュータ１００のユーザは得ることができる。
【００８７】
図１に示されている自社、他社以外に通信データが漏洩したとしても、それは第１の暗号化と第２の暗号化により２重の暗号化がされたものである。これにより、通信を行う当事者以外の第三者への情報の漏洩が防止される。
【００８８】
また、図１に示されている他社は、第２の暗号化については復号化が行われた情報を得ることができるが、第１の暗号化については復号化することができない。このため、図１に示されている自社から、図１に示されている他社への情報の漏洩も防止される。すなわち図１に示されている他社（コンピュータ資源２００の運営者側の人間）は、第１の暗号化がなされた文章しか手に入れることができない。また、翻訳後の文章も第１の暗号化がなされたままである。このため、図１に示されている他社は、暗号化されていない完全な翻訳前のデータ、および暗号化されていない完全な翻訳後のデータのいずれも得ることができない。
【００８９】
第１の暗号化は、他社コンピュータ資源２００にとって暗号化後の文章の機械翻訳ができる程度の暗号化であり、かつ、自社以外の者がその内容を理解できない程度の強度の暗号化である必要がある。
【００９０】
図２は、本発明の第１の実施の形態における翻訳システムの構成を示す機能ブロック図である。
【００９１】
図１の記憶装置１１１には、ＣＰＵ１０１によって順に実行されることで、コンピュータ１００を翻訳装置として動作させるコンピュータ読取り可能な実行形式のプログラムが複数記録されている。プログラムは、記憶装置１１１からから読み出され、ＲＡＭ１０９上に展開される。プログラムがＲＡＭ１０９上でＣＰＵ１０１によって実行される。
【００９２】
プログラムの実行により、図２に示されるように、コンピュータ１００は、制御部２０１、通信部１０３、検索・置換部２０３、文書編集・単語登録部２０５、データベース２０７、メモリー２０９、記憶装置１１１、表示／出力部２１１、および入力部２１３としての機能を発揮する。
【００９３】
制御部２０１は、翻訳装置全体の各種制御を行う機能ブロックである。通信部１０３は、社内・社外のコンピュータ資源と通信を行うための機能ブロックである。検索・置換部２０３は、翻訳の対象となる文書および機械翻訳後の文書の少なくとも一方について、特定の要素（単語、文節など）の検索を行ったり、検索された要素を対応する文字列や暗号に置換する機能ブロックである。文書編集・単語登録部２０５は、翻訳の対象となる文書および機械翻訳後の文書の少なくとも一方を編集したり、単語変換のための辞書を登録する機能ブロックである。
【００９４】
データベース２０７は、主に単語辞書を登録するデータベースである。データベース２０７としてはデータベースサーバのソフトウェアを採用しても良いし、ＣＳＶファイルなどの単なるテキストファイルや、表計算ソフト（ＥＸＣＥＬなど）のテーブルを記録し、それを検索し、対応するデータを読み出すことでデータベースとしてもよい。
【００９５】
メモリ２０９は、データを一時的に記録するワーキングエリアである。記憶装置１１１は、不揮発性の記憶装置であり、翻訳前のデータ、翻訳後のデータ、データベースに記録されるデータ、メモリ２０９のデータなどを記憶する。表示／出力部２１１は、ディスプレイ、スピーカなどのユーザインタフェースである。入力部２１３は、マウス、キーボード、マイクなどのユーザインタフェースである。
【００９６】
図３は、データベース２０７に格納されるデータ構造の具体例を示す図である。
【００９７】
ここではデータベース２０７は列名（カラム名、フィールド名）として、番号（レコード番号であり、データの通し番号）、単語、暗号、対訳単語などを有するテーブルからなっている。
【００９８】
単語としては、名詞が登録されるが、動詞、副詞、形容詞などを登録しても良い。また名詞には、複数の名詞からなる複合名詞（電気＋自動車である「電気自動車」など）も含まれる。
【００９９】
番号のカラムは、１レコードの通し番号を記録する。単語のカラムは、翻訳原文の単語を登録する。暗号のカラムは、その単語に対応する暗号を登録する。対訳単語のカラムは、その単語（および暗号）に対応する翻訳後の単語を登録する。
【０１００】
例えば図３では、日本語と英語の翻訳で用いる翻訳データが登録されている。すなわち、日本語の単語と、それに対応する英語の単語（対訳単語）と、それに対応する暗号が登録されている。図３のテーブルを用いることで、日本語の単語をそれに対応する暗号に変換したり、日本語の単語をそれに対応する英単語に変換したり、暗号をそれに対応する日本語の単語に変換したり、暗号をそれに対応する英単語に変換したり、英単語をそれに対応する暗号に変換したり、英単語をそれに対応する日本語の単語に変換することが可能である。
【０１０１】
また、カラムを追加し、他の言語の対訳単語も図３のテーブルに登録することで、３以上の言語間における翻訳が可能である。例えば、対訳中国語単語のカラムを追加することで、日英、英日、日中、中日、英中、中英の翻訳（および各言語の単語と暗号との変換）が可能となる。
【０１０２】
例として、番号「０」のレコードとして、「電気自動車」の原文の単語と、「ＡＡＡ」の暗号文字列と、「electric vehicle」の対訳単語とをデータベースは対応付けて記録している。
【０１０３】
このようなデータベースは、事前にユーザが作成しても良いし、図６または７のフローチャートで示される処理を繰り返すことで、翻訳作業時または翻訳作業時以外に作成しても良い。また、業者がデータベースを作成し、ユーザに提供することもできる。
【０１０４】
このようなデータベースを用いることで、単語を暗号に変換することができるし、単語を対訳単語に変換することもできる。また、暗号を対訳単語に変換することなどもできる。さらに、対訳単語を元の単語に変換（逆翻訳）することも可能である。
【０１０５】
単語、対訳単語には、１つの基本の単語（「車」、「手段」、「部」、「vehicle」、「device」、「unit」など）が１レコードに登録されても良いし、複合語（「電気自動車」、「信号入力手段」、「表示部」、「electric vehicle」、「signal input unit」、「display unit」など）が１レコードに登録されても良い。
【０１０６】
暗号は、ここではアルファベット３文字からなっており、機械翻訳時の仮想単語として機能する。ここでは暗号は、ＡＡＡから始まり、１０進数で記載されたレコード番号（番号）を、Ａ〜Ｚのアルファベットをそれぞれ０〜２５の数値に当てた２６進数として表したものである。
【０１０７】
すなわち暗号の下１桁は、２６の０乗の位であり、暗号の下２桁目は、２６の１乗の位であり、暗号の下３桁目（最上位）は、２６の２乗の位である。
【０１０８】
例えば「番号」のカラムが０であれば、「ＡＡＡ」（Ａは２６進数のゼロを示す）の暗号が当てられ、「番号」のカラムが１であれば、「ＡＡＢ」（Ａは２６進数のゼロを示し、Ｂは２６進数の１を示す）の暗号が当てられる。同様に例えば「番号」のカラムが３５０１であれば、「ＦＥＲ」（２６進数の３５０１）の暗号が当てられる。
【０１０９】
すなわち暗号の最上位（下３桁目）は、番号を２６の２乗（すなわち６７６）で割った値の整数部分に対応するアルファベットが当てられる。暗号の中位（下２桁目）は、上記割り算の余りを２６の１乗（すなわち２６）で割った値の整数部分に対応するアルファベットが当てられる。暗号の最下位（下１桁目）は、その割り算の余りに対応するアルファベットが当てられる。これは、１０進数から２６進数への変換に等しい。
【０１１０】
なお、暗号の桁数は３に限るものではない。また、３桁の暗号のうち言葉としての意味を有するもの（例えば、ＣＰＵ、ＲＡＭ、ＵＳＢ、ＮＯＸなど）は、誤解、誤訳が生じることを防ぐため、予約語としてそれに対応する番号と共に登録しないこととしても良い。
【０１１１】
またここではレコード番号を２６進数に変換したものを暗号としたが、暗号はランダムに決めても良いし、他の法則で決めても良い。
【０１１２】
単語と対訳単語は、同じものが登録されても良い。例えば化学式や略語（ＨＣｌ、ＣＰＵなど）は、単語と対訳単語とを同じものとして登録してもよい。この場合、日本語でも英語でも同じ単語が登録される。さらに、単語（日本語）が全角文字であり、対訳単語（英語）がその半角文字であってもよい。
【０１１３】
また単語が「情報表示 unit 」であり、その対訳単語が「information display unit」であるなど、原文の単語の一部が翻訳後の言語で記述されているものを登録しても良い。
【０１１４】
暗号は、通常の１６進数表記（０〜９、Ａ〜Ｆを用いる）に倣った２６進数表記とし、０〜９、Ａ〜Ｐを用いて表現しても良い。また、アルファベット小文字や記号（！”＃＄％＆など）を用いても良い。暗号を、複数の暗号間で重複しないランダムな文字列としても良い。その文字列を構成する文字は、アルファベット、記号、またはアルファベットと記号の組み合わせからなることが望ましい。顔文字などピクトグラムを暗号としても良い。
【０１１５】
本実施の形態のように、暗号を、ＡＡＡ、ＡＡＢ、ＡＡＣ、・・・、ＺＺＹ、ＺＺＺとし、１桁をＡ〜Ｚまでの２６進数とし、３桁（３文字）のアルファベットで表すのであれば、２６＊２６＊２６＝１７５７６の単語をデータベースに登録することができる。不足であれば、暗号の桁数を増やすことにより、２６のべき数分のレコード（単語と暗号と対訳単語の組）をデータベースに登録することができる。
【０１１６】
本実施の形態のように、Ａ〜Ｚをそれぞれ０〜２５とする２６進数で暗号を表記することで、一見してそれが何を示す語であるかわからないという利点がある。また、ニューラル機械翻訳において、アルファベットや記号の文字列は１つの単語として認識されるため、暗号を１つの単語として原文に残したままで機械翻訳することができるという利点がある。
【０１１７】
すなわち、ニューラル機械翻訳を用いて翻訳するときに、アルファベットや記号の文字列には訳語が当てられずそのまま出力される（但し、例外もある）。
【０１１８】
例えば、「電気自動車１００は、エンジン１０１を含む。」の翻訳原文を、図３のテーブルによって置き換えると、「 ＡＡＡ １００は、 ＡＡＢ １０１を含む。」の暗号文が生成される。この文は、ニューラル機械翻訳により、「AAA 100 includes AAB 101.」の文に翻訳される。ニューラル機械翻訳が行われた後に、図３のテーブルを用いて、その中の暗号を元の単語の訳語に変換することで、「electric vehicle 100 includes engine 101.」の翻訳後の文章を得ることができる。
【０１１９】
なお、例えば「複数のＡＡＡ」の原文が「a plural of AAAs」に翻訳されるなど、暗号が複数形に変換されることはありうる。この場合も、「AAAs」の「AAA」の暗号部分をその単語に対応する英単語（例えば「book」）に置き換えることで、語尾に「ｓ」を付けた「books」の翻訳語を得ることができる。
【０１２０】
但し、この方法では「bus」、「leaf」、「city」などの単語（「ｓ」を付けるだけでは正しい複数形にならない単語）がつづり違い（スペルミス）となってしまう。このため、翻訳後に従来技術であるスペルチェックのルーチンを実行して、これらの単語が正しいスペルとなるように対処する必要がある。またたとえば、「buss」を「buses」に、「leafs」を「leaves」に、「city」を「cities」に対応付けるテーブル（ミススペルと正しいスペルとを対応付けるテーブル）を用意しておき、機械翻訳後に一括変換することとしてもよい。
【０１２１】
また、ニューラルネットワークの学習結果によっては、入力される原文中の暗号と、それに対応する翻訳文中の暗号とが異なるものとなってしまう場合もある（誤訳の一種である）。
【０１２２】
これを防ぐために、翻訳原文をニューラル機械翻訳する際に、暗号の部分を、それが特殊な文字列であることを示すキャラクターで囲む（暗号部分の前後に、特殊なキャラクタを挿入する）とよい。例えば、「 ＡＡＡ １００は、 ＡＡＢ １０１を含む。」のように、暗号の部分の前後にスペース（空白）のキャラクターを挿入してニューラルネットワークに送信することで、暗号が他の暗号に変換されること（誤訳の一種）を防ぐことができる。
【０１２３】
スペースを示すキャラクター以外に、翻訳前の文書内の暗号部分を鉤括弧（「」）で囲んでおくことも有効である。同様に、クオーテーションキャラクタ（''、""、””、’’など）、丸括弧、二重丸括弧、二重鉤括弧、角括弧、二重角括弧、波括弧、亀甲括弧、二重亀甲括弧、山括弧、二重山括弧、ギュメ、または隅付き括弧などで囲むことも有効である。これによって、囲まれる部分が他の部分とは異なる特殊な意味を有する部分（暗号）であることを示す状態とした上で、ニューラル機械翻訳することができる。
【０１２４】
これらの処理により挿入（追加）されたキャラクターは、機械翻訳後の後処理で削除される。例えば、暗号を鉤括弧でくくり、「ＡＡＡ」１００などとして機械翻訳した場合、それは"AAA" 100に翻訳される。ダブルクォーテーションは、元々の文章にはない、上記処理時に追加されたものであるため、機械翻訳後に削除されてAAA 100とされる。削除は、正規表現を用いることで可能である。
【０１２５】
暗号に漢字やひらがななど、アルファベットや記号以外の文字を用いると、それが英語に翻訳されてしまい、復号化できなくなるという問題がある（例えば暗号文字列として割り当てた「あさい」の文字列が「shallow」（「浅い」の英訳）に英訳されたり、「ああい」のような意味を持たない文字列が「Aai」に英訳されたりする）。よって、暗号はアルファベットや記号の文字列とすることが望ましい。
【０１２６】
また、図３のテーブルを用いると、翻訳後の英語文章の１文の先頭文字が小文字となってしまう場合がある（英語であれば、文頭は大文字で始めるべきである）。これに対しても後のスペルチェックで、文頭を大文字にする処理を行うと良い。例えば、文頭（またはピリオド後の文字）のアルファベットを正規表現で検索し、全て大文字とする処理などである。
【０１２７】
図３のデータベースのデータは、業者から購入、入手することでそれを登録しても良いし、ユーザが登録してもよい。
【０１２８】
図４は、本発明の第１の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。図５は、図４に続くフローチャートである。
【０１２９】
このフローチャートで示される処理は、記憶装置１１１に記録されたコンピュータプログラムがＲＡＭ１０９上に読み出され、それをＣＰＵ１０１が順次実行することで実行される。プログラムは、コンパイルされた機械語の実行形式で保存されてもよいし、ソースコードをインタプリタが逐次実行する形式としてもよいし、中間言語で記載された形式としても良い。
【０１３０】
ここではワープロソフト（マイクロソフト社のＷＯＲＤ、オープンソース方式で公開されているＯｐｅｎＯｆｆｉｃｅなど）を用い、そのマクロ（ＶＢＡ：Ｖｉｓｕａｌ  Ｂａｓｉｃ  Ｆｏｒ  Ａｐｐｌｉｃａｔｉｏｎｓなど）を用いて図４のフローチャートのプログラムが実行されるものとする。データベースは、専用のデータベースでもＣＳＶファイルであってもよいが、ここではマイクロソフト社のＥＸＣＥＬなどの表計算ソフトを用いてデータベースが形成され、ワープロソフトのＶＢＡを用いてデータベースへのアクセスが行われるものとする。なお使用されるワープロソフト、プログラム言語の種類は、発明の実施において制限されるものではない。
【０１３１】
図４を参照して、ステップＳ１０１においてユーザはワープロソフトによって翻訳対象の文章が記録された文書ファイルを開く（文書ファイルを補助記憶装置からＲＡＭへ展開する）。また、表計算ソフトも開いておく。
【０１３２】
文書ファイルは、プレーンテキスト形式で記載されたテキストファイルであってもよいし、ワープロソフトの文書ファイルであってもよいし、ＨＴＭＬファイルであってもよい。また、画像に含まれる文字がＯＣＲによりテキスト化されたファイルであってもよい。画像ファイルを入力し、ステップＳ１０１でＯＣＲ機能により文字部分をテキストデータに変換したファイルを作成しても良い。他、文章を記述することができるのであれば、ファイルのフォーマットは特定のものに限定されない。文書は、他のコンピュータからファイル転送プロトコルや電子メールソフトウェアを用いて受信しても良いし、ＵＳＢメモリなどのストレージから入力されても良い。また、キーボード１１９やマイクによって入力されても良い。文書は、インターネットからダウンロードすることとしてもよい。
【０１３３】
ここでは仮に電気自動車について記載された特許明細書を翻訳するものとし、文書ファイルに、
【０１３４】
「［００２３］
【０１３５】
電気自動車１００は、エンジン１０１と表示部１０２を備え、エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。信号入力手段１０３の入力がハイである場合、表示部１０２は警告を表示する。」の文章が記載されていたものとする。この文章の翻訳を例として、本実施の形態における翻訳処理について説明する。なお、［００２３］は、文書中の段落番号である。
【０１３６】
ステップＳ１０３で翻訳の対象となる文書に対し、前処理が行われる。これは、以下を目的とするものである。
【０１３７】
（１）１度に他社コンピュータ資源２００に送信する文章の単位（文章の区切り）を明確にする。
【０１３８】
（２）誤訳を少なくするために、他社コンピュータ資源２００において一度に処理される１文の長さを短くする。
【０１３９】
（３）１文中の意味が区切られる部分を明確にする。
【０１４０】
例えば本実施の形態では、１度に他社コンピュータ資源２００に送信する文章の単位は、文頭から句点（。）までとする。段落番号も文章の単位であるものとして、前処理で、段落番号部分を正規表現を用いてサーチし、その後ろに句点を付与する（上記例では、［００２３］の後に句点が付与される）。
【０１４１】
また、重文（２以上の等位の節（主語と述語の組合わせを含む語の集合）によって構成される文）は、短文に分解した方が誤訳が少なくなる。このため、前処理では、重文を２以上の文に分解する（上記例では、「電気自動車１００は、エンジン１０１と表示部１０２を備え、エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。」の文が、「電気自動車１００は、エンジン１０１と表示部１０２を備える。エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。」の２文に変換される）。
【０１４２】
条件、時、原因、理由などを示す副詞節と主節とからなる複文は、副詞節と主節に関連があるため、２つの文に変換して処理するよりも、１つの文として処理した方が正確な翻訳が可能である。一方で、１文が長くなると誤訳が生じやすいという二律背反がある。本実施の形態では、副詞節と主節とを１つの処理単位とするが、その間に改行コードを挿入することで、両者が別の節であるものとして機械翻訳をすることとしている（複文を構成する節と節との間に改行コードを挿入した後に機械翻訳を行う）。これにより、翻訳をより正確にすることが可能となる。（上記例では、「信号入力手段１０３の入力がハイである場合、表示部１０２は警告を表示する。」の文章の「ハイである場合、」の後に改行コードが挿入される）。
【０１４３】
副詞節のみならず、副詞句、形容詞節、形容詞句に対しても同様の処理を行ってもよい。
【０１４４】
ステップＳ１０３での処理により、
【０１４５】
「［００２３］
【０１４６】
電気自動車１００は、エンジン１０１と表示部１０２を備え、エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。信号入力手段１０３の入力がハイである場合、表示部１０２は警告を表示する。」の文章は、
【０１４７】
「［００２３］。
【０１４８】
電気自動車１００は、エンジン１０１と表示部１０２を備える。エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。信号入力手段１０３の入力がハイである場合、
【０１４９】
表示部１０２は警告を表示する。」の文章に変換される。（「ハイである場合、」の後に改行コードが挿入されている）。
【０１５０】
ステップＳ１０５において、図３のデータベースを用いて、ステップＳ１０３の処理後の翻訳対象の文内の単語が、対訳単語に一決変換される。
【０１５１】
この処理は、図３のデータベースの番号０のレコードから順にレコードを読みとり、そのレコードに記載された単語を対象語として翻訳対象の文書の全文検索を行い、発見された単語を、図３の同じレコードに記載された対訳単語に置き換える処理である。なお、ここで単語をそのレコードに記載された暗号に置き換えることとしてもよいが、後のチェックでの人間にとっての可読性が低下するため、ここでは人間（翻訳者）に意味の分かる対訳単語に置き換えることが望ましい。
【０１５２】
図３の例であれば、まずレコード番号０の「電気自動車」が翻訳対象文書中の検索単語とされ、「electric vehicle」がそれを置換する単語（置換後の単語）とされる。ＣＰＵの処理により、翻訳対象文書の先頭から「電気自動車」の語（対象語）が検索され、存在すると、それが「electric vehicle」に置き換えられる。なお、置き換え前にユーザに「○○を△△に置き換えますか？」のようなダイアログボックスを表示し、ユーザのＹＥＳ／ＮＯの入力に基づいてその単語の置換を行うかどうかを決定することとしてもよい。また、ユーザの同意を得ることなく、機械的に全文検索、一括置換（文書中の全ての対象語を置換すること）を行ってもよい。レコード番号０の処理が終了すると、次のレコードがあるかが判定され、最終レコードまで同様の処理が行われる。
【０１５３】
なお、置換語の単語は、可読性を高める観点と、単語の区切りであることを機械翻訳時に明確にするために、その前後に半角または全角のスペース（空白記号）を挿入することが望ましい。また、確定した単語であることを明確にするために、置換語の単語を鉤括弧（「」）で囲んでもよい。クオーテーションキャラクタ（''、""、””、’’など）、丸括弧、二重丸括弧、二重鉤括弧、角括弧、二重角括弧、波括弧、亀甲括弧、二重亀甲括弧、山括弧、二重山括弧、ギュメ、または隅付き括弧、それ以外の記号などで囲んでもよい。このように、囲まれる部分が他の部分とは異なることを示す記号で囲んでも良い。
【０１５４】
なお、まだデータベース（図３）にデータが登録されていない状態（システム導入初期など）であれば、図４のステップＳ１０５の処理はパスされる（実行されず、翻訳対象の文章は変化しない）。
【０１５５】
仮にデータベースに図３のデータが登録されていたとすると、
【０１５６】
「［００２３］。
【０１５７】
電気自動車１００は、エンジン１０１と表示部１０２を備える。エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。信号入力手段１０３の入力がハイである場合、
【０１５８】
表示部１０２は警告を表示する。」の文章は、
【０１５９】
「［００２３］。
【０１６０】
electric vehicle １００は、 engine １０１と display １０２を備える。 engine １０１は、 signal input unit １０３と display １０２に接続される。 signal input unit １０３の入力がハイである場合、
【０１６１】
display １０２は警告を表示する。」の文に変換される。（ここでは、可読性を高めるために、置換された単語の前後に半角のスペース（空白記号）を挿入することとしている。）
【０１６２】
ステップＳ１０７において、ユーザは、ステップＳ１０５までの処理で作成された文書を目視により確認し、必要であれば、文章の編集、新規単語および暗号の新規登録、新規登録単語の文書内の一括変換を行う。
【０１６３】
これは、以下を目的として行われる。
【０１６４】
（１）依然として長いままで残されている文章を、短い文章に変更する。
【０１６５】
（２）ステップＳ１０５の一括変換で誤変換された単語を修正する。
【０１６６】
（３）対訳単語に置換えるべき単語、また、暗号化すべき単語を一括変換し、データベースに登録する。
【０１６７】
すなわち、ユーザは目視によりステップＳ１０５までの処理で作成された文書を確認し、依然として長いままで残されている文章を、短い文章に変換する。例えば２以上の文章からなる重文を、句点で切ることで、同じ意味を有する２以上の文章とする。
【０１６８】
またユーザは、ステップＳ１０５の一括変換で誤変換された単語を修正する。技術分野などの違いによって、同一の単語であっても違う単語に翻訳すべきケースが存在する。そのような場合、ユーザは一括変換によりその単語を変換する。また、必要であればデータベースを正しい単語にアップデートしたり、技術分野などによって使い分ける複数のデータベースを準備したりする。
【０１６９】
単語がデータベースに登録されていなかったことから、ステップＳ１０５で変換されなかった単語（とくに、参照符号前の単語）については、このステップＳ１０７においてユーザは新規単語、対訳単語および暗号の新規登録、ならびに、新規登録単語の文書内の一括変換を行う。
【０１７０】
図６は、本発明の第１の実施の形態における翻訳システムに含まれるコンピュータプログラムの単語、暗号登録処理を示すフローチャートである。この処理は、例えば図４のステップＳ１０７でユーザの入力に応じて実行される。
【０１７１】
図６を参照して、ステップＳ２０３においてユーザは文書内の文章の入力、編集処理を行っているものとする。新規単語のデータベースへの登録が必要であるとユーザが考えた場合、ユーザは、ステップＳ２０５で文書中のその単語を選択する。これは、ワープロソフトで文書が表示されているときに、登録すべき単語の先頭（または末尾）にカーソルを移動させ、シフトキーを押下しながら登録すべき単語の末尾（または先頭）まで方向キーを押下することで、登録すべき単語を反転表示させる（または色を変えたり、アンダーラインを付するなどで他の部分と区別できるようにする）ものである。単語の選択は、その単語をマウスでドラッグすることで行っても良い。
【０１７２】
単語登録のためのショートカットキーが押下される（あるいは、表示されたメニューから単語登録を示す表示が選択される）と、ステップＳ２０７においてダイアログボックスが表示される。ダイアログボックスは、選択された単語の対訳語を入力するフィールドを有している。ユーザはこのフィールドに選択された単語の対訳語を入力することで、選択された単語の対訳語を確定させる。また、図３とは異なるデータベースや、学習済みニューラルネットワークによって、選択された単語の対訳語の候補をダイアログボックスに表示し、ユーザから選択を受け付けることで、選択された単語の対訳語を確定させることとしてもよい。
【０１７３】
なお、ステップＳ２０５で選択される単語は、その一部が図４のステップＳ１０５で変換された単語であってもよい。例えば、データベースに「表示部」を「display unit」とする対訳が記録されていたとき、ステップＳ１０５の処理により、文書中の「情報表示部」は、「情報 display unit 」に変換される。ユーザは、「情報」を選択し、「information」の語を対訳語としてデータベースに登録しても良いが、「情報 display unit」を選択し、「information display unit」の語を対訳語としてデータベースに登録しても良い。
【０１７４】
ステップＳ２０９において、ステップＳ２０５で選択された単語と同じ単語を全文検索し、ステップＳ２１１でそれをステップＳ２０７で確定された対訳語に置換する。この置換においても、図４のステップＳ１０５と同様に、置き換え前にユーザに「○○を△△に置き換えますか？」のようなダイアログボックスを表示し、ユーザのＹＥＳ／ＮＯの入力に基づいてその単語の置換を行うかどうかを決定することとしてもよい。また、ユーザの同意を得ることなく、機械的に全文検索、一括置換（文書中の全ての対象語を置換すること）を行ってもよい。
【０１７５】
ステップＳ２１３において、データベース（図３）のデータ登録が行われている最下行を検索する。その１つ下の行を今回の単語の登録行とし、ステップＳ２１５でそのレコード番号から暗号を作成する。ステップＳ２１７でデータベース最下行の１つ下の行に、番号、単語、暗号、対訳単語などが新規に登録される。これにより、翻訳資産であるデータベースがアップデートされる。
【０１７６】
ステップＳ２１７での処理の後、ステップＳ２０３からの処理に戻る。また、ステップＳ２０５で単語の登録が行われないときは、ステップＳ２０３からの処理を行う。
【０１７７】
なお、ステップＳ２０５での単語の登録処理開始のイベントは、単語登録のためのショートカットキーが押下されることや、表示されたメニューから単語登録を示す表示が選択されることや、（「単語登録」などの）音声入力などであればよいが、（マウスや音声入力を用いずに単語登録ができるため、）ショートカットキーを用いることが望ましい。ショートカットキーは、文字入力の邪魔にならないよう、例えばコントロールキーと特定のキーの双方の押下などに割り当てられていることが望ましい。
【０１７８】
図４のステップＳ１０７での処理が終了したのであれば、ステップＳ１０９において、ステップＳ１０７までの処理で生成された文書内に、機械翻訳しにくい部分があるかどうかのチェックが行われる。これは、具体的には、以下のものである。
【０１７９】
（１）１つの文章（文頭から句点まで）の長さが所定の長さ以上あれば、その文章を機械翻訳しにくい部分であるとして、警告を出力する。
【０１８０】
（２）１つの文章の文頭、または改行コードから、次の改行コード、または句点までの長さが所定の長さ以上あれば、その文章を機械翻訳しにくい部分であるとして、警告を出力する。
【０１８１】
（３）所定回数以上出現する単語であって、ステップＳ１０５またはＳ１０７の処理で変換されていない（データベースに登録されていない）単語があれば、変換するよう、警告を出力する。
【０１８２】
（４）参照符号の前に出現する単語であって、ステップＳ１０５またはＳ１０７の処理で変換されていない（データベースに登録されていない）単語があれば、変換するよう、警告を出力する。
【０１８３】
（５）１文中の主語と述語の対応がとれていない場合、警告を出力する。
【０１８４】
（６）１文中に、主語と述語が１つずつではない場合、警告を出力する。
【０１８５】
ステップＳ１０９において、チェックに引っかかった場合、ユーザはステップＳ１０７での処理を続ける。なお、ステップＳ１０９での処理は省略してもよい。
【０１８６】
ステップＳ１１１において、ステップＳ１０９までの処理で得られた文書に対し、英語単語を暗号に一括変換する処理が行われる。
【０１８７】
この処理は、ステップＳ１０５での処理と類似する処理であり、図３のデータベースの番号０のレコードから順にレコードを読みとり、そのレコードに記載された対訳単語を対象語として翻訳対象の文書の全文検索を行い、発見された単語を、図３の同じレコードに記載された暗号に置き換える処理である。
【０１８８】
これにより、
【０１８９】
「［００２３］。
【０１９０】
electric vehicle １００は、 engine １０１と display １０２を備える。 engine １０１は、 signal input unit １０３と display １０２に接続される。 signal input unit １０３の入力がハイである場合、
【０１９１】
display １０２は警告を表示する。」の文章は、
【０１９２】
「［００２３］。
【０１９３】
AAA １００は、 AAB １０１と FER １０２を備える。 AAB １０１は、 AAC １０３と FER １０２に接続される。 AAC １０３の入力がハイである場合、
【０１９４】
FER １０２は警告を表示する。」に変換される。
【０１９５】
このように、単語がそのレコードに記載された暗号に置き換えられるため、人間に意味の分からない文書が生成される（第１の暗号化）。
【０１９６】
図３のデータベースの番号０のレコードから順にレコードを読みとる場合、ステップＳ１１１での処理では、対訳単語が長い順（または、より多くの単語を含む順）にデータをソートしておくことが望ましい。
【０１９７】
例えば、データベースに対訳単語として、「display unit」と「information display unit」とが登録される場合がある。文章中に「information display unit」の語があるときに、その中の「display unit」の部分のみが先に検索され、暗号化されると、「information」が暗号化されないままとなる。従って、対訳単語の長い順（より多くの単語を含む順）に検索を行う事により、長い単語を先に暗号化することができる。データベースのデータをソートしなくても、データベースから対訳単語の長い順（より多くの単語を含む順）に検索語をピックアップすることとしてもよい。
【０１９８】
ステップＳ１１３において、参照符号前の単語（特に名詞）で暗号に変換できないものがあるかを検索してもよい。すなわち、参照符号前の単語で暗号に変換できていないものがあれば、ステップＳ１１５で、ステップＳ１０９と同様にユーザにデータベースへの登録を促すものである。ステップＳ１１３、Ｓ１１５の処理により、参照符号前の単語を確実に暗号化することができる。なお、ステップＳ１１３、Ｓ１１５の処理は、省略しても良い。
【０１９９】
ステップＳ１１７において、ステップＳ１１５までの処理によってワープロソフトで作成された文書データを、テキストデータ（ＵＴＦ−８などのデータ）に変換する。ＨＴＭＬデータなどに変換しても良いが、通信されるデータ量や翻訳されるデータの量を削減するためには、テキストデータとすることが望ましい。
【０２００】
次に図５のステップＳ１２１において、ステップＳ１１７で得られたデータの先頭から順に、処理対象の１文（１度に機械翻訳する処理単位）を特定する。これは、データの先頭から次の句点までを第１番目の処理データとし、さらに次の句点までを第２番目の処理データとし、それを文末（第ｎ番目の処理データの最後）まで続ける処理である。第ｎ番目の処理データの最後（データ末尾）は、句点、またはデータの最後のキャラクタである。
【０２０１】
「［００２３］。
【０２０２】
AAA １００は、 AAB １０１と FER １０２を備える。 AAB １０１は、 AAC １０３と FER １０２に接続される。 AAC １０３の入力がハイである場合、
【０２０３】
FER １０２は警告を表示する。」の文であれば、
【０２０４】
第１番目の文は、「［００２３］。」となる。
【０２０５】
第２番目の文は、「（改行コード）   AAA １００は、 AAB １０１と FER １０２を備える。」となる。
【０２０６】
第３番目の文は、「 AAB １０１は、 AAC １０３と FER １０２に接続される。」となる。
【０２０７】
第４番目の文は、「 AAC １０３の入力がハイである場合、（改行コード）
【０２０８】
FER １０２は警告を表示する。」となる。これらが第１番目の文から順に処理対象とされ、ステップＳ１２１で処理される。なお、第２番目および第４番目の文は、処理対象の１文であるが、改行コードがその中に含まれている。
【０２０９】
ステップＳ１２１においては、処理対象の１文が翻訳不要であるかを判定する。上記の例であれば、第１番目の文は段落番号「［００２３］。」であり、記号と数字しか含まれていない。このように、記号、数字、アルファベットのみからなる１文であれば、翻訳する必要はないため、翻訳結果を代入する変数（キュー）にそのまま追加する。または、全角文字を半角文字に変換するなどの処理を行ってから追加することとしてもよい。すなわち、ステップＳ１２１でＹＥＳであれば、その１文がステップＳ１２３で必要に応じて処理され、キューの末尾に追加される。これにより、通信コストや翻訳コストを削減することができる。また、誤訳が生じることを防ぐことができる。
【０２１０】
ステップＳ１２１でＮＯであれば、ステップＳ１２５でその１文をＨＴＴＰＳ通信により外部の他社コンピュータ資源２００に送信する。ＨＴＴＰＳ通信で行われる暗号化は、第２の暗号化である。
【０２１１】
ステップＳ１２７において、その１文の翻訳結果を外部の他社コンピュータ資源２００から受信する。この通信もＨＴＴＰＳで暗号化が行われており、コンピュータ１００で復号化（第２の復号化）が行われることで解読される。翻訳結果は、キューの末尾に付加される。
【０２１２】
翻訳結果をキューの末尾に付加するときに、ピリオドの後であればスペース（またはツースペース（２個のスペース））を挿入することとしてもよい。すなわち、受信された文書同士を、その間にスペースを挿入して結合することとしてもよい。これは、翻訳後の文章の可読性を上げるための処理である。
【０２１３】
ステップＳ１２９で最後の文（第ｎ番目の文）まで処理が終わったかが判定され、ＮＯであればステップＳ１２１からの処理（次の番の文の処理）を繰り返す。これにより、第１番目の文から第ｎ番目の文までの処理が完了する。
【０２１４】
ステップＳ１２９でＹＥＳとなれば、キューには翻訳結果が含まれている。例えば上記の例であれば、
【０２１５】
「［００２３］。
【０２１６】
AAA １００は、 AAB １０１と FER １０２を備える。 AAB １０１は、 AAC １０３と FER １０２に接続される。 AAC １０３の入力がハイである場合、
【０２１７】
FER １０２は警告を表示する。」の文は、
【０２１８】
「[0023]。
【０２１９】
AAA 100 includes AAB 101 and FER 102. AAB 101 is connected to AAC 103 and FER 102. When an input of AAC 103 is high,
【０２２０】
FER 102 displays warning.」のような文に変換され、それがキューに含まれることになる。このように、翻訳文も暗号化されているため、自社以外の者は翻訳文を得たとしても、その内容を知ることができない。
【０２２１】
ここでステップＳ１３１において、キューの中の暗号を英単語に変換する処理が行われる。
【０２２２】
この処理は、ステップＳ１０５での処理と類似する処理であり、図３のデータベースの番号０のレコードから順にレコードを読みとり、そのレコードに記載された暗号を対象語として翻訳対象の文書の全文検索を行い、発見された暗号を、図３の同じレコードに記載された対訳単語に置き換える処理である。
【０２２３】
これにより、上記の
【０２２４】
「[0023]。
【０２２５】
AAA 100 includes AAB 101 and FER 102. AAB 101 is connected to AAC 103 and FER 102. When an input of AAC 103 is high,
【０２２６】
FER 102 displays warning.」
【０２２７】
の文は、
【０２２８】
「[0023]。
【０２２９】
electric vehicle 100 includes engine 101 and display 102. engine 101 is connected to signal input unit 103 and display 102. When an input of signal input unit 103 is high,
【０２３０】
display 102 displays warning.」
【０２３１】
の文に変換される。この変換を自社内で行う事で、文書の秘匿性が担保される。
【０２３２】
なおこの変換においては、暗号を単語の一部分にマッチさせないよう、全文検索のフラグをセットすることが望ましい。例えば、ＡＢＳＴＲＡＣＴの単語中の「ＡＢＳ」が暗号であるとして誤変換されることが防止するものである。このような処理は、例えばマイクロソフト社のＶＢＡを用いるのであれば、ＭａｔｃｈＷｈｏｌｅＷｏｒｄプロパティをＴｒｕｅにして全文検索を行うことで実現される。
【０２３３】
また、ＣＰＵ、ＲＡＭなどの意味を持つ単語が暗号として翻訳されることを防ぐため、このような意味を持つ単語は、暗号としてデータベースに登録されないようにする（予約語とする）ことが望ましい。
【０２３４】
ステップＳ１３３において、後処理を行う。これは具体的には以下の処理である。
【０２３５】
（１）不要なスペースを削除する処理。例えば、ピリオドの後ではない位置にスペースが２以上挿入されている場合、それを１つにする処理。また、アルファベットと数字からなる参照符号（１００Ａなど）の数字とアルファベットの間のスペースを削除する処理。
【０２３６】
（２）カンマの後に存在する改行コード、またはピリオドの後に存在する改行コード以外の改行コードを削除する処理。例えば上記例であれば、「When an input of signal input unit 103 is high,」の後の改行コードを削除する処理である。
【０２３７】
（３）複数形の誤りを正しい形に変換する処理。例えば、boxsをboxesに変換する処理である。
【０２３８】
（４）「前記」の訳語に当てられた「said」を一般的な語である「the」に直す処理。
【０２３９】
（５）暗号を鉤括弧でくくるなど、特殊なコードを付加して翻訳した場合、それを削除する処理。例えば、ＡＡＡ１００の暗号に対し、「ＡＡＡ」１００など鉤括弧を付与して機械翻訳すると、"AAA" 100など元にはないダブルクォーテーションが付加されるため、これを削除する処理。
【０２４０】
（６）冠詞を正しくする処理。初出の単語は、不定冠詞をつけることとし、２度目以降に出現する場合には、定冠詞を付するなど。
【０２４１】
（７）全角の句点を削除する処理。（上記[0023]。の句点などを削除する処理である。）
【０２４２】
ステップＳ１３５において、ユーザは後処理後の文書をチェックし、誤りがあればそれを修正する。
【０２４３】
ステップＳ１３７において、ワープロソフトでのスペルチェッカーにより、単語、構文の誤りがあればそれを修正し、同時に複数形の誤りがあればそれを修正する。誤りをユーザが修正・編集することで、最終的な翻訳文が完成する。
【０２４４】
このようにして、翻訳原文、および翻訳文双方の秘匿性を保ったまま、外部のコンピュータ資源を用いた機械翻訳を行う事ができる。
【０２４５】
また、上付き、下付き文字、イタリック、太字、アンダーラインが付された文字を含む単語をデータベースに登録することで、それは暗号に変換された状態で機械翻訳される。暗号を後に上付き、下付き文字、イタリック、太字、アンダーラインが付された文字を含む単語に再度変換することができるため、機械翻訳によって上付き、下付き文字、イタリック、太字、アンダーラインが付された文字を含む単語が誤訳されることが防止される。例えばデータベースに、単語は「ＳｉＯ２」、その対応する暗号は「ＡＢＣ」、対訳単語は「ＳｉＯ２」として登録してもよいし、図３の３５０４番のレコードのように登録を行ってもよい。翻訳前の単語と翻訳語の単語が同じであれば、単語と暗号のみをデータベースに登録し、対訳単語は登録しないこととしてもよい。単語は全角、対訳単語は半角（あるいはその逆）としてデータベースに登録しても良い。
【０２４６】
なお、秘密性の低い文書であれば、ステップＳ１１１〜Ｓ１１５の暗号化と、ステップＳ１３１での復号化を行わず、一部が対訳単語に変換されている文書を機械翻訳してもよい。この場合、第１の暗号化と第１の復号化は行われず、第２の暗号化と第２の復号化のみが行われることとなる。この方法は、図１の他社に対して翻訳の内容を秘密にする必要が無い場合に有効である。この方法では、機械翻訳後の文書の単語のゆらぎを防ぐことができる。この方法において、一括変換により変換された対訳単語に対して、それを囲む鉤括弧やダブルコーテーションなどを付加した後に機械翻訳を行ってもよい。これにより、翻訳しなくて良い単語であることを示した状態で機械翻訳を行う事ができるため、機械翻訳後の文書の単語のゆらぎ、誤訳がより少なくなる。
【０２４７】
「電気自動車」の訳語としては、「electric vehicle」、「electrical vehicle」、「electric-powered vehicle」、「electronic vehicle」、「battery car」、「battery vehicle」など複数の訳語が存在する。ニューラルネットワークによる機械翻訳を行うと、文脈によってどの訳語が当てられるかわからず、翻訳後の単語表現にゆらぎが生じる。また、翻訳対象の文書の分野の違いによって、適切な訳語が異なることも多い。本実施の形態においては、ニューラルネットワークによる機械翻訳の前に、予め単語が統一された訳語に変換される。このため、表現の揺らぎがなくなる。
【０２４８】
なお、暗号を全角文字として日→英の機械翻訳をした場合、機械翻訳後にはそれらは半角文字となっている。このため、ステップＳ１３１の変換では、それを考慮して全文変換する必要がある。はじめから暗号を半角文字としておけば、このような問題は生じない。
【０２４９】
［第２の実施の形態］
【０２５０】
図７は、本発明の第２の実施の形態における翻訳システムに含まれるコンピュータプログラムの単語、暗号登録処理を示すフローチャートである。
【０２５１】
図６で示された処理は、図１の翻訳システム内での処理に限らず、単語登録処理（データベース作成処理）として、別個独立に行う事ができる。
【０２５２】
すなわち、図７のステップＳ２０１でワープロソフトで文章を開いた後に、ステップＳ２０３以降の処理（図６のステップＳ２０３以降の処理と同じ）を行う事も可能である。
【０２５３】
なお、第１、第２の実施の形態において、暗号を用いずに翻訳を行うのであれば（秘密にする必要が無い文書を翻訳する場合）、データベースに暗号を登録する必要はない。この場合、ステップＳ２１５の処理は不要となる。
【０２５４】
また、暗号はデータベースに登録することとしたが、例えばレコード番号から一意に決定される暗号を用いることとし、暗号はデータベースに記録せず、コンピュータ１００でレコード番号から演算により求めることとしてもよい。
【０２５５】
このようなフローチャートで示される処理は、記憶装置１１１に記録されたコンピュータプログラムがＲＡＭ１０９上に読み出され、それをＣＰＵ１０１が順次実行することで実行される。プログラムは、コンパイルされた機械語の実行形式で保存されてもよいし、ソースコードをインタプリタが逐次実行する形式としてもよいし、中間言語で記載された形式としても良い。
【０２５６】
ワープロソフト（マイクロソフト社のＷＯＲＤ、オープンソース方式で公開されているＯｐｅｎＯｆｆｉｃｅなど）を用い、そのマクロ（ＶＢＡ：Ｖｉｓｕａｌ  Ｂａｓｉｃ  Ｆｏｒ  Ａｐｐｌｉｃａｔｉｏｎｓなど）を用いて図６、図７のフローチャートのプログラムが実行されてもよい。データベースは、専用のデータベースでもＣＳＶファイルであってもよいが、ここではマイクロソフト社のＥＸＣＥＬなどの表計算ソフトを用いてデータベースが形成され、ワープロソフトのＶＢＡを用いてデータベースへのアクセスが行われるものとする。
【０２５７】
図７を参照して、ステップＳ２０１においてユーザはワープロソフトによって翻訳対象の文章が記録された文書ファイルを開く（文書ファイルを補助記憶装置からＲＡＭへ展開する）。また、表計算ソフトも開いておく。
【０２５８】
文書ファイルは、プレーンテキスト形式で記載されたテキストファイルであってもよいし、ワープロソフトの文書ファイルであってもよいし、ＨＴＭＬファイルであってもよい。また、画像に含まれる文字がＯＣＲによりテキスト化されたファイルであってもよい。画像ファイルを入力し、ステップＳ２０１でＯＣＲ機能により文字部分をテキストデータに変換したファイルを作成しても良い。他、文章を記述することができるのであれば、ファイルのフォーマットは特定のものに限定されない。文書は、外部コンピュータからファイル転送プロトコルや電子メールソフトウェアを用いて受信しても良いし、ＵＳＢメモリなどのストレージから入力されても良い。また、キーボード１１９やマイクによって入力されても良い。文書は、インターネットからダウンロードすることとしてもよい。
【０２５９】
ここでは仮に電気自動車について記載された特許明細書を翻訳するものとし、文書ファイルに、
【０２６０】
「電気自動車１００は、エンジン１０１と表示部１０２を備え、エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。信号入力手段１０３の入力がハイである場合、表示部１０２は警告を表示する。」の文章が記載されていたものとする。
【０２６１】
図４のステップＳ２０３において、ユーザは開かれた文書の内容をチェックし、必要に応じてそれを訂正する。また必要に応じて文章を追加（入力）する。
【０２６２】
図４のステップＳ２０５において、ユーザは文章を目視することにより、データベースに登録したい単語を選択する。これはカーソルを単語の最初または最後に移動させ、ＳＨＩＦＴ＋方向キーの押下、またはマウスによるドラッグ操作によって、対象の単語を反転表示（または文字および／または背景色を他の部分と変えて表示）させるものである。単語の登録は、主に参照符号の前に存在する単語に対して行われるが、参照符号を伴わない単語も登録するようにしてもよい。参照符号とは、図面に記載された符号（引き出し線とともに用いられる、構成要素を示す数字や文字など）を参照するための符号である。例えば「電気自動車１００」の「１００」が参照符号であり、参照符号の前に存在する単語とは、「電気自動車」を意味する。
【０２６３】
単語の選択は、上記のように人間の判断（キーやマウスの入力）によっても良いが、例えば参照符号の前に存在する単語を自動的に検出し、それを選択することとしてもよい。また、参照符号の有無に限らず、単語を自動的に検出し、それを選択することとしてもよい。
【０２６４】
単語が選択された状態で、画面に表示された登録ボタン（または登録のためのショートカットキー）が押下されたのであれば、ステップＳ２０７において、ＣＰＵ１０１は、ステップＳ２０５で選択された単語の対訳語の入力を受け付ける。これはダイアログボックスを画面に表示し、ユーザからキーボードや音声による入力を受け付けるものでもよいし、辞書から単語候補を複数表示し、その中から対訳語をユーザに選択させるＵＩ（ユーザインタフェース）を使用しても良い。これにより翻訳前の単語と、翻訳後の単語との対応が決定される。
【０２６５】
ステップＳ２０９において、ＣＰＵ１０１は翻訳対象の文書の全文検索を行い、ステップＳ２０７までの処理で決定された翻訳前の単語を検索し、ステップＳ２１１においてそれを対応する翻訳後の単語に変換する。全文検索はユーザに確認を取ることなく行っても良いし、１つの単語が検索される度に、「（翻訳後の単語）に置換しますか？（ＹＥＳ／ＮＯ）」のようなダイアログボックスを画面に表示し、単語を置換するか否かをユーザに選択させるようにしても良い。これにより、ステップＳ２０５で選択された単語を含む、全文中のその単語が、ステップＳ２０７で決定された翻訳後の単語に一括変換される。例えば「電気自動車」の語に「electric vehicle」が対応付けられたのであれば、文書中の「電気自動車」の語は、「electric vehicle」に一括変換される。
【０２６６】
ステップＳ２１３において、ＣＰＵ１０１は、データベース２０７の情報の登録されている最下行（図３の最下行）を検索し、その次の行である空白行の番号（通し番号）を取得する。
【０２６７】
ステップＳ２１５において取得された番号の２６進数への変換が行われ、対象となる単語の暗号が作成される。ステップＳ２１７において、暗号は、データベースの情報の登録されている最下行の下の行に、翻訳前の単語、翻訳後の単語とともに１レコードとして記録される。データベースへ登録された情報は、将来用いる翻訳辞書としての資産となる。
【０２６８】
ステップＳ２１７の処理の後、ステップＳ２０３からの処理が繰り返し行われる。また、ステップＳ２０５で登録ボタンが押されていないときは、ステップＳ２０３からの処理が繰り返し行われる。
【０２６９】
全文の処理が終了すると、利用者は文書を保存する。これは文書中の一部が翻訳された原文データであり、その後のニューラル機械翻訳の対象とされてもよい。
【０２７０】
図６や図７の処理でデータベースに登録される単語は、主に、参照符号の前に記載される単語である。例えば翻訳対象の原文が、「電気自動車１００は、エンジン１０１と表示部１０２を備え、エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。信号入力手段１０３の入力がハイである場合、表示部１０２は警告を表示する。」の文であれば、そのうちの「電気自動車」、「エンジン」、「表示部」、「信号入力手段」が登録の対象とされる。
【０２７１】
なお、参照符号を伴わない「入力」、「警告」などの語も、暗号、対訳単語とともに図４のデータベース２０７に登録するようにしてもよい。
【０２７２】
さらに、参照符号を伴う単語の少なくとも一部が登録の対象外となっていてもよい。すなわち、「電気自動車」、「エンジン」、「表示部」、「信号入力手段」のうちの少なくとも一部が登録されなくても良い。
【０２７３】
ステップＳ２１３での登録の後に、原文の単語が長いもの順にソートされても良い。より長い単語が番号０の近く（上側）に、より短い単語がより大きい番号側（下側）に位置するようにソートするものである。
【０２７４】
以上の処理により、「電気自動車１００は、エンジン１０１と表示部１０２を備え、エンジン１０１は、信号入力手段１０３と表示部１０２に接続される。信号入力手段１０３の入力がハイである場合、表示部１０２は警告を表示する。」の文章は、
【０２７５】
「 electric vehicle １００は、 engine １０１と display １０２を備え、 engine １０１は、 signal input unit １０３と display １０２に接続される。 signal input unit １０３の入力がハイである場合、 display １０２は警告を表示する。」の文章に変換される。この文章をユーザはチェックし、誤りがないかを判断する。誤りがある場合、ワープロソフト上で編集を行う。
【０２７６】
［第３の実施の形態］
【０２７７】
図８は、本発明の第３の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
【０２７８】
このフローチャートで示される処理は、記憶装置１１１に記録されたコンピュータプログラムがＲＡＭ１０９上に読み出され、それをＣＰＵ１０１が順次実行することで実行される。プログラムは、コンパイルされた機械語の実行形式で保存されてもよいし、ソースコードをインタプリタが逐次実行する形式としてもよいし、中間言語で記載された形式としても良い。
【０２７９】
図を参照して、ステップＳ１０１において、ユーザの指示に従ってＣＰＵ１０１は、翻訳する文書（文章）を入力する。ここで入力される文書は、図７での処理により変換が行われた後の文章であるものとする。ここでは、「 electric vehicle １００は、 engine １０１と display １０２を備え、 engine １０１は、 signal input unit １０３と display １０２に接続される。 signal input unit １０３の入力がハイである場合、 display １０２は警告を表示する。」の文章が処理される例を説明する。
【０２８０】
ステップＳ１０３においてＣＰＵ１０１は、入力文書に関して、機械翻訳に難がある部分を検索する。例えば、日本語から翻訳を行うのであれば、文書を「。」などの区点（英語からの翻訳であればピリオド）で区切ることで複数の文に分解し、各文が所定の長さ以内であるか（すなわち各文の長さが所定の閾値以下であるか）を判断するものである（閾値として、他社コンピュータ資源２００の性能に応じ、例えば８０〜１２０文字程度の値が選択される）。
【０２８１】
１文の長さが長ければ、機械翻訳は不正確になりやすいため、予め文章の長さをチェックし、長い文は翻訳不可とするものである。長い文章については、例えば重文であれば、「ＡはＢであり、ＣはＤである。」のような文章を、「ＡはＢである。ＣはＤである。」のような複数の文章に変換し、各文を短くする変換・編集処理が行われる。このような変換は自動で行っても良いし、ユーザに長いと判断された文章を示し、ユーザの手動で修正を促すようにしてもよい。また、自動で変換を行う場合には、自動変換後の文章（および必要であれば変換前の文章）をユーザに示し、正しく変換が行われているかをユーザにチェックさせることが望ましい。
【０２８２】
機械翻訳に難がある部分のチェックとしては、１文に主語があるか（例えば「○○は、」や「○○が、」に相当する語句が含まれているか）、１文中の主語と述語が対応しているかなどをチェックしても良い。より機械翻訳を誤訳無く正確に行うのであれば、例えば一文中に主語が１つのみであり、かつ述語が１つのみであることを翻訳可能な文の条件としても良い。
【０２８３】
これらのチェックについては、正規表現を利用して文のパターンをマッチングさせることで行ってもよい。形態素解析によりチェックを行ってもよい。また例えば学習済みのリカレントニューラルネットワーク（ＲＮＮ）を用い、チェック対象の文章を入力とし、出力として機械翻訳に難がない文章を出力させる、または出力として難あり／なしの信号を出力させ、難がある場合にユーザに修正を促す、などを行うことも可能である。
【０２８４】
ステップＳ１０５において、機械翻訳が可能な文章であるかのチェックを行い、難のある部分が存在するのであれば、ステップＳ１０３での処理を繰り返し行う。
【０２８５】
ステップＳ１０５において、機械翻訳が可能であると判断されたのであれば、ステップＳ１０７で文章の前処理を行う。これは、機械翻訳にミスがないよう、機械翻訳をしやすくする処理である。例えば複文であれば、「ＡがＢのとき、ＣはＤを行う。」の構造を有するが、翻訳ミスを防ぐため、複文の区切り部分（上記文章であれば、「とき、」の直後）に目印となるコードを埋め込む処理である。コードは、改行コード、スペース、区切りとなるキャラクターなどであり、翻訳に影響を与えず、区切りを機械にわかりやすくするためのコードが選択される。また、例えば「ＡはＢであり、ＣはＤである。」のような構造を有する重文を、重文の区切り部分（上記文章であれば、「であり、」の直後）に上記目印となるコードを埋め込んでもよい。ステップＳ１０７の処理により、機械翻訳において処理する文の単位が小さくなるため、機械翻訳において誤った主語−述語の組み合わせが選択されたり、その他の誤訳が生じることが防止される。
【０２８６】
ステップＳ１０３〜Ｓ１０７での処理により、例えば上記の
【０２８７】
「 electric vehicle １００は、 engine １０１と display １０２を備え、 engine １０１は、 signal input unit １０３と display １０２に接続される。 signal input unit １０３の入力がハイである場合、 display １０２は警告を表示する。」の文章は、
【０２８８】
「 electric vehicle １００は、 engine １０１と display １０２を備える。 engine １０１は、 signal input unit １０３と display １０２に接続される。 signal input unit １０３の入力がハイである場合、（改行コード）
【０２８９】
display １０２は警告を表示する。」
【０２９０】
の文章に変換される（ステップＳ１０３で単文化が行われ、ステップＳ１０７で複文を作る文の区切りに改行コードが挿入されている）。
【０２９１】
ステップＳ１０９において、記憶装置１１１中のデータベースを参照して、翻訳する文書内の参照符号前に記載されている単語（特に名詞）を暗号に変換する（第１の暗号化）。データベースは、原文と、暗号文字列と、翻訳文字列を対比させるものである。
【０２９２】
ステップＳ１０９で参照符号前の単語を暗号に一括変換することによって、例えば上述の
【０２９３】
「 electric vehicle １００は、 engine １０１と display １０２を備える。 engine １０１は、 signal input unit １０３と display １０２に接続される。 signal input unit １０３の入力がハイである場合、（改行コード）
【０２９４】
display １０２は警告を表示する。」の文章は、
【０２９５】
「ＡＡＡ１００は、ＡＡＢ１０１とＦＥＲ１０２を備える。ＡＡＢ１０１は、ＡＡＣ１０３とＦＥＲ１０２に接続される。ＡＡＣ１０３の入力がハイである場合、（改行コード）
【０２９６】
ＦＥＲ１０２は警告を表示する。」
【０２９７】
の暗号文に置き換えられる。
【０２９８】
このような暗号文では、「ＡＡＡ」などの２６進数が単語として処理されるため、真の意味を外部に漏らすことなく、外部の他社コンピュータ資源２００で機械翻訳可能である。
【０２９９】
ステップＳ１０９での処理は、以下のように行われる。
【０３００】
（１）文書の先頭から、単語と参照符号の組み合わせからなる文章の構成部分を検索する。
【０３０１】
（２）検索された構成部分の単語を、データベースから検索する。
【０３０２】
（３）対応する暗号をデータベースから得る。
【０３０３】
（４）上記（２）で検索された構成部分の単語を、上記（３）で得た暗号に置換する。
【０３０４】
（５）文章中の次に現れる、単語と参照符号の組み合わせからなる文章の構成部分を検索する。
【０３０５】
（６）全ての構成部分が処理されるまで、上記（１）からの処理を繰り返す。全ての構成部分が処理されたのであれば、終了する。
【０３０６】
またはステップＳ１０９での処理は、以下のように行われてもよい。
【０３０７】
（１）データベースに登録されている１番目の単語を読み出す
【０３０８】
（２）読み出された単語を、文書の先頭から全て検索し、データベースに登録されている対応する暗号に置換する（全文一括置換）。
【０３０９】
（３）データベースに登録されている次の単語を読み出し、上記（２）の処理を繰り返す。データベースの登録単語全てについて処理が終われば、終了する。
【０３１０】
ステップＳ１１９以降の処理において、ステップＳ１０９までの処理で得られた機械翻訳前のデータは、先頭の１文から順に、ＨＴＴＰＳ送信により、ニューラルネットワーク学習済みの他社コンピュータ資源２００に送信されることとなる。
【０３１１】
より詳しくは、翻訳前のデータの最初の１文（例えば、「。」の句点までの文章）がステップＳ１１９においてＨＴＴＰＳにより外部の他社コンピュータ資源２００に送信される。この送信は、暗号化される（第２の暗号化）。外部の他社コンピュータ資源２００は、リクエストに応じ、受信したデータを対象言語に翻訳し、コンピュータ１００に送信する。
【０３１２】
ステップＳ１２１において、コンピュータ１００は、ＨＴＴＰＳによるレスポンスとして、外部の他社コンピュータ資源２００から翻訳後の１文のデータを得る。
【０３１３】
ステップＳ１２３において、最後の文まで翻訳が終了したかを判定し、ＮＯであればステップＳ１１９において、次の１文の処理を行う。最後の文まで翻訳が終了したのであれば、ステップＳ１２５に進む。
【０３１４】
ステップＳ１２５において、翻訳後の文書の後処理を行う。ここでは、ステップＳ１１９〜Ｓ１２３の処理で得られた１文ごとの翻訳文を１つの文書に纏める。また、ステップＳ１０９〜Ｓ１１３の第１の暗号化により得られた翻訳文は、暗号を含んでいるので、その暗号を、対応の訳語に一括変換する処理が行われる。これは、例えば以下のように行われる。
【０３１５】
（１）データベースに登録されている１番目の暗号（「ＡＡＡ」など）を読み出す。
【０３１６】
（２）読み出された暗号を、文書の先頭から全て検索し、データベースの対応する訳語に置換する（全文一括置換）。
【０３１７】
（３）データベースに登録されている次の暗号を読み出し、上記（２）からの処理を繰り返す。データベースの登録暗号全てについて処理が終われば、終了する。
【０３１８】
ステップＳ１２７において、複数形単語のチェックなどのスペルチェックを行う。ユーザは翻訳文を最終チェックし、問題があれば修正、編集を行う。
【０３１９】
ステップＳ１２７での処理を行うことにより、
【０３２０】
「ＡＡＡ １００ comprises ＡＡＢ １０１ and ＦＥＲ １０２.  ＡＡＢ １０１ is connected to ＡＡＣ １０３ and ＦＥＲ １０２.  When an input of ＡＡＣ １０３ is high,（改行コード）
【０３２１】
ＦＥＲ １０２ displays alert.」
【０３２２】
の文章から、
【０３２３】
「electric vehicle １００ comprises engine １０１ and display １０２.  engine １０１ is connected to signal input unit １０３ and display １０２.  When an input of signal input unit １０３ is high,（改行コード）
【０３２４】
display １０２ displays alert.」
【０３２５】
の文が得られる。
【０３２６】
ステップＳ１２５、ステップＳ１２７において、図５のステップＳ１３５、Ｓ１３７と同様の処理を行うことで、第１の実施の形態と同様の効果を得ることができる。
【０３２７】
［第４の実施の形態］
【０３２８】
図９は、本発明の第４の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
【０３２９】
このフローチャートでの処理は、図８の処理に加えて、ステップＳ１１１、Ｓ１１３の処理が追加されたものである。
【０３３０】
ステップＳ１０９での処理の後に、ステップＳ１１１において、データベースに登録がないことで、変換ができなかった参照符号前の単語があるかを判定する。これは、単語と参照符号の組み合わせからなる文章の構成部分が存在するか否かを正規表現を用いて判断しても良いし、ユーザが目視で確認しても良い。
【０３３１】
ステップＳ１１１でＹＥＳであれば、ステップＳ１１３に進む。ステップＳ１１３においては、ステップＳ１１１で変換できなかった単語と、その暗号、および訳語をセットにしてデータベースに登録する。例えば、変換できなかった単語を白黒反転表示として目立たせた上で、「○○の訳語を入力してください」の語と単語入力フィールドを含むダイアログボックスを表示し、ユーザから入力を受け付けるようにしてもよい。例えば、文書中の「電気自動車」の単語を反転表示し、「『電気自動車』の訳語を入力してください」の語と単語入力フィールドを含むダイアログボックスを表示し、ユーザから「electric vehicle」の入力を受け付けるものである。単語と、その暗号、および訳語はセットにされ、データベースに登録される。なお、暗号は自動作成することが望ましい。
【０３３２】
ステップＳ１１１でＮＯとなるまで、ステップＳ１１３での処理は繰り返し行われる。
【０３３３】
ステップＳ１１１でＮＯとなったのであれば、ステップＳ１１９への処理に進む。
【０３３４】
［その他］
【０３３５】
上述の複数の実施の形態、およびそれに含まれる要素（一部の構成、一部の処理）を組み合わせたり、入替えたりすることで新たな別の実施の形態とすることもできる。
【０３３６】
全文一括変換（単語を対訳単語に、または対訳単語を暗号に変換する処理）を行うとき、検索対象の語は、長い単語から順にデータベースから読み出すことが望ましい。例えば、データベース中に、「検出手段」を「detection means」に変換するレコードと、「情報検出手段」を「information detection means」に変換するの２つのレコードがあった場合、長い単語である「情報検出手段」を「information detection means」に一括変換する処理をした後で、より短い単語である「検出手段」を「detection means」に一括変換する処理をするものである。これにより、文書中の「情報検出手段」の「検出手段」の部分のみが変換されることを防ぎ、翻訳の効率を上げることができる。また、単語を暗号に変換する場合も同様に、長い単語から順にデータベースから読み出すことで、一連の意味を持つ単語の集合の一部のみが暗号に変換されることを防ぐことができる。
【０３３７】
レコード番号の小さいものから順に単語を読み出して一括変換する場合は、レコードを登録単語の文字数によってソートすることとしてもよい。
【０３３８】
特許明細書であれば、その末尾に「符号の説明」の項目があり、一般に重要な参照符号とそれが示す構成要素（単語）がそこに説明されている。符号の説明の項目に記載された単語のみを暗号化することとしてもよい。機械翻訳前に、符号の説明の項目に記載された単語が文書中で暗号化されていない場合、警告を出すこととしてもよい。
【０３３９】
また、特許明細書であれば、発明を実施するための形態、図面の簡単な説明、発明の効果、課題を解決するための手段、書類名  明細書、発明の名称、技術分野、背景技術、先行技術文献、特許文献、発明の概要、符号の説明、書類名  請求の範囲、書類名  要約書、などをそれぞれ単語と見なして暗号化しても良い。これにより、翻訳対象の文章が特許明細書であることを分かりにくくすることができる。
【０３４０】
特許明細書など、図面の参照符号を参照して説明を行う書類では、文書中の参照符号の前にある名詞である単語が特に重要な意味を持つ。参照符号の前にある単語の少なくとも一部を暗号（または対訳語）に置換することで、本発明は高い効果を発揮することができる。もちろん、文書中の参照符号の前にある単語以外の単語の少なくとも一部を暗号（または対訳語）に置換することとしてもよい。また、文書中の参照符号の前にある単語は暗号（または対訳語）に置換せずに、文書中の参照符号の前にある単語以外の単語の少なくとも一部を暗号（または対訳語）に置換することとしてもよい。
【０３４１】
文書中に現れる、名詞である単語と参照符号とのセット（名詞である単語とその直後に続く参照符号とからなるセット）のうち、名詞である単語の部分のみを一括変換の対象としてデータベースに登録し、参照符号は一括変換の対象に含めないことが望ましい。このようにすることで、異なる参照符号が付与された同一の単語も、そのデータベースを用いて処理することができる（将来、他の文書を翻訳するときにもそのデータベースをより有効に活用することができる）。
【０３４２】
参照符号を含まない書類にも本発明は適用可能である。この場合、文書中の単語の少なくとも一部が暗号（または対訳語）に置換された後に、機械翻訳される。
【０３４３】
図４のステップＳ１０５、図８のステップＳ１０９でのデータベースを用いた一括変換処理は、連続して複数回行うこととしてもよい。例えば、ユーザが事前に「検出手段」→「detection means」の変換を行うレコードをデータベースに記録することで、翻訳書類中の「情報検出手段」が「情報 detection means」と変換されることがある。これは単語の一部が変換されたケースである。この場合、ユーザは「情報 detection means」を単語として選択し、その対訳として「information detection means」をデータベースに新たなレコードとして記録することになる。そのデータベースを使って次の書類を翻訳する際に、文書の中に「情報検出手段」の語が存在すると、当該データベースを用いた一括変換でその語は、「情報 detection means」にまず変換される。データベースの検索順でその後に検索語「情報 detection means」が出てくれば、「情報 detection means」は、「information detection means」に問題なく変換される。しかし、データベースでの検索順が、「情報 detection means」の方が「検出手段」よりも前であれば、データベースを用いた一括変換処理を１回行っただけでは、「情報 detection means」は、「information detection means」に変換されない。
【０３４４】
そこで、データベースを用いた一括変換処理を、２回（あるいはそれ以上）繰り返して行うことで、再度の一括変換を行うものである。これにより、「情報 detection means」などの、原文に一部翻訳語を含む単語であっても、「information detection means」など正しい単語に変換される。
【０３４５】
また、実施の形態においてはニューラルネットワークを用いた機械翻訳を行う例を挙げたが、統計的機械翻訳や、フレーズベース、ルールベースの機械翻訳、人工知能機械翻訳、ディープラーニング機械翻訳などを用いてもよく、本発明は、ニューラルネットワークを用いた機械翻訳に限定されるものではない。
【０３４６】
外部の他社コンピュータ資源２００へ情報を送受信する方法は、ＷＥＢページを介して行っても良い。ブラウザ操作の自動化手法によって、情報を送受信してもよい。また、外部の他社コンピュータ資源を運営する事業者が提供するＡＰＩを用いて情報を送受信してもよい。
【０３４７】
上記後処理としては、文章中の不要なスペースの削除、単語の統一、文章中の大文字の小文字の変換、スペルチェック、複数形の単語を正しい表記にする処理などを行ってもよい。
【０３４８】
［実施の形態の効果］
【０３４９】
以上の実施の形態により、翻訳原文、翻訳後の文章の双方とも、第１の暗号化および第２の暗号化という２段階の暗号化が行われる。第三者に対しては両暗号化により文書の秘匿性が保たれる。また、翻訳サービスの提供事業者に対しては、第１の暗号化により文書の秘匿性が保たれる。これにより、外部翻訳サービスを利用しながらも、情報の外部流出を避けることができる。
【０３５０】
情報を送信するコンピュータ資源が、不特定多数（または複数の者、他人）が利用するコンピュータ資源であっても、情報の秘密性を確保することができる。なお、「不特定多数の利用」とは、そのサイト（サーバ）が一般に公開され、各所からアクセス可能であることを意味している。
【０３５１】
また、従来技術のニューラル機械翻訳には、入力文に含まれる情報を過不足なく厳密に翻訳することができない（翻訳の抜けが生じる可能性がある）という問題点があった。また、翻訳の重複した箇所が出力されることもあった。本実施の形態では、原文を暗号化により圧縮（短くシンプルに）することができる。また文の構造を簡略化（短くシンプルに）することができる。これにより、ニューラル機械翻訳を採択しても、入力文に含まれる情報を過不足なく翻訳でき、翻訳の抜けが生じにくいという効果がある。また、翻訳の重複した箇所が出力されにくいという効果がある。
【０３５２】
さらに、これまで用いられてきた学習データ（対訳辞書データ、語順データなど）をデータベースに登録するデータとして利用しやすいという効果がある。
【０３５３】
さらに、従来技術のニューラル機械翻訳では、Ｗｏｒｄ  Ｅｍｂｅｄｄｉｎｇにより柔軟な翻訳ができる反面、全く異なる単語（時には意味の無い文字列）が選択されることで、意味の全く異なる翻訳文が作成されることもあった（特に出現頻度の低い語、出現頻度の低い固有名詞など）。また、長い文章、複雑な文章の場合、意味の通じない翻訳文が作成されることもあった。本実施の形態では、単語が予め対訳単語または暗号に一括変換された後、機械翻訳される（好ましくは、さらに鉤括弧などを付与した状態で機械翻訳される）。これにより機械翻訳で、原文の単語が全く意味の異なる対訳単語に翻訳されることがなくなる。
【０３５４】
上述の実施の形態における処理は、ソフトウェアにより行っても、ハードウェア回路を用いて行ってもよい。また、上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、メモリカードなどの記録媒体に記録してユーザーに提供することにしてもよい。プログラムは、ＣＰＵなどのコンピューターにより実行される。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
【０３５５】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０３５６】
１００  コンピュータ
１０１  ＣＰＵ
１０３  通信部
１０９  ＲＡＭ
１１１  記憶装置
２００  他社コンピュータ資源
２０３  検索・置換部
２０５  文書編集・単語登録部
２０７  データベース
２０９  メモリ
２１１  表示／出力部
２１３  入力部
４００  インターネット
５００  自社コンピュータ資源
【図１】
2020077134.tif 000003
【図２】
2020077134.tif 000004
【図３】
2020077134.tif 000005
【図４】
2020077134.tif 000006
【図５】
2020077134.tif 000007
【図６】
2020077134.tif 000008
【図７】
2020077134.tif 000009
【図８】
2020077134.tif 000010
【図９】
2020077134.tif 000011