IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社椿知財サービスの特許一覧

特許7396608翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法
<>
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図1
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図2
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図3
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図4
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図5
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図6
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図7
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図8
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図9
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図10
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図11
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図12
  • 特許-翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法
(51)【国際特許分類】
   G06F 40/58 20200101AFI20231205BHJP
   G06F 40/47 20200101ALI20231205BHJP
   G06F 40/157 20200101ALI20231205BHJP
【FI】
G06F40/58
G06F40/47
G06F40/157
【請求項の数】 4
(21)【出願番号】P 2019015536
(22)【出願日】2019-01-31
(65)【公開番号】P2020123215
(43)【公開日】2020-08-13
【審査請求日】2022-01-31
(73)【特許権者】
【識別番号】518394776
【氏名又は名称】株式会社椿知財サービス
(74)【代理人】
【識別番号】100110788
【弁理士】
【氏名又は名称】椿 豊
(74)【代理人】
【識別番号】100124589
【弁理士】
【氏名又は名称】石川 竜郎
(74)【代理人】
【識別番号】100166811
【弁理士】
【氏名又は名称】白鹿 剛
(72)【発明者】
【氏名】椿 豊
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2015-041993(JP,A)
【文献】特許第3167193(JP,B1)
【文献】特許第6518981(JP,B1)
【文献】特開2016-062278(JP,A)
【文献】特開2006-244029(JP,A)
【文献】特開2002-132764(JP,A)
【文献】特開2018-190287(JP,A)
【文献】特開2005-071017(JP,A)
【文献】佐藤 武久,電子技術者のためのパテント情報活用術<第7回>米国パテントの翻訳(2),電子技術,日本,日刊工業新聞社,2001年02月01日,第43巻 第2号 ,pp.78-83
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G06Q 50/18
(57)【特許請求の範囲】
【請求項1】
不特定多数が利用するコンピュータであって、第1の言語で記述された特許明細書の文章をインターネットを通じて入力し、それを第2の言語で記述された特許明細書の文章に翻訳し、翻訳された特許明細書の文章をインターネットを通じて送信するコンピュータとの間で通信を行う翻訳装置において、
前記第1の言語で記述された特許明細書の文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、
前記翻訳装置は、
前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に一括で置き換える第1の置換手段と、
前記第1の置換手段で置き換えが行われた特許明細書の文章を、インターネットを通じて前記コンピュータに送信する送信手段と、
前記コンピュータから、翻訳後の前記第2の言語で記述された特許明細書の文章をインターネットを通じて受信する受信手段とを備えた、翻訳装置。
【請求項2】
前記受信手段が受信した文章中における、前記第1の置換手段で置き換えられた文字列を、それに対応する前記第2の言語のセットに置き換える第2の置換手段をさらに備えた、請求項1に記載の翻訳装置。
【請求項3】
不特定多数が利用する外部コンピュータであって、第1の言語で記述された特許明細書の文章をインターネットを通じて入力し、それを第2の言語で記述された特許明細書の文章に翻訳し、翻訳された特許明細書の文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置の制御プログラムにおいて、
前記翻訳装置は、コンピュータを含み、
前記第1の言語で記述された特許明細書の文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、
前記翻訳装置の制御プログラムは、
前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に一括で置き換える第1の置換ステップと、
前記第1の置換ステップで置き換えが行われた特許明細書の文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、
前記外部コンピュータから、翻訳後の前記第2の言語で記述された特許明細書の文章をインターネットを通じて受信する受信ステップとをコンピュータに実行させる、翻訳装置の制御プログラム。
【請求項4】
不特定多数が利用する外部コンピュータであって、第1の言語で記述された特許明細書の文章をインターネットを通じて入力し、それを第2の言語で記述された特許明細書の文章に翻訳し、翻訳された特許明細書の文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置を用いた翻訳方法において、
前記翻訳装置は、コンピュータを含み、
前記第1の言語で記述された特許明細書の文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、
前記翻訳方法は、
前記翻訳装置によって、前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に一括で置き換える第1の置換ステップと、
前記翻訳装置によって、前記第1の置換ステップで置き換えが行われた特許明細書の文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、
前記翻訳装置によって、前記外部コンピュータから、翻訳後の前記第2の言語で記述された特許明細書の文章をインターネットを通じて受信する受信ステップとを含む、翻訳装置を用いた翻訳方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、翻訳装置、翻訳装置の制御プログラム、および翻訳装置を用いた翻訳方法に関する。
【背景技術】
【0002】
形態素解析や係り受け解析等、機械翻訳(MT:Machine Translation)の基礎となる技術の研究が始まったのは、西暦1950年代のことである。西暦1980年代になると、コンピュータの性能の向上に伴い、ルールベースの機械翻訳技術が、ある程度の実用性を備えるに至った。
【0003】
西暦1990年代には、統計的機械翻訳(STM:Statistical Base Machine Translation)の手法が開発された。これは、異なる言語間の単語、文章構造の対応を統計的に処理し、翻訳される確率の高い単語、翻訳文を翻訳候補から選択するものである。統計的機械翻訳においては、翻訳モデルにより、元の単語に対応する単語、および単語の語順が確率に従って決定される。さらに、言語モデルによって、翻訳後の単語の正しい並び方が確率に従って決定される。統計的機械翻訳では、翻訳エンジン(翻訳モデルおよび言語モデル)の構築のために、大量の対訳データ(訓練データ)が必要とされる。翻訳エンジンを用いた翻訳文と正解翻訳とを比較することで、翻訳エンジンは適宜チューニングされる。
【0004】
統計的機械翻訳においては、語順を正しく決定するために、元の言語の文章の構文解析を行い、係り受け関係を利用して、元の言語の単語の語順を予め翻訳先の言語の語順に変換しておく技術が知られている。
【0005】
西暦2010年代に入り、ニューラルネットワークによるディープラーニングを用いたニューラル機械翻訳(NMT:Neural Machine Translation)が登場した。それは、西暦2015年頃から急速な実用化を遂げ、統計的機械翻訳を置き換えつつある。ニューラル機械翻訳は、一般に翻訳原文の前処理(語順の入れ替えなど)を行わず、文章をニューラルネットワークで直接(end to endに)翻訳するものである。
【0006】
ニューラル機械翻訳では、単語はベクトルの実数値として扱われ、数百次元の分散表現として扱われる。すなわちベクトルによって、単語の語義や統語的な情報が表現される(Word Embedding)。1つの元単語とその翻訳単語との意味関係から、他の元単語とその翻訳単語との意味関係をある程度類推することができるため、柔軟な翻訳が可能となっている。
【0007】
機械翻訳においては、入力データの長さ(原文の長さ)は一定ではなく、かつ過去に入力したデータを利用する必要がある。このため、ニューラル機械翻訳では、一般にはリカレントニューラルネットワーク(RNN)が利用される。リカレントニューラルネットワークに逐次原文の単語(または文字)を入力し、文末(EOS:End of String)を示すコードが出力されると、一文の翻訳が完了とされる。
【0008】
ニューラル機械翻訳においては、ニューロン(ノード)それぞれの重み付け係数が翻訳知識となるため、翻訳のためのテーブル(フレーズテーブルなどの元単語と翻訳単語とを対応付けるテーブル)は必要とされない。ニューラル機械翻訳は、統計的機械翻訳のように、原文の構成単語を置き換え、並べ替えることで翻訳を行うものではなく、学習した言語モデルに整合するように、入力テキストから新たな翻訳文を作り出すものであるといえる。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2018-120584号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
ルールベースの機械翻訳や統計的機械翻訳と比較して、ニューラル機械翻訳には、翻訳文が流暢である、学習していない文章であっても(Word Embedding等により)柔軟に翻訳することが可能である、という利点がある。
【0011】
しかしながら、ニューラル機械翻訳は、ルールベースの機械翻訳や統計的機械翻訳のように、原文の置き換えによって翻訳を行う技術ではないため、入力文に含まれる情報を過不足なく厳密に翻訳することが難しい(翻訳の抜けが生じる可能性がある)という問題があった。また、翻訳の重複した箇所が出力されることもあった。
【0012】
さらに、ニューラル機械翻訳では、統計的機械翻訳で用いられていた、原文の単語の語順を予め翻訳先の言語の語順に変換しておく手法を用いることができないため、これまで用いられてきた学習データ(辞書データ、語順データなど)を利用し難いという問題点があった。
【0013】
さらにニューラル機械翻訳では、Word Embeddingにより柔軟な翻訳ができる反面、意味が全く異なる単語が選択されることで、意味の全く異なる翻訳文が作成されることもあった(特に出現頻度の低い語、出現頻度の低い固有名詞など)。また、長い文章、複雑な文章の場合、意味の通じない翻訳文が作成されることもあった。
【0014】
さらに、一般にニューラル機械翻訳では、ルールベースの機械翻訳や、統計的機械翻訳とは異なり、翻訳の過程を人間が理解することが困難であり、正確な翻訳文が出力されるか否かを予測し難いという問題があった。これにより、ニューラル機械翻訳では、誤訳が生じやすく、誤訳文が最終結果物として提供されやすいという問題があった。
【0015】
多少の誤訳や翻訳の抜けがあっても概要がわかればよい日常会話や、あまり重要ではない情報の伝達のための文書に関しては、内容の正確さよりも、生成される翻訳文の流暢さや柔軟さが重視されることがある。このような文書に対して、ニューラル機械翻訳は極めて有用である。
【0016】
一方で、法律、特許などの厳密な正確性が要求される文書については、誤訳や翻訳の抜けは致命的である。このため、ニューラル機械翻訳を用いたとしても誤訳や翻訳の抜けがないかのチェックを相当の時間と労力をかけて行う必要があった。また、チェック不足により、致命的な誤訳や翻訳の抜けが生じ、財産的な損害が生じる可能性があった。
【0017】
また、ニューラル機械翻訳に関する他の課題として、上付き、下付き文字、イタリック、太字、アンダーラインが付された文字など、文字飾りやスタイルの取り扱いで不都合が生じることがある。文章において、例えば上付き文字であれば、HTMLで通常の文字が<sup>~</sup>のタグ囲まれることで上付き文字であることが示されている場合と、Unicodeなどの文字コードで直接上付き文字が表現されている場合がある。これらが混在されて機械学習に用いられたり、また、翻訳時の文書での文字飾りやスタイルの取り扱いが学習時の取り扱いと異なる場合、誤った翻訳結果が出力される可能性がある。
【0018】
上付き、下付き文字は、化学記号、化学式、数式、変数などの記載に用いられるが、ニューラル機械翻訳ではWord Embeddingの作用効果によって、一見似ているが全く異なる化学記号、化学式、数式、変数が翻訳結果として出力されることがある。化学記号、化学式、数式、変数は、一見して誤りを見つけにくいため、翻訳成果物内の誤訳として残るケースが多い。
【0019】
さらにニューラル機械翻訳では、原文中の同一の語が、異なる複数種類の語に翻訳される問題がある。例えば、元の文書に含まれる「address」という語が、同一の意味を示すにもかかわらず、出現箇所によって、「アドレス」と訳されたり、「住所」と訳されたり、「宛名」と訳されたりすることがある。また例えば、元の文書に含まれる「表示部」という語が、同一の物を示すにも関わらず、出現箇所によって、「display unit」と訳されたり、「display portion」と訳されたり、「display means」と訳されたりすることがある。このような表記のゆらぎや異なった意味をもつ単語の出力は、特に、厳密さを要求される法律文書、特許文書の翻訳において好ましいものではない。
【0020】
さらにニューラル機械翻訳では、学習のための膨大な対訳文を準備する必要がある。かつ、学習のための計算量が多いため、学習のための多大な時間とコンピュータ資源(GPU等)を必要とするという問題があった。
【0021】
ニューラル機械翻訳のコストを減らすために、自社専用ではない、学習済の外部のコンピュータ(事業者である他社や他人が運営するインターネット接続されたサイト、サーバ等)によってニューラル機械翻訳を行うことも考えられる。1の事業者が学習済のニューラル機械翻訳システムをインターネット上で提供し、複数の利用者(不特定多数のユーザ)がそのシステムをインターネット上で利用するものである。なお、不特定多数の利用とは、そのサイト(サーバ)が一般に公開され、各所からアクセス可能であることを意味している。
【0022】
このようなシステムを用いる場合、システムの利用者は、インターネットを介して他社が運営する学習済みのニューラル機械翻訳コンピュータに文書データを送信し、そのサーバで行われた機械翻訳の結果をインターネットを介して受け取る。送信や受信は、システム提供者が提供するAPI(Application Programming Interface)を用いて行う事も可能であるし、HTTP、HTTPSなどの一般の通信プロトコルを用いて行う事も可能である。
【0023】
また、送信や受信は、ユーザインタフェースであるWEBブラウザを介して行うこともできる。この場合、利用者はWEBブラウザ上に表示されたフォームにコピーアンドペーストなどにより翻訳対象の文(テキスト)を貼り付け、それを外部のニューラル機械翻訳コンピュータに送信する。ニューラル機械翻訳コンピュータからのレスポンスである翻訳結果は、WEBブラウザ上に表示される。これらの通信におけるデータ交換フォーマットとしては、JSON(JavaScript Object Notation)形式などが用いられる。
【0024】
上述のような共同利用可能なニューラル機械翻訳システムでは、システム利用者にとっては、学習のための膨大な対訳文を準備することや、学習のための多大な時間、メンテナンスなどが不要となる。またシステム利用者は、システム構築のためのコンピュータ資源(サーバ、GPU等)を所有する必要がない。すなわち利用者は、ニューラル機械翻訳サービスを利用しながら、ニューラルネットワークの学習に要する時間、ハードウェアのコスト、メンテナンスのコストや手間をほぼゼロとすることができ、便利である。
【0025】
一方で、秘密性の高い文書(例えば契約書などの法律文書、特に公開前の特許文書、社内の機密文書、研究開発の文書など)を翻訳する場合には、インターネットを介して外部にそれら秘密性の高い文書が送信されることは避けなければならない。
【0026】
仮にHTTPS通信などを用いることで通信経路を暗号化したとしても、通信の目的地では、送信された文書は当然に平文に変換される。よって、他社の提供するサービスを利用するのであれば結局のところ、秘密性の高い文書をインターネットで送信することは避けなければならない。通信経路の暗号化を行うことによるセキュリティ確保と、秘密にすべき情報を外部(他の企業など)に渡してしまうことによるセキュリティリスクとは、別次元の問題であり、別個独立に対処する必要がある。
【0027】
この点に関し、守秘義務に関する契約を文書の送信先(インターネット上でニューラル機械翻訳サービスを提供する事業者)との間で締結することも考えられる。しかしながら、ネット社会において情報は漏洩しやすく、しかも漏洩が明らかになりにくいという問題があるため、守秘義務契約によって情報を秘匿化することは実現性に乏しく、危険である。また、そのような守秘義務契約の確実な履行が保証されるものではない。さらに、守秘義務契約の履行が継続的に行われていることを定期的に監督、管理することは困難である。
【0028】
今日、パソコン、スマートフォンが身近なツールとなり、インターネットやWEBブラウザは誰でも気軽に利用できる生活必需品となっている。一方で、インターネットのシステムや通信プロトコル、情報の伝達経路についての理解不足も手伝い、秘密性の高い文書をインターネット上の機械翻訳サービスに安易に送信する事例が後を絶たない。また、インターネット上の機械翻訳サービスを利用することによる情報漏洩のリスクは看過されることが多い。
【0029】
WEBを介した翻訳サービス、辞書サービスでは、その利用者は、WEBブラウザなどから翻訳したい文や単語を入力する(これには、タイピング、音声入力、コピーアンドペーストなどの入力方法がある)。入力された文や単語は、翻訳サービス、辞書サービスの提供事業者の保有(または管理)するサーバに送信され、送信者の情報とともに蓄積される。
【0030】
翻訳サービス、辞書サービスの提供事業者は、蓄積された情報の利用ポリシー(利用規約)を定めることができるが、それを定めない事業者も存在する。また、利用規約によっては、「ユーザがコンテンツをアップロード、提供、送信などすると、ユーザは、サービス提供事業者(およびサービス提供事業者と協働する第三者)に対して、そのコンテンツについて、使用、保存、複製、変更、派生物の作成、(公衆)送信、出版、公開表示、および配布を行うための全世界的なライセンスを付与する。」との条項が定められているものもある。
【0031】
翻訳会社の翻訳者、または翻訳会社から案件を受注した個人翻訳者が、秘密性の高い文章(またはその一部文章や単語)をパソコンやスマートフォンのウェブブラウザに安易に入力することで、秘密性の高い文章が外部(特に海外)に漏洩する事態が多く発生している。また、そのような漏洩は、翻訳者本人、翻訳者の管理職、翻訳会社、翻訳の発注元の誰も気づかないまま、何年にもわたって継続しているという問題もある。
【0032】
特に契約書や、研究開発の文書や、公開前の特許などに関する秘密性の高い文書を外部(特に国外)に漏洩させることは、一企業の利益保護の観点はもとより、国益保護の観点からも絶対に避ける必要がある。
【0033】
例えば、独立行政法人情報処理推進機構の2015年2月20日のプレス発表である『「注意喚起」クラウドサービスに入力した内容の意図しない情報漏えいに注意』の資料には、以下の事項が記載されている。(https://www.ipa.go.jp/about/press/20150220.htmlより引用。)
【0034】
『IPA(独立行政法人情報処理推進機構、理事長:藤江 一正)は、ネット上の翻訳サービスに入力した文章が、ネット上にそのまま公開されていたという問題が明らかになったことを受け、クラウドサービス利用における利用者の意識向上を目的に、利用における心構えについて改めて、注意喚起を発することとしました。 近年、様々なクラウドサービスが充実し、企業向けだけでなく、個人を対象としたサービスの利用も進んでいます。例えばインターネット上に写真や資料等のデータを保存することで、いつでも、どこでも利用できたり、翻訳なども手軽にできたりするサービスなどがあります。 しかし、クラウドサービスはその利便性から急速に普及した反面、利用者がサービスの内容やリスクを正しく認識せずに利用したことが原因で、意図しない情報漏えいの問題が再三指摘されてきました(*1)。
【0035】
2013年にはGoogle社が提供するサービスの1つであるGoogleグループの利用者が、情報公開範囲の設定を正しく認識していなかったために、関係者以外でもやりとりが閲覧できてしまう状態にあったという問題が発生しています。 また、IPAの調査(*2)では “ブラウザへの入力情報や検索履歴等がブラウザ提供元の企業に収集される”ことについて、“まったく気にならない”“あまり気にならない”等と回答した人が全体の31.3%であったことからも、クラウドサービスに対する利用者の意識・知識向上が求められます。
【0036】
一方、サービス提供側も利用者への説明不足や利用者の認識不足による情報漏えいを防ぐため、サービスの内容やサービス側での情報の扱いについて、判りやすく説明することが求められます。』
【0037】
また、独立行政法人情報処理推進機構の「2014年2月の呼びかけ」には、以下の事項が記載されている。(https://www.ipa.go.jp/security/txt/2014/02outline.htmlより引用。)
【0038】
『「知らない間に情報を外部に漏らしていませんか?」~ クラウドサービスを利用する上での勘所 ~ (中略)
【0039】
クラウドサービスは便利に利用できる反面、何らかの情報をサービス事業者側に渡すことが避けられません。
【0040】
下記表1の3つのクラウドサービスは、普段の業務上、何気なく利用しているサービスです。特に「オンライン翻訳サービス」は、パソコンに翻訳ソフトをインストールすることなく気軽に文章を翻訳できますが、翻訳する元の“文章そのものを事業者に渡している”ともいえます。
【0041】
業務で機密情報を扱う場合は、このことを認識し注意して利用してください。
【0042】
表1:情報漏えいなどにつながるリスクがある、クラウドサービスの使い方
【0043】
オンライン翻訳サービス
【0044】
概要 翻訳したい文書をウェブページにコピー&ペーストすると、サービス事業者側の翻訳プログラムが自動的に翻訳。
【0045】
利用時のリスク
【0046】
コピー&ペーストした翻訳元文書の内容を外部に送信してしまうことになり、その内容が機密情報に該当する場合、知らない間に社内規定に反してしまうことになる。
【0047】
想定される被害例
【0048】
ある社員が、海外の会社と、契約に関する交渉を暗号化メールでやり取りしていた。 復号したメールが英語で書かれていたため、オンライン翻訳サービスを利用して日本語に翻訳した。その事により契約情報が漏えいしてしまった。 せっかく情報漏えい防止のために暗号化メールを使用していたのに、オンライン翻訳という別の経路で情報が漏えいしてしまった。』
【0049】
以上のように注意喚起がされているものの、その利便性が高いことから、依然として外部の(クラウド等の)翻訳システムを使う者のセキュリティ意識は低いままである。
【課題を解決するための手段】
【0050】
本発明は、上記課題の少なくとも1つを解決するためになされたものである。
【0051】
上記目的を達成するため、この発明のある局面に従うと、不特定多数が利用するコンピュータであって、第1の言語で記述された文章をインターネットを通じて入力し、それを第2の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信するコンピュータとの間で通信を行う翻訳装置において、前記第1の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳装置は、前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に置き換える第1の置換手段と、前記第1の置換手段で置き換えが行われた文章を、インターネットを通じて前記コンピュータに送信する送信手段と、前記コンピュータから、翻訳後の前記第2の言語で記述された文章をインターネットを通じて受信する受信手段とを備える。
【0052】
好ましくは翻訳装置は、前記受信手段が受信した文章中における、前記第1の置換手段で置き換えられた文字列を、それに対応する前記第2の言語のセットに置き換える第2の置換手段をさらに備える。
【0053】
好ましくは、前記第1の置換手段による置き換え後の文字列は、前記名詞である単語とその直後に続く参照符号とからなるセットに対応する、前記第2の言語の名詞である単語とその直後に続く参照符号とからなるセット、又は暗号文字列である。
【0054】
好ましくは前記第1の置換手段は、単語と訳語とのペアを複数登録したデータベースと、名詞である単語とその直後に続く参照符号とからなるセットを複数含む翻訳対象の文書とから、そのセットに対する文字列を決定する。
【0055】
好ましくは前記送信手段は、前記第1の言語で記述された文章を分割することにより得られた複数の単位部分のうち、1つの単位部分を前記コンピュータに送信し、前記受信手段は、前記1つの単位部分についての翻訳後の前記第2の言語で記述された文章を受信し、前記複数の単位部分のそれぞれに対して、前記送信手段での処理と、前記受信手段での処理とを行う。
【0056】
好ましくは前記第1の言語で記述された文章は、その一部に、段落番号を含んでおり、前記送信手段は、前記文章に含まれる段落番号を送信しない。
【0057】
好ましくは翻訳装置は、前記第1の置換手段は、前記セットを、それに対応する文字列に置き換え、その文字列の前および後の少なくともいずれかに、特定の文字コードを挿入する。
【0058】
好ましくは前記第1の置換手段はさらに、翻訳対象の文書内の単語を、その単語に対応する文字列に置き換える処理を行う。
【0059】
この発明の他の局面に従うと、不特定多数が利用する外部コンピュータであって、第1の言語で記述された文章をインターネットを通じて入力し、それを第2の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置の制御プログラムにおいて、前記翻訳装置は、コンピュータを含み、前記第1の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳装置の制御プログラムは、前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に置き換える第1の置換ステップと、前記第1の置換ステップで置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、前記外部コンピュータから、翻訳後の前記第2の言語で記述された文章をインターネットを通じて受信する受信ステップとをコンピュータに実行させる。
【0060】
この発明の他の局面に従うと、不特定多数が利用する外部コンピュータであって、第1の言語で記述された文章をインターネットを通じて入力し、それを第2の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置を用いた翻訳方法において、前記翻訳装置は、コンピュータを含み、前記第1の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳方法は、前記翻訳装置によって、前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に置き換える第1の置換ステップと、前記翻訳装置によって、前記第1の置換ステップで置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、前記翻訳装置によって、前記外部コンピュータから、翻訳後の前記第2の言語で記述された文章をインターネットを通じて受信する受信ステップとを含む。
【0061】
この発明のある局面に従うと、不特定多数が利用するコンピュータであって、第1の言語で記述された文章をインターネットを通じて入力し、それを第2の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信するコンピュータとの間で通信を行う翻訳装置において、前記第1の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳装置は、前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に置き換える第1の置換手段と、前記第1の置換手段で置き換えが行われた文章を、インターネットを通じて前記コンピュータに送信する送信手段と、前記コンピュータから、翻訳後の前記第2の言語で記述された文章をインターネットを通じて受信する受信手段とを備える。
【0062】
好ましくは翻訳装置は、前記受信手段が受信した文章中における、前記第1の置換手段で置き換えられた文字列を、それに対応する前記第2の言語の単語に置き換える第2の置換手段をさらに備える。
【0063】
好ましくは、前記第1の置換手段による置き換え後の文字列は、前記名詞である単語に対応する前記第2の言語の単語、又は暗号文字列である。
【0064】
好ましくは、前記名詞である単語は、上付き若しくは下付き文字を含む。
【0065】
好ましくは、前記第1の置換手段は、データベースに登録された、単語とその置き換え文字列とを対応付ける複数の組から、1つの組における単語、及びその置き換え文字列を読み出す読出手段と、前記読出手段によって読み出された1つの単語を、前記第1の言語で記述された文章中から検索し、それがあった場合にその単語をそれに対応付けられた置き換え文字列に置換する処理を、前記第1の言語で記述された文章内において繰り返し行う第1の処理手段とを備え、前記第1の処理手段で前記第1の言語で記述された文章内の全ての置換えを行った後に、前記読出手段で次の組における単語、及びその置き換え文字列を読み出し、前記第1の処理手段での処理を行う。
【0066】
好ましくは、前記送信手段は、前記第1の言語で記述された文章を分割することにより得られた複数の単位部分のうち、1つの単位部分を前記コンピュータに送信し、前記受信手段は、前記1つの単位部分についての翻訳後の前記第2の言語で記述された文章を受信し、前記複数の単位部分のそれぞれに対して、前記送信手段での処理と、前記受信手段での処理とを行う。
【0067】
好ましくは、前記単位部分は、前記第1の言語で記述された文章を、句点、読点、および改行コードの少なくとも1つの位置で分割した部分である。
【0068】
好ましくは、前記単位部分は、前記第1の言語で記述された文章を、句点の位置で分割した部分であり、前記単位部分において、それに含まれる少なくとも一部の句又は節の後に改行コードが挿入されている。
【0069】
好ましくは、前記受信手段は、前記単位部分についての翻訳後の前記第2の言語で記述された文章を順次受信し、受信された文書同士を、その間にスペースを挿入して結合する。
【0070】
好ましくは翻訳装置は、前記受信手段による受信後の文章を、後処理する後処理手段をさらに備え、前記後処理手段は、文章中のスペースの削除、単語の統一、文章中の大文字/小文字の変換、スペルチェック、および複数形の単語を正しい表記にする処理の少なくとも1つを行う。
【0071】
好ましくは、前記第1の言語で記述された文章は、その一部に、段落番号を含んでおり、前記送信手段は、前記文章に含まれる段落番号を送信しない。
【0072】
好ましくは翻訳装置は、前記文章に含まれる段落番号を、全角から半角に変換し、前記受信手段が受信した文章の対応する位置に挿入する。
【0073】
好ましくは、前記第1の置換手段は、第1の言語で記述された文章中の特定の単語を、それに対応する文字列に置き換え、その文字列の前および後の少なくともいずれかに、特定の文字コードを挿入する。
【0074】
好ましくは、前記特定の文字コードは、空白文字、または括弧、クォーテーション記号その他の囲まれる部分を他と区別するための印を表すコードである。
【0075】
この発明の他の局面に従うと、不特定多数が利用する外部コンピュータであって、第1の言語で記述された文章をインターネットを通じて入力し、それを第2の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置の制御プログラムにおいて、前記翻訳装置は、コンピュータを含み、前記第1の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳装置の制御プログラムは、前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に置き換える第1の置換ステップと、前記第1の置換ステップで置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、前記外部コンピュータから、翻訳後の前記第2の言語で記述された文章をインターネットを通じて受信する受信ステップとをコンピュータに実行させる。
【0076】
この発明のさらに他の局面に従うと、不特定多数が利用する外部コンピュータであって、第1の言語で記述された文章をインターネットを通じて入力し、それを第2の言語で記述された文章に翻訳し、翻訳された文章をインターネットを通じて送信する外部コンピュータとの間で通信を行う翻訳装置を用いた翻訳方法において、前記翻訳装置は、コンピュータを含み、前記第1の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでおり、前記翻訳方法は、前記翻訳装置によって、前記名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に置き換える第1の置換ステップと、前記翻訳装置によって、前記第1の置換ステップで置き換えが行われた文章を、インターネットを通じて前記外部コンピュータに送信する送信ステップと、前記翻訳装置によって、前記外部コンピュータから、翻訳後の前記第2の言語で記述された文章をインターネットを通じて受信する受信ステップとを含む。
【発明の効果】
【0077】
この発明によると、上記課題の少なくとも1つを解決することができる。
【図面の簡単な説明】
【0078】
図1】本発明の第1の実施の形態における翻訳システムの構成を示すブロック図である。
図2】本発明の第1の実施の形態における翻訳システムの構成を示す機能ブロック図である。
図3】データベース207に格納されるデータ構造の具体例を示す図である。
図4】本発明の第1の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
図5図4に続くフローチャートである。
図6】本発明の第1の実施の形態における翻訳システムに含まれるコンピュータプログラムの単語、暗号登録処理を示すフローチャートである。
図7】本発明の第2の実施の形態における翻訳システムに含まれるコンピュータプログラムの単語、暗号登録処理を示すフローチャートである。
図8】本発明の第3の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
図9】本発明の第4の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
図10】本発明の第5の実施の形態における翻訳システムで、データベース207中の第1のデータベースに格納されるデータ構造の具体例を示す図である。
図11】本発明の第5の実施の形態における翻訳システムで、データベース207中の第2のデータベースに格納されるデータ構造の具体例を示す図である。
図12】本発明の第5の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
図13図12に続くフローチャートである。
【発明を実施するための形態】
【0079】
[第1の実施の形態]
【0080】
図1は、本発明の第1の実施の形態における翻訳システムの構成を示すブロック図である。
【0081】
図を参照して、翻訳システムは、ユーザ(システム利用者)が操作を行うコンピュータ100と、LAN(Local Area Network)300と、インターネット400と、他社コンピュータ資源200と、自社コンピュータ資源500とから構成される。
【0082】
ユーザが操作を行うコンピュータ100は、CPU101と、通信部103と、I/O105と、ROM107と、RAM109と、記憶装置111と、音声入力/出力部113と、ディスプレイ115と、グラフィックユニット117と、キーボード119と、マウス121とを含んで構成されている。
【0083】
コンピュータ100は、LAN300に接続され、LAN300はインターネット400に接続される。LAN300には自社コンピュータ資源500が接続されており、インターネット400には他社コンピュータ資源200が接続されている。
【0084】
ここでコンピュータ資源とは、サーバ、パーソナルコンピュータ、記憶装置(コンピュータ内のストレージ、NAS(Network Attached Storage)など)、および情報通信経路(ネットワーク、ロードバランサ、スイッチ、ルータなど)、並びに、それらを構成するCPU、メモリ、記憶装置(ハードディスク、光学的または磁気的記憶装置、SSDほか半導体デバイス)、ROM、マザーボード、キーボード、マウス、マイクなどの入力装置、ディスプレイ、およびスピーカなどの出力装置、並びに記憶装置から読み出され、一般にはメモリ上で動作するコンピュータプログラム、データなどのソフトウェアの全てまたは一部を示している。
【0085】
自社コンピュータ資源500とは、上記ユーザ(または上記ユーザが所属する組織)が所有しているコンピュータ資源である。組織は、ユーザ1名からなる組織であっても良いし、複数の人員から構成される組織であってもよい。
【0086】
自社コンピュータ資源500やコンピュータ100は、インターネット400に直接接続されておらず、インターネット400には、LAN300のルータ(図示せず)を介して接続される。また、ルータ、自社コンピュータ資源500、コンピュータ100にファイヤウォール機能を設けることにより、インターネット400側から自社コンピュータ資源500やコンピュータ100にアクセスすることが禁じられている。これにより、自社コンピュータ資源500やコンピュータ100がインターネット400を介して外部から操作されることはなく、また、自社コンピュータ資源500やコンピュータ100に記憶されたデータに外部からアクセスすることが禁止されている。
【0087】
他社コンピュータ資源200とは、上記ユーザ(または上記ユーザが所属する組織)が所有するものではないコンピュータ資源である。上記ユーザは、コンピュータ100からアクセスすることで他社コンピュータ資源200の計算能力やストレージを一時的に借り受けることができる。その利用形態は、有償であると無償であるとを問わない。
【0088】
秘密性の高い文章である翻訳の原文データは、HTMLやプレーンなテキストで記述され、自社コンピュータ資源500やコンピュータ100に記録される。翻訳の原文データが画像である場合には、自社コンピュータ資源500やコンピュータ100に記録されたOCR(Optical Character Recognition/Reader)のソフトウェアによりそれがHTML文書やテキスト文書に変換され、処理の対象とされる。
【0089】
自社コンピュータ資源500およびコンピュータ100と、他社コンピュータ資源200との間の通信プロトコルは、HTTPS(Hypertext Transfer Protocol Secure)等により行われる。すなわち、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)プロトコルによって提供されるセキュアな暗号化(秘密鍵、公開鍵を使ったデータ暗号化手法)の上でHTTP通信が行われるので、自社コンピュータ資源500およびコンピュータ100と他社コンピュータ資源200との間の通信内容を秘匿化することができ、その通信内容が第三者に漏洩することは防止される。通信内容の第三者への漏洩を防ぐことができるのであれば、HTTPS以外の暗号化通信を行っても良い。
【0090】
HTTPSなどで暗号化された通信内容は、当然に他社コンピュータ資源200で復号化される。このため、たとえHTTPSなどの通信プロトコルを用いるとしても、上記ユーザ、または上記ユーザが所属する組織内で秘密にしておくべき文書の平文を他社コンピュータ資源200に送信することは望ましくない。また、他社コンピュータ資源200の運営業者が、利用規約として、送られてきたデータに関する公開、利用などの権利を留保するように取り決めている場合がある。このような場合、上記ユーザ、または上記ユーザが所属する組織内で秘密にしておくべき文書の平文を他社コンピュータ資源200に送信することは、技術的には可能であるが、ビジネス的には不可能である。
【0091】
他社コンピュータ資源200で平文に戻された通信内容が、現実的には当該他社でどのように保存、利用されるかユーザにとって詳細は解らない。また、一般にはユーザは他社コンピュータ資源200の構成、接続を知ることができず、当該他社内部の受信データの具体的な取り扱いを知ることができない。
【0092】
現実に秘密情報の流出が頻繁に起こっており、それを防ぐことが困難であることを考えると、たとえ他社コンピュータ資源200の運営者との間で秘密保持契約を締結するとしても、やはり秘密にしておくべき文書の平文を他社コンピュータ資源200に送信することは望ましくないといえる。
【0093】
すなわち、HTTPSなどの暗号化通信を用いるとしても、秘密性の高い文章である翻訳対象の文章、またはその一部は、外部の他社コンピュータ資源200に送信すべきではない。
【0094】
そこで、本実施例におけるコンピュータ100は、秘密性の高い文章である翻訳対象の文章の一部を、解読困難な文字列に入替えることによって暗号化し(以下、これを「第1の暗号化」という。)、その後、その文章を外部の他社コンピュータ資源200に送信するときにHTTPS(SSL暗号化通信)などのプロトコルによってさらに暗号化(以下、これを「第2の暗号化」という。)する。
【0095】
他社コンピュータ資源200で、上記第2の暗号化によって暗号化された通信内容は、HTTPSなどのプロトコルによって平文に戻される(「第2の暗号化」に対応するものであるため、以下これを「第2の復号化」という。)。しかしながら、第1の暗号化については、復号化されることはなく、第1の暗号化によって暗号化されたままの文書が他社コンピュータ資源200内の翻訳プログラムによって翻訳される。その翻訳によって作成された翻訳文(テキスト文書、またはHTML文書)は、HTTPSなどのプロトコルにて暗号化(すなわち「第2の暗号化」の手法による暗号化)され、インターネット400を通じてコンピュータ100に送信される。コンピュータ100は、「第2の復号化」の手法であるHTTPSなどのプロトコルによって、受信した文章を平文に戻す。この状態では、まだ第1の暗号化については復号化されていない。
【0096】
コンピュータ100では、受信された翻訳後のデータに対して、「第1の暗号化」に対する復号処理である「第1の復号化」を行う。また、必要に応じてその後処理を行う。これにより、完全な翻訳後の文章をコンピュータ100のユーザは得ることができる。
【0097】
図1に示されている自社、他社以外に通信データが漏洩したとしても、それは第1の暗号化と第2の暗号化により2重の暗号化がされたものである。これにより、通信を行う当事者以外の第三者への情報の漏洩が防止される。
【0098】
また、図1に示されている他社は、第2の暗号化については復号化が行われた情報を得ることができるが、第1の暗号化については復号化することができない。このため、図1に示されている自社から、図1に示されている他社への情報の漏洩も防止される。すなわち図1に示されている他社(コンピュータ資源200の運営者側の人間)は、第1の暗号化がなされた文章しか手に入れることができない。また、翻訳後の文章も第1の暗号化がなされたままである。このため、図1に示されている他社は、暗号化されていない完全な翻訳前のデータ、および暗号化されていない完全な翻訳後のデータのいずれも得ることができない。
【0099】
第1の暗号化は、他社コンピュータ資源200にとって暗号化後の文章の機械翻訳ができる程度の暗号化であり、かつ、自社以外の者がその内容を理解できない程度の強度の暗号化である必要がある。
【0100】
図2は、本発明の第1の実施の形態における翻訳システムの構成を示す機能ブロック図である。
【0101】
図1の記憶装置111には、CPU101によって順に実行されることで、コンピュータ100を翻訳装置として動作させるコンピュータ読取り可能な実行形式のプログラムが複数記録されている。プログラムは、記憶装置111からから読み出され、RAM109上に展開される。プログラムがRAM109上でCPU101によって実行される。
【0102】
プログラムの実行により、図2に示されるように、コンピュータ100は、制御部201、通信部103、検索・置換部203、文書編集・単語登録部205、データベース207、メモリー209、記憶装置111、表示/出力部211、および入力部213としての機能を発揮する。
【0103】
制御部201は、翻訳装置全体の各種制御を行う機能ブロックである。通信部103は、社内・社外のコンピュータ資源と通信を行うための機能ブロックである。検索・置換部203は、翻訳の対象となる文書および機械翻訳後の文書の少なくとも一方について、特定の要素(単語、文節など)の検索を行ったり、検索された要素を対応する文字列や暗号に置換する機能ブロックである。文書編集・単語登録部205は、翻訳の対象となる文書および機械翻訳後の文書の少なくとも一方を編集したり、単語変換のための辞書を登録する機能ブロックである。
【0104】
データベース207は、主に単語辞書を登録するデータベースである。データベース207としてはデータベースサーバのソフトウェアを採用しても良いし、CSVファイルなどの単なるテキストファイルや、表計算ソフト(EXCELなど)のテーブルを記録し、それを検索し、対応するデータを読み出すことでデータベースとしてもよい。
【0105】
メモリ209は、データを一時的に記録するワーキングエリアである。記憶装置111は、不揮発性の記憶装置であり、翻訳前のデータ、翻訳後のデータ、データベースに記録されるデータ、メモリ209のデータなどを記憶する。表示/出力部211は、ディスプレイ、スピーカなどのユーザインタフェースである。入力部213は、マウス、キーボード、マイクなどのユーザインタフェースである。
【0106】
図3は、データベース207に格納されるデータ構造の具体例を示す図である。
【0107】
ここではデータベース207は列名(カラム名、フィールド名)として、番号(レコード番号であり、データの通し番号)、単語、暗号、対訳単語などを有するテーブルからなっている。
【0108】
単語としては、名詞が登録されるが、動詞、副詞、形容詞などを登録しても良い。また名詞には、複数の名詞からなる複合名詞(電気+自動車である「電気自動車」など)も含まれる。
【0109】
番号のカラムは、1レコードの通し番号を記録する。単語のカラムは、翻訳原文の単語を登録する。暗号のカラムは、その単語に対応する暗号を登録する。対訳単語のカラムは、その単語(および暗号)に対応する翻訳後の単語を登録する。
【0110】
例えば図3では、日本語と英語の翻訳で用いる翻訳データが登録されている。すなわち、日本語の単語と、それに対応する英語の単語(対訳単語)と、それに対応する暗号が登録されている。図3のテーブルを用いることで、日本語の単語をそれに対応する暗号に変換したり、日本語の単語をそれに対応する英単語に変換したり、暗号をそれに対応する日本語の単語に変換したり、暗号をそれに対応する英単語に変換したり、英単語をそれに対応する暗号に変換したり、英単語をそれに対応する日本語の単語に変換することが可能である。
【0111】
また、カラムを追加し、他の言語の対訳単語も図3のテーブルに登録することで、3以上の言語間における翻訳が可能である。例えば、対訳中国語単語のカラムを追加することで、日英、英日、日中、中日、英中、中英の翻訳(および各言語の単語と暗号との変換)が可能となる。
【0112】
例として、番号「0」のレコードとして、「電気自動車」の原文の単語と、「AAA」の暗号文字列と、「electric vehicle」の対訳単語とをデータベースは対応付けて記録している。
【0113】
このようなデータベースは、事前にユーザが作成しても良いし、図6または7のフローチャートで示される処理を繰り返すことで、翻訳作業時または翻訳作業時以外に作成しても良い。また、業者がデータベースを作成し、ユーザに提供することもできる。
【0114】
このようなデータベースを用いることで、単語を暗号に変換することができるし、単語を対訳単語に変換することもできる。また、暗号を対訳単語に変換することなどもできる。さらに、対訳単語を元の単語に変換(逆翻訳)することも可能である。
【0115】
単語、対訳単語には、1つの基本の単語(「車」、「手段」、「部」、「vehicle」、「device」、「unit」など)が1レコードに登録されても良いし、複合語(「電気自動車」、「信号入力手段」、「表示部」、「electric vehicle」、「signal input unit」、「display unit」など)が1レコードに登録されても良い。
【0116】
暗号は、ここではアルファベット3文字からなっており、機械翻訳時の仮想単語として機能する。ここでは暗号は、AAAから始まり、10進数で記載されたレコード番号(番号)を、A~Zのアルファベットをそれぞれ0~25の数値に当てた26進数として表したものである。
【0117】
すなわち暗号の下1桁は、26の0乗の位であり、暗号の下2桁目は、26の1乗の位であり、暗号の下3桁目(最上位)は、26の2乗の位である。
【0118】
例えば「番号」のカラムが0であれば、「AAA」(Aは26進数のゼロを示す)の暗号が当てられ、「番号」のカラムが1であれば、「AAB」(Aは26進数のゼロを示し、Bは26進数の1を示す)の暗号が当てられる。同様に例えば「番号」のカラムが3501であれば、「FER」(26進数の3501)の暗号が当てられる。
【0119】
すなわち暗号の最上位(下3桁目)は、番号を26の2乗(すなわち676)で割った値の整数部分に対応するアルファベットが当てられる。暗号の中位(下2桁目)は、上記割り算の余りを26の1乗(すなわち26)で割った値の整数部分に対応するアルファベットが当てられる。暗号の最下位(下1桁目)は、その割り算の余りに対応するアルファベットが当てられる。これは、10進数から26進数への変換に等しい。
【0120】
なお、暗号の桁数は3に限るものではない。また、3桁の暗号のうち言葉としての意味を有するもの(例えば、CPU、RAM、USB、NOXなど)は、誤解、誤訳が生じることを防ぐため、予約語としてそれに対応する番号と共に登録しないこととしても良い。
【0121】
またここではレコード番号を26進数に変換したものを暗号としたが、暗号はランダムに決めても良いし、他の法則で決めても良い。
【0122】
単語と対訳単語は、同じものが登録されても良い。例えば化学式や略語(HCl、CPUなど)は、単語と対訳単語とを同じものとして登録してもよい。この場合、日本語でも英語でも同じ単語が登録される。さらに、単語(日本語)が全角文字であり、対訳単語(英語)がその半角文字であってもよい。
【0123】
また単語が「情報表示 unit 」であり、その対訳単語が「information display unit」であるなど、原文の単語の一部が翻訳後の言語で記述されているものを登録しても良い。
【0124】
暗号は、通常の16進数表記(0~9、A~Fを用いる)に倣った26進数表記とし、0~9、A~Pを用いて表現しても良い。また、アルファベット小文字や記号(!”#$%&など)を用いても良い。暗号を、複数の暗号間で重複しないランダムな文字列としても良い。その文字列を構成する文字は、アルファベット、記号、またはアルファベットと記号の組み合わせからなることが望ましい。顔文字などピクトグラムを暗号としても良い。
【0125】
本実施の形態のように、暗号を、AAA、AAB、AAC、・・・、ZZY、ZZZとし、1桁をA~Zまでの26進数とし、3桁(3文字)のアルファベットで表すのであれば、26*26*26=17576の単語をデータベースに登録することができる。不足であれば、暗号の桁数を増やすことにより、26のべき数分のレコード(単語と暗号と対訳単語の組)をデータベースに登録することができる。
【0126】
本実施の形態のように、A~Zをそれぞれ0~25とする26進数で暗号を表記することで、一見してそれが何を示す語であるかわからないという利点がある。また、ニューラル機械翻訳において、アルファベットや記号の文字列は1つの単語として認識されるため、暗号を1つの単語として原文に残したままで機械翻訳することができるという利点がある。
【0127】
すなわち、ニューラル機械翻訳を用いて翻訳するときに、アルファベットや記号の文字列には訳語が当てられずそのまま出力される(但し、例外もある)。
【0128】
例えば、「電気自動車100は、エンジン101を含む。」の翻訳原文を、図3のテーブルによって置き換えると、「 AAA 100は、 AAB 101を含む。」の暗号文が生成される。この文は、ニューラル機械翻訳により、「AAA 100 includes AAB 101.」の文に翻訳される。ニューラル機械翻訳が行われた後に、図3のテーブルを用いて、その中の暗号を元の単語の訳語に変換することで、「electric vehicle 100 includes engine 101.」の翻訳後の文章を得ることができる。
【0129】
なお、例えば「複数のAAA」の原文が「a plural of AAAs」に翻訳されるなど、暗号が複数形に変換されることはありうる。この場合も、「AAAs」の「AAA」の暗号部分をその単語に対応する英単語(例えば「book」)に置き換えることで、語尾に「s」を付けた「books」の翻訳語を得ることができる。
【0130】
但し、この方法では「bus」、「leaf」、「city」などの単語(「s」を付けるだけでは正しい複数形にならない単語)がつづり違い(スペルミス)となってしまう。このため、翻訳後に従来技術であるスペルチェックのルーチンを実行して、これらの単語が正しいスペルとなるように対処する必要がある。またたとえば、「buss」を「buses」に、「leafs」を「leaves」に、「city」を「cities」に対応付けるテーブル(ミススペルと正しいスペルとを対応付けるテーブル)を用意しておき、機械翻訳後に一括変換することとしてもよい。
【0131】
また、ニューラルネットワークの学習結果によっては、入力される原文中の暗号と、それに対応する翻訳文中の暗号とが異なるものとなってしまう場合もある(誤訳の一種である)。
【0132】
これを防ぐために、翻訳原文をニューラル機械翻訳する際に、暗号の部分を、それが特殊な文字列であることを示すキャラクターで囲む(暗号部分の前後に、特殊なキャラクタを挿入する)とよい。例えば、「 AAA 100は、 AAB 101を含む。」のように、暗号の部分の前後にスペース(空白)のキャラクターを挿入してニューラルネットワークに送信することで、暗号が他の暗号に変換されること(誤訳の一種)を防ぐことができる。
【0133】
スペースを示すキャラクター以外に、翻訳前の文書内の暗号部分を鉤括弧(「」)で囲んでおくことも有効である。同様に、クオーテーションキャラクタ(''、""、””、’’など)、丸括弧、二重丸括弧、二重鉤括弧、角括弧、二重角括弧、波括弧、亀甲括弧、二重亀甲括弧、山括弧、二重山括弧、ギュメ、または隅付き括弧などで囲むことも有効である。これによって、囲まれる部分が他の部分とは異なる特殊な意味を有する部分(暗号)であることを示す状態とした上で、ニューラル機械翻訳することができる。
【0134】
これらの処理により挿入(追加)されたキャラクターは、機械翻訳後の後処理で削除される。例えば、暗号を鉤括弧でくくり、「AAA」100などとして機械翻訳した場合、それは"AAA" 100に翻訳される。ダブルクォーテーションは、元々の文章にはない、上記処理時に追加されたものであるため、機械翻訳後に削除されてAAA 100とされる。削除は、正規表現を用いることで可能である。
【0135】
暗号に漢字やひらがななど、アルファベットや記号以外の文字を用いると、それが英語に翻訳されてしまい、復号化できなくなるという問題がある(例えば暗号文字列として割り当てた「あさい」の文字列が「shallow」(「浅い」の英訳)に英訳されたり、「ああい」のような意味を持たない文字列が「Aai」に英訳されたりする)。よって、暗号はアルファベットや記号の文字列とすることが望ましい。
【0136】
また、図3のテーブルを用いると、翻訳後の英語文章の1文の先頭文字が小文字となってしまう場合がある(英語であれば、文頭は大文字で始めるべきである)。これに対しても後のスペルチェックで、文頭を大文字にする処理を行うと良い。例えば、文頭(またはピリオド後の文字)のアルファベットを正規表現で検索し、全て大文字とする処理などである。
【0137】
図3のデータベースのデータは、業者から購入、入手することでそれを登録しても良いし、ユーザが登録してもよい。
【0138】
図4は、本発明の第1の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。図5は、図4に続くフローチャートである。
【0139】
このフローチャートで示される処理は、記憶装置111に記録されたコンピュータプログラムがRAM109上に読み出され、それをCPU101が順次実行することで実行される。プログラムは、コンパイルされた機械語の実行形式で保存されてもよいし、ソースコードをインタプリタが逐次実行する形式としてもよいし、中間言語で記載された形式としても良い。
【0140】
ここではワープロソフト(マイクロソフト社のWORD、オープンソース方式で公開されているOpenOfficeなど)を用い、そのマクロ(VBA:Visual Basic For Applicationsなど)を用いて図4のフローチャートのプログラムが実行されるものとする。データベースは、専用のデータベースでもCSVファイルであってもよいが、ここではマイクロソフト社のEXCELなどの表計算ソフトを用いてデータベースが形成され、ワープロソフトのVBAを用いてデータベースへのアクセスが行われるものとする。なお使用されるワープロソフト、プログラム言語の種類は、発明の実施において制限されるものではない。
【0141】
図4を参照して、ステップS101においてユーザはワープロソフトによって翻訳対象の文章が記録された文書ファイルを開く(文書ファイルを補助記憶装置からRAMへ展開する)。また、表計算ソフトも開いておく。
【0142】
文書ファイルは、プレーンテキスト形式で記載されたテキストファイルであってもよいし、ワープロソフトの文書ファイルであってもよいし、HTMLファイルであってもよい。また、画像に含まれる文字がOCRによりテキスト化されたファイルであってもよい。画像ファイルを入力し、ステップS101でOCR機能により文字部分をテキストデータに変換したファイルを作成しても良い。他、文章を記述することができるのであれば、ファイルのフォーマットは特定のものに限定されない。文書は、他のコンピュータからファイル転送プロトコルや電子メールソフトウェアを用いて受信しても良いし、USBメモリなどのストレージから入力されても良い。また、キーボード119やマイクによって入力されても良い。文書は、インターネットからダウンロードすることとしてもよい。
【0143】
ここでは仮に電気自動車について記載された特許明細書を翻訳するものとし、文書ファイルに、
【0144】
「[0023]
【0145】
電気自動車100は、エンジン101と表示部102を備え、エンジン101は、信号入力手段103と表示部102に接続される。信号入力手段103の入力がハイである場合、表示部102は警告を表示する。」の文章が記載されていたものとする。この文章の翻訳を例として、本実施の形態における翻訳処理について説明する。なお、[0023]は、文書中の段落番号である。
【0146】
ステップS103で翻訳の対象となる文書に対し、前処理が行われる。これは、以下を目的とするものである。
【0147】
(1)1度に他社コンピュータ資源200に送信する文章の単位(文章の区切り)を明確にする。
【0148】
(2)誤訳を少なくするために、他社コンピュータ資源200において一度に処理される1文の長さを短くする。
【0149】
(3)1文中の意味が区切られる部分を明確にする。
【0150】
例えば本実施の形態では、1度に他社コンピュータ資源200に送信する文章の単位は、文頭から句点(。)までとする。段落番号も文章の単位であるものとして、前処理で、段落番号部分を正規表現を用いてサーチし、その後ろに句点を付与する(上記例では、[0023]の後に句点が付与される)。
【0151】
また、重文(2以上の等位の節(主語と述語の組合わせを含む語の集合)によって構成される文)は、短文に分解した方が誤訳が少なくなる。このため、前処理では、重文を2以上の文に分解する(上記例では、「電気自動車100は、エンジン101と表示部102を備え、エンジン101は、信号入力手段103と表示部102に接続される。」の文が、「電気自動車100は、エンジン101と表示部102を備える。エンジン101は、信号入力手段103と表示部102に接続される。」の2文に変換される)。
【0152】
条件、時、原因、理由などを示す副詞節と主節とからなる複文は、副詞節と主節に関連があるため、2つの文に変換して処理するよりも、1つの文として処理した方が正確な翻訳が可能である。一方で、1文が長くなると誤訳が生じやすいという二律背反がある。本実施の形態では、副詞節と主節とを1つの処理単位とするが、その間に改行コードを挿入することで、両者が別の節であるものとして機械翻訳をすることとしている(複文を構成する節と節との間に改行コードを挿入した後に機械翻訳を行う)。これにより、翻訳をより正確にすることが可能となる。(上記例では、「信号入力手段103の入力がハイである場合、表示部102は警告を表示する。」の文章の「ハイである場合、」の後に改行コードが挿入される)。
【0153】
副詞節のみならず、副詞句、形容詞節、形容詞句に対しても同様の処理を行ってもよい。
【0154】
ステップS103での処理により、
【0155】
「[0023]
【0156】
電気自動車100は、エンジン101と表示部102を備え、エンジン101は、信号入力手段103と表示部102に接続される。信号入力手段103の入力がハイである場合、表示部102は警告を表示する。」の文章は、
【0157】
「[0023]。
【0158】
電気自動車100は、エンジン101と表示部102を備える。エンジン101は、信号入力手段103と表示部102に接続される。信号入力手段103の入力がハイである場合、
【0159】
表示部102は警告を表示する。」の文章に変換される。(「ハイである場合、」の後に改行コードが挿入されている)。
【0160】
ステップS105において、図3のデータベースを用いて、ステップS103の処理後の翻訳対象の文内の単語が、対訳単語に一決変換される。
【0161】
この処理は、図3のデータベースの番号0のレコードから順にレコードを読みとり、そのレコードに記載された単語を対象語として翻訳対象の文書の全文検索を行い、発見された単語を、図3の同じレコードに記載された対訳単語に置き換える処理である。なお、ここで単語をそのレコードに記載された暗号に置き換えることとしてもよいが、後のチェックでの人間にとっての可読性が低下するため、ここでは人間(翻訳者)に意味の分かる対訳単語に置き換えることが望ましい。
【0162】
図3の例であれば、まずレコード番号0の「電気自動車」が翻訳対象文書中の検索単語とされ、「electric vehicle」がそれを置換する単語(置換後の単語)とされる。CPUの処理により、翻訳対象文書の先頭から「電気自動車」の語(対象語)が検索され、存在すると、それが「electric vehicle」に置き換えられる。なお、置き換え前にユーザに「○○を△△に置き換えますか?」のようなダイアログボックスを表示し、ユーザのYES/NOの入力に基づいてその単語の置換を行うかどうかを決定することとしてもよい。また、ユーザの同意を得ることなく、機械的に全文検索、一括置換(文書中の全ての対象語を置換すること)を行ってもよい。レコード番号0の処理が終了すると、次のレコードがあるかが判定され、最終レコードまで同様の処理が行われる。
【0163】
なお、置換語の単語は、可読性を高める観点と、単語の区切りであることを機械翻訳時に明確にするために、その前後に半角または全角のスペース(空白記号)を挿入することが望ましい。また、確定した単語であることを明確にするために、置換語の単語を鉤括弧(「」)で囲んでもよい。クオーテーションキャラクタ(''、""、””、’’など)、丸括弧、二重丸括弧、二重鉤括弧、角括弧、二重角括弧、波括弧、亀甲括弧、二重亀甲括弧、山括弧、二重山括弧、ギュメ、または隅付き括弧、それ以外の記号などで囲んでもよい。このように、囲まれる部分が他の部分とは異なることを示す記号で囲んでも良い。
【0164】
なお、まだデータベース(図3)にデータが登録されていない状態(システム導入初期など)であれば、図4のステップS105の処理はパスされる(実行されず、翻訳対象の文章は変化しない)。
【0165】
仮にデータベースに図3のデータが登録されていたとすると、
【0166】
「[0023]。
【0167】
電気自動車100は、エンジン101と表示部102を備える。エンジン101は、信号入力手段103と表示部102に接続される。信号入力手段103の入力がハイである場合、
【0168】
表示部102は警告を表示する。」の文章は、
【0169】
「[0023]。
【0170】
electric vehicle 100は、 engine 101と display 102を備える。 engine 101は、 signal input unit 103と display 102に接続される。 signal input unit 103の入力がハイである場合、
【0171】
display 102は警告を表示する。」の文に変換される。(ここでは、可読性を高めるために、置換された単語の前後に半角のスペース(空白記号)を挿入することとしている。)
【0172】
ステップS107において、ユーザは、ステップS105までの処理で作成された文書を目視により確認し、必要であれば、文章の編集、新規単語および暗号の新規登録、新規登録単語の文書内の一括変換を行う。
【0173】
これは、以下を目的として行われる。
【0174】
(1)依然として長いままで残されている文章を、短い文章に変更する。
【0175】
(2)ステップS105の一括変換で誤変換された単語を修正する。
【0176】
(3)対訳単語に置換えるべき単語、また、暗号化すべき単語を一括変換し、データベースに登録する。
【0177】
すなわち、ユーザは目視によりステップS105までの処理で作成された文書を確認し、依然として長いままで残されている文章を、短い文章に変換する。例えば2以上の文章からなる重文を、句点で切ることで、同じ意味を有する2以上の文章とする。
【0178】
またユーザは、ステップS105の一括変換で誤変換された単語を修正する。技術分野などの違いによって、同一の単語であっても違う単語に翻訳すべきケースが存在する。そのような場合、ユーザは一括変換によりその単語を変換する。また、必要であればデータベースを正しい単語にアップデートしたり、技術分野などによって使い分ける複数のデータベースを準備したりする。
【0179】
単語がデータベースに登録されていなかったことから、ステップS105で変換されなかった単語(とくに、参照符号前の単語)については、このステップS107においてユーザは新規単語、対訳単語および暗号の新規登録、ならびに、新規登録単語の文書内の一括変換を行う。
【0180】
図6は、本発明の第1の実施の形態における翻訳システムに含まれるコンピュータプログラムの単語、暗号登録処理を示すフローチャートである。この処理は、例えば図4のステップS107でユーザの入力に応じて実行される。
【0181】
図6を参照して、ステップS203においてユーザは文書内の文章の入力、編集処理を行っているものとする。新規単語のデータベースへの登録が必要であるとユーザが考えた場合、ユーザは、ステップS205で文書中のその単語を選択する。これは、ワープロソフトで文書が表示されているときに、登録すべき単語の先頭(または末尾)にカーソルを移動させ、シフトキーを押下しながら登録すべき単語の末尾(または先頭)まで方向キーを押下することで、登録すべき単語を反転表示させる(または色を変えたり、アンダーラインを付するなどで他の部分と区別できるようにする)ものである。単語の選択は、その単語をマウスでドラッグすることで行っても良い。
【0182】
単語登録のためのショートカットキーが押下される(あるいは、表示されたメニューから単語登録を示す表示が選択される)と、ステップS207においてダイアログボックスが表示される。ダイアログボックスは、選択された単語の対訳語を入力するフィールドを有している。ユーザはこのフィールドに選択された単語の対訳語を入力することで、選択された単語の対訳語を確定させる。また、図3とは異なるデータベースや、学習済みニューラルネットワークによって、選択された単語の対訳語の候補をダイアログボックスに表示し、ユーザから選択を受け付けることで、選択された単語の対訳語を確定させることとしてもよい。
【0183】
なお、ステップS205で選択される単語は、その一部が図4のステップS105で変換された単語であってもよい。例えば、データベースに「表示部」を「display unit」とする対訳が記録されていたとき、ステップS105の処理により、文書中の「情報表示部」は、「情報 display unit 」に変換される。ユーザは、「情報」を選択し、「information」の語を対訳語としてデータベースに登録しても良いが、「情報 display unit」を選択し、「information display unit」の語を対訳語としてデータベースに登録しても良い。
【0184】
ステップS209において、ステップS205で選択された単語と同じ単語を全文検索し、ステップS211でそれをステップS207で確定された対訳語に置換する。この置換においても、図4のステップS105と同様に、置き換え前にユーザに「○○を△△に置き換えますか?」のようなダイアログボックスを表示し、ユーザのYES/NOの入力に基づいてその単語の置換を行うかどうかを決定することとしてもよい。また、ユーザの同意を得ることなく、機械的に全文検索、一括置換(文書中の全ての対象語を置換すること)を行ってもよい。
【0185】
ステップS213において、データベース(図3)のデータ登録が行われている最下行を検索する。その1つ下の行を今回の単語の登録行とし、ステップS215でそのレコード番号から暗号を作成する。ステップS217でデータベース最下行の1つ下の行に、番号、単語、暗号、対訳単語などが新規に登録される。これにより、翻訳資産であるデータベースがアップデートされる。
【0186】
ステップS217での処理の後、ステップS203からの処理に戻る。また、ステップS205で単語の登録が行われないときは、ステップS203からの処理を行う。
【0187】
なお、ステップS205での単語の登録処理開始のイベントは、単語登録のためのショートカットキーが押下されることや、表示されたメニューから単語登録を示す表示が選択されることや、(「単語登録」などの)音声入力などであればよいが、(マウスや音声入力を用いずに単語登録ができるため、)ショートカットキーを用いることが望ましい。ショートカットキーは、文字入力の邪魔にならないよう、例えばコントロールキーと特定のキーの双方の押下などに割り当てられていることが望ましい。
【0188】
図4のステップS107での処理が終了したのであれば、ステップS109において、ステップS107までの処理で生成された文書内に、機械翻訳しにくい部分があるかどうかのチェックが行われる。これは、具体的には、以下のものである。
【0189】
(1)1つの文章(文頭から句点まで)の長さが所定の長さ以上あれば、その文章を機械翻訳しにくい部分であるとして、警告を出力する。
【0190】
(2)1つの文章の文頭、または改行コードから、次の改行コード、または句点までの長さが所定の長さ以上あれば、その文章を機械翻訳しにくい部分であるとして、警告を出力する。
【0191】
(3)所定回数以上出現する単語であって、ステップS105またはS107の処理で変換されていない(データベースに登録されていない)単語があれば、変換するよう、警告を出力する。
【0192】
(4)参照符号の前に出現する単語であって、ステップS105またはS107の処理で変換されていない(データベースに登録されていない)単語があれば、変換するよう、警告を出力する。
【0193】
(5)1文中の主語と述語の対応がとれていない場合、警告を出力する。
【0194】
(6)1文中に、主語と述語が1つずつではない場合、警告を出力する。
【0195】
ステップS109において、チェックに引っかかった場合、ユーザはステップS107での処理を続ける。なお、ステップS109での処理は省略してもよい。
【0196】
ステップS111において、ステップS109までの処理で得られた文書に対し、英語単語を暗号に一括変換する処理が行われる。
【0197】
この処理は、ステップS105での処理と類似する処理であり、図3のデータベースの番号0のレコードから順にレコードを読みとり、そのレコードに記載された対訳単語を対象語として翻訳対象の文書の全文検索を行い、発見された単語を、図3の同じレコードに記載された暗号に置き換える処理である。
【0198】
これにより、
【0199】
「[0023]。
【0200】
electric vehicle 100は、 engine 101と display 102を備える。 engine 101は、 signal input unit 103と display 102に接続される。 signal input unit 103の入力がハイである場合、
【0201】
display 102は警告を表示する。」の文章は、
【0202】
「[0023]。
【0203】
AAA 100は、 AAB 101と FER 102を備える。 AAB 101は、 AAC 103と FER 102に接続される。 AAC 103の入力がハイである場合、
【0204】
FER 102は警告を表示する。」に変換される。
【0205】
このように、単語がそのレコードに記載された暗号に置き換えられるため、人間に意味の分からない文書が生成される(第1の暗号化)。
【0206】
図3のデータベースの番号0のレコードから順にレコードを読みとる場合、ステップS111での処理では、対訳単語が長い順(または、より多くの単語を含む順)にデータをソートしておくことが望ましい。
【0207】
例えば、データベースに対訳単語として、「display unit」と「information display unit」とが登録される場合がある。文章中に「information display unit」の語があるときに、その中の「display unit」の部分のみが先に検索され、暗号化されると、「information」が暗号化されないままとなる。従って、対訳単語の長い順(より多くの単語を含む順)に検索を行う事により、長い単語を先に暗号化することができる。データベースのデータをソートしなくても、データベースから対訳単語の長い順(より多くの単語を含む順)に検索語をピックアップすることとしてもよい。
【0208】
ステップS113において、参照符号前の単語(特に名詞)で暗号に変換できないものがあるかを検索してもよい。すなわち、参照符号前の単語で暗号に変換できていないものがあれば、ステップS115で、ステップS109と同様にユーザにデータベースへの登録を促すものである。ステップS113、S115の処理により、参照符号前の単語を確実に暗号化することができる。なお、ステップS113、S115の処理は、省略しても良い。
【0209】
ステップS117において、ステップS115までの処理によってワープロソフトで作成された文書データを、テキストデータ(UTF-8などのデータ)に変換する。HTMLデータなどに変換しても良いが、通信されるデータ量や翻訳されるデータの量を削減するためには、テキストデータとすることが望ましい。
【0210】
次に図5のステップS121において、ステップS117で得られたデータの先頭から順に、処理対象の1文(1度に機械翻訳する処理単位)を特定する。これは、データの先頭から次の句点までを第1番目の処理データとし、さらに次の句点までを第2番目の処理データとし、それを文末(第n番目の処理データの最後)まで続ける処理である。第n番目の処理データの最後(データ末尾)は、句点、またはデータの最後のキャラクタである。
【0211】
「[0023]。
【0212】
AAA 100は、 AAB 101と FER 102を備える。 AAB 101は、 AAC 103と FER 102に接続される。 AAC 103の入力がハイである場合、
【0213】
FER 102は警告を表示する。」の文であれば、
【0214】
第1番目の文は、「[0023]。」となる。
【0215】
第2番目の文は、「(改行コード) AAA 100は、 AAB 101と FER 102を備える。」となる。
【0216】
第3番目の文は、「 AAB 101は、 AAC 103と FER 102に接続される。」となる。
【0217】
第4番目の文は、「 AAC 103の入力がハイである場合、(改行コード)
【0218】
FER 102は警告を表示する。」となる。これらが第1番目の文から順に処理対象とされ、ステップS121で処理される。なお、第2番目および第4番目の文は、処理対象の1文であるが、改行コードがその中に含まれている。
【0219】
ステップS121においては、処理対象の1文が翻訳不要であるかを判定する。上記の例であれば、第1番目の文は段落番号「[0023]。」であり、記号と数字しか含まれていない。このように、記号、数字、アルファベットのみからなる1文であれば、翻訳する必要はないため、翻訳結果を代入する変数(キュー)にそのまま追加する。または、全角文字を半角文字に変換するなどの処理を行ってから追加することとしてもよい。すなわち、ステップS121でYESであれば、その1文がステップS123で必要に応じて処理され、キューの末尾に追加される。これにより、通信コストや翻訳コストを削減することができる。また、誤訳が生じることを防ぐことができる。
【0220】
ステップS121でNOであれば、ステップS125でその1文をHTTPS通信により外部の他社コンピュータ資源200に送信する。HTTPS通信で行われる暗号化は、第2の暗号化である。
【0221】
ステップS127において、その1文の翻訳結果を外部の他社コンピュータ資源200から受信する。この通信もHTTPSで暗号化が行われており、コンピュータ100で復号化(第2の復号化)が行われることで解読される。翻訳結果は、キューの末尾に付加される。
【0222】
翻訳結果をキューの末尾に付加するときに、ピリオドの後であればスペース(またはツースペース(2個のスペース))を挿入することとしてもよい。すなわち、受信された文書同士を、その間にスペースを挿入して結合することとしてもよい。これは、翻訳後の文章の可読性を上げるための処理である。
【0223】
ステップS129で最後の文(第n番目の文)まで処理が終わったかが判定され、NOであればステップS121からの処理(次の番の文の処理)を繰り返す。これにより、第1番目の文から第n番目の文までの処理が完了する。
【0224】
ステップS129でYESとなれば、キューには翻訳結果が含まれている。例えば上記の例であれば、
【0225】
「[0023]。
【0226】
AAA 100は、 AAB 101と FER 102を備える。 AAB 101は、 AAC 103と FER 102に接続される。 AAC 103の入力がハイである場合、
【0227】
FER 102は警告を表示する。」の文は、
【0228】
「[0023]。
【0229】
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,
【0230】
FER 102 displays warning.」のような文に変換され、それがキューに含まれることになる。このように、翻訳文も暗号化されているため、自社以外の者は翻訳文を得たとしても、その内容を知ることができない。
【0231】
ここでステップS131において、キューの中の暗号を英単語に変換する処理が行われる。
【0232】
この処理は、ステップS105での処理と類似する処理であり、図3のデータベースの番号0のレコードから順にレコードを読みとり、そのレコードに記載された暗号を対象語として翻訳対象の文書の全文検索を行い、発見された暗号を、図3の同じレコードに記載された対訳単語に置き換える処理である。
【0233】
これにより、上記の
【0234】
「[0023]。
【0235】
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,
【0236】
FER 102 displays warning.」
【0237】
の文は、
【0238】
「[0023]。
【0239】
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,
【0240】
display 102 displays warning.」
【0241】
の文に変換される。この変換を自社内で行う事で、文書の秘匿性が担保される。
【0242】
なおこの変換においては、暗号を単語の一部分にマッチさせないよう、全文検索のフラグをセットすることが望ましい。例えば、ABSTRACTの単語中の「ABS」が暗号であるとして誤変換されることが防止するものである。このような処理は、例えばマイクロソフト社のVBAを用いるのであれば、MatchWholeWordプロパティをTrueにして全文検索を行うことで実現される。
【0243】
また、CPU、RAMなどの意味を持つ単語が暗号として翻訳されることを防ぐため、このような意味を持つ単語は、暗号としてデータベースに登録されないようにする(予約語とする)ことが望ましい。
【0244】
ステップS133において、後処理を行う。これは具体的には以下の処理である。
【0245】
(1)不要なスペースを削除する処理。例えば、ピリオドの後ではない位置にスペースが2以上挿入されている場合、それを1つにする処理。また、アルファベットと数字からなる参照符号(100Aなど)の数字とアルファベットの間のスペースを削除する処理。
【0246】
(2)カンマの後に存在する改行コード、またはピリオドの後に存在する改行コード以外の改行コードを削除する処理。例えば上記例であれば、「When an input of signal input unit 103 is high,」の後の改行コードを削除する処理である。
【0247】
(3)複数形の誤りを正しい形に変換する処理。例えば、boxsをboxesに変換する処理である。
【0248】
(4)「前記」の訳語に当てられた「said」を一般的な語である「the」に直す処理。
【0249】
(5)暗号を鉤括弧でくくるなど、特殊なコードを付加して翻訳した場合、それを削除する処理。例えば、AAA100の暗号に対し、「AAA」100など鉤括弧を付与して機械翻訳すると、"AAA" 100など元にはないダブルクォーテーションが付加されるため、これを削除する処理。
【0250】
(6)冠詞を正しくする処理。初出の単語は、不定冠詞をつけることとし、2度目以降に出現する場合には、定冠詞を付するなど。
【0251】
(7)全角の句点を削除する処理。(上記[0023]。の句点などを削除する処理である。)
【0252】
ステップS135において、ユーザは後処理後の文書をチェックし、誤りがあればそれを修正する。
【0253】
ステップS137において、ワープロソフトでのスペルチェッカーにより、単語、構文の誤りがあればそれを修正し、同時に複数形の誤りがあればそれを修正する。誤りをユーザが修正・編集することで、最終的な翻訳文が完成する。
【0254】
このようにして、翻訳原文、および翻訳文双方の秘匿性を保ったまま、外部のコンピュータ資源を用いた機械翻訳を行う事ができる。
【0255】
また、上付き、下付き文字、イタリック、太字、アンダーラインが付された文字を含む単語をデータベースに登録することで、それは暗号に変換された状態で機械翻訳される。暗号を後に上付き、下付き文字、イタリック、太字、アンダーラインが付された文字を含む単語に再度変換することができるため、機械翻訳によって上付き、下付き文字、イタリック、太字、アンダーラインが付された文字を含む単語が誤訳されることが防止される。例えばデータベースに、単語は「SiO2」、その対応する暗号は「ABC」、対訳単語は「SiO2」として登録してもよいし、図3の3504番のレコードのように登録を行ってもよい。翻訳前の単語と翻訳語の単語が同じであれば、単語と暗号のみをデータベースに登録し、対訳単語は登録しないこととしてもよい。単語は全角、対訳単語は半角(あるいはその逆)としてデータベースに登録しても良い。
【0256】
なお、秘密性の低い文書であれば、ステップS111~S115の暗号化と、ステップS131での復号化を行わず、一部が対訳単語に変換されている文書を機械翻訳してもよい。この場合、第1の暗号化と第1の復号化は行われず、第2の暗号化と第2の復号化のみが行われることとなる。この方法は、図1の他社に対して翻訳の内容を秘密にする必要が無い場合に有効である。この方法では、機械翻訳後の文書の単語のゆらぎを防ぐことができる。この方法において、一括変換により変換された対訳単語に対して、それを囲む鉤括弧やダブルコーテーションなどを付加した後に機械翻訳を行ってもよい。これにより、翻訳しなくて良い単語であることを示した状態で機械翻訳を行う事ができるため、機械翻訳後の文書の単語のゆらぎ、誤訳がより少なくなる。
【0257】
「電気自動車」の訳語としては、「electric vehicle」、「electrical vehicle」、「electric-powered vehicle」、「electronic vehicle」、「battery car」、「battery vehicle」など複数の訳語が存在する。ニューラルネットワークによる機械翻訳を行うと、文脈によってどの訳語が当てられるかわからず、翻訳後の単語表現にゆらぎが生じる。また、翻訳対象の文書の分野の違いによって、適切な訳語が異なることも多い。本実施の形態においては、ニューラルネットワークによる機械翻訳の前に、予め単語が統一された訳語に変換される。このため、表現の揺らぎがなくなる。
【0258】
なお、暗号を全角文字として日→英の機械翻訳をした場合、機械翻訳後にはそれらは半角文字となっている。このため、ステップS131の変換では、それを考慮して全文変換する必要がある。はじめから暗号を半角文字としておけば、このような問題は生じない。
【0259】
[第2の実施の形態]
【0260】
図7は、本発明の第2の実施の形態における翻訳システムに含まれるコンピュータプログラムの単語、暗号登録処理を示すフローチャートである。
【0261】
図6で示された処理は、図1の翻訳システム内での処理に限らず、単語登録処理(データベース作成処理)として、別個独立に行う事ができる。
【0262】
すなわち、図7のステップS201でワープロソフトで文章を開いた後に、ステップS203以降の処理(図6のステップS203以降の処理と同じ)を行う事も可能である。
【0263】
なお、第1、第2の実施の形態において、暗号を用いずに翻訳を行うのであれば(秘密にする必要が無い文書を翻訳する場合)、データベースに暗号を登録する必要はない。この場合、ステップS215の処理は不要となる。
【0264】
また、暗号はデータベースに登録することとしたが、例えばレコード番号から一意に決定される暗号を用いることとし、暗号はデータベースに記録せず、コンピュータ100でレコード番号から演算により求めることとしてもよい。
【0265】
このようなフローチャートで示される処理は、記憶装置111に記録されたコンピュータプログラムがRAM109上に読み出され、それをCPU101が順次実行することで実行される。プログラムは、コンパイルされた機械語の実行形式で保存されてもよいし、ソースコードをインタプリタが逐次実行する形式としてもよいし、中間言語で記載された形式としても良い。
【0266】
ワープロソフト(マイクロソフト社のWORD、オープンソース方式で公開されているOpenOfficeなど)を用い、そのマクロ(VBA:Visual Basic For Applicationsなど)を用いて図6図7のフローチャートのプログラムが実行されてもよい。データベースは、専用のデータベースでもCSVファイルであってもよいが、ここではマイクロソフト社のEXCELなどの表計算ソフトを用いてデータベースが形成され、ワープロソフトのVBAを用いてデータベースへのアクセスが行われるものとする。
【0267】
図7を参照して、ステップS201においてユーザはワープロソフトによって翻訳対象の文章が記録された文書ファイルを開く(文書ファイルを補助記憶装置からRAMへ展開する)。また、表計算ソフトも開いておく。
【0268】
文書ファイルは、プレーンテキスト形式で記載されたテキストファイルであってもよいし、ワープロソフトの文書ファイルであってもよいし、HTMLファイルであってもよい。また、画像に含まれる文字がOCRによりテキスト化されたファイルであってもよい。画像ファイルを入力し、ステップS201でOCR機能により文字部分をテキストデータに変換したファイルを作成しても良い。他、文章を記述することができるのであれば、ファイルのフォーマットは特定のものに限定されない。文書は、外部コンピュータからファイル転送プロトコルや電子メールソフトウェアを用いて受信しても良いし、USBメモリなどのストレージから入力されても良い。また、キーボード119やマイクによって入力されても良い。文書は、インターネットからダウンロードすることとしてもよい。
【0269】
ここでは仮に電気自動車について記載された特許明細書を翻訳するものとし、文書ファイルに、
【0270】
「電気自動車100は、エンジン101と表示部102を備え、エンジン101は、信号入力手段103と表示部102に接続される。信号入力手段103の入力がハイである場合、表示部102は警告を表示する。」の文章が記載されていたものとする。
【0271】
図4のステップS203において、ユーザは開かれた文書の内容をチェックし、必要に応じてそれを訂正する。また必要に応じて文章を追加(入力)する。
【0272】
図4のステップS205において、ユーザは文章を目視することにより、データベースに登録したい単語を選択する。これはカーソルを単語の最初または最後に移動させ、SHIFT+方向キーの押下、またはマウスによるドラッグ操作によって、対象の単語を反転表示(または文字および/または背景色を他の部分と変えて表示)させるものである。単語の登録は、主に参照符号の前に存在する単語に対して行われるが、参照符号を伴わない単語も登録するようにしてもよい。参照符号とは、図面に記載された符号(引き出し線とともに用いられる、構成要素を示す数字や文字など)を参照するための符号である。例えば「電気自動車100」の「100」が参照符号であり、参照符号の前に存在する単語とは、「電気自動車」を意味する。
【0273】
単語の選択は、上記のように人間の判断(キーやマウスの入力)によっても良いが、例えば参照符号の前に存在する単語を自動的に検出し、それを選択することとしてもよい。また、参照符号の有無に限らず、単語を自動的に検出し、それを選択することとしてもよい。
【0274】
単語が選択された状態で、画面に表示された登録ボタン(または登録のためのショートカットキー)が押下されたのであれば、ステップS207において、CPU101は、ステップS205で選択された単語の対訳語の入力を受け付ける。これはダイアログボックスを画面に表示し、ユーザからキーボードや音声による入力を受け付けるものでもよいし、辞書から単語候補を複数表示し、その中から対訳語をユーザに選択させるUI(ユーザインタフェース)を使用しても良い。これにより翻訳前の単語と、翻訳後の単語との対応が決定される。
【0275】
ステップS209において、CPU101は翻訳対象の文書の全文検索を行い、ステップS207までの処理で決定された翻訳前の単語を検索し、ステップS211においてそれを対応する翻訳後の単語に変換する。全文検索はユーザに確認を取ることなく行っても良いし、1つの単語が検索される度に、「(翻訳後の単語)に置換しますか?(YES/NO)」のようなダイアログボックスを画面に表示し、単語を置換するか否かをユーザに選択させるようにしても良い。これにより、ステップS205で選択された単語を含む、全文中のその単語が、ステップS207で決定された翻訳後の単語に一括変換される。例えば「電気自動車」の語に「electric vehicle」が対応付けられたのであれば、文書中の「電気自動車」の語は、「electric vehicle」に一括変換される。
【0276】
ステップS213において、CPU101は、データベース207の情報の登録されている最下行(図3の最下行)を検索し、その次の行である空白行の番号(通し番号)を取得する。
【0277】
ステップS215において取得された番号の26進数への変換が行われ、対象となる単語の暗号が作成される。ステップS217において、暗号は、データベースの情報の登録されている最下行の下の行に、翻訳前の単語、翻訳後の単語とともに1レコードとして記録される。データベースへ登録された情報は、将来用いる翻訳辞書としての資産となる。
【0278】
ステップS217の処理の後、ステップS203からの処理が繰り返し行われる。また、ステップS205で登録ボタンが押されていないときは、ステップS203からの処理が繰り返し行われる。
【0279】
全文の処理が終了すると、利用者は文書を保存する。これは文書中の一部が翻訳された原文データであり、その後のニューラル機械翻訳の対象とされてもよい。
【0280】
図6図7の処理でデータベースに登録される単語は、主に、参照符号の前に記載される単語である。例えば翻訳対象の原文が、「電気自動車100は、エンジン101と表示部102を備え、エンジン101は、信号入力手段103と表示部102に接続される。信号入力手段103の入力がハイである場合、表示部102は警告を表示する。」の文であれば、そのうちの「電気自動車」、「エンジン」、「表示部」、「信号入力手段」が登録の対象とされる。
【0281】
なお、参照符号を伴わない「入力」、「警告」などの語も、暗号、対訳単語とともに図4のデータベース207に登録するようにしてもよい。
【0282】
さらに、参照符号を伴う単語の少なくとも一部が登録の対象外となっていてもよい。すなわち、「電気自動車」、「エンジン」、「表示部」、「信号入力手段」のうちの少なくとも一部が登録されなくても良い。
【0283】
ステップS213での登録の後に、原文の単語が長いもの順にソートされても良い。より長い単語が番号0の近く(上側)に、より短い単語がより大きい番号側(下側)に位置するようにソートするものである。
【0284】
以上の処理により、「電気自動車100は、エンジン101と表示部102を備え、エンジン101は、信号入力手段103と表示部102に接続される。信号入力手段103の入力がハイである場合、表示部102は警告を表示する。」の文章は、
【0285】
「 electric vehicle 100は、 engine 101と display 102を備え、 engine 101は、 signal input unit 103と display 102に接続される。 signal input unit 103の入力がハイである場合、 display 102は警告を表示する。」の文章に変換される。この文章をユーザはチェックし、誤りがないかを判断する。誤りがある場合、ワープロソフト上で編集を行う。
【0286】
[第3の実施の形態]
【0287】
図8は、本発明の第3の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
【0288】
このフローチャートで示される処理は、記憶装置111に記録されたコンピュータプログラムがRAM109上に読み出され、それをCPU101が順次実行することで実行される。プログラムは、コンパイルされた機械語の実行形式で保存されてもよいし、ソースコードをインタプリタが逐次実行する形式としてもよいし、中間言語で記載された形式としても良い。
【0289】
図を参照して、ステップS101において、ユーザの指示に従ってCPU101は、翻訳する文書(文章)を入力する。ここで入力される文書は、図7での処理により変換が行われた後の文章であるものとする。ここでは、「 electric vehicle 100は、 engine 101と display 102を備え、 engine 101は、 signal input unit 103と display 102に接続される。 signal input unit 103の入力がハイである場合、 display 102は警告を表示する。」の文章が処理される例を説明する。
【0290】
ステップS103においてCPU101は、入力文書に関して、機械翻訳に難がある部分を検索する。例えば、日本語から翻訳を行うのであれば、文書を「。」などの区点(英語からの翻訳であればピリオド)で区切ることで複数の文に分解し、各文が所定の長さ以内であるか(すなわち各文の長さが所定の閾値以下であるか)を判断するものである(閾値として、他社コンピュータ資源200の性能に応じ、例えば80~120文字程度の値が選択される)。
【0291】
1文の長さが長ければ、機械翻訳は不正確になりやすいため、予め文章の長さをチェックし、長い文は翻訳不可とするものである。長い文章については、例えば重文であれば、「AはBであり、CはDである。」のような文章を、「AはBである。CはDである。」のような複数の文章に変換し、各文を短くする変換・編集処理が行われる。このような変換は自動で行っても良いし、ユーザに長いと判断された文章を示し、ユーザの手動で修正を促すようにしてもよい。また、自動で変換を行う場合には、自動変換後の文章(および必要であれば変換前の文章)をユーザに示し、正しく変換が行われているかをユーザにチェックさせることが望ましい。
【0292】
機械翻訳に難がある部分のチェックとしては、1文に主語があるか(例えば「○○は、」や「○○が、」に相当する語句が含まれているか)、1文中の主語と述語が対応しているかなどをチェックしても良い。より機械翻訳を誤訳無く正確に行うのであれば、例えば一文中に主語が1つのみであり、かつ述語が1つのみであることを翻訳可能な文の条件としても良い。
【0293】
これらのチェックについては、正規表現を利用して文のパターンをマッチングさせることで行ってもよい。形態素解析によりチェックを行ってもよい。また例えば学習済みのリカレントニューラルネットワーク(RNN)を用い、チェック対象の文章を入力とし、出力として機械翻訳に難がない文章を出力させる、または出力として難あり/なしの信号を出力させ、難がある場合にユーザに修正を促す、などを行うことも可能である。
【0294】
ステップS105において、機械翻訳が可能な文章であるかのチェックを行い、難のある部分が存在するのであれば、ステップS103での処理を繰り返し行う。
【0295】
ステップS105において、機械翻訳が可能であると判断されたのであれば、ステップS107で文章の前処理を行う。これは、機械翻訳にミスがないよう、機械翻訳をしやすくする処理である。例えば複文であれば、「AがBのとき、CはDを行う。」の構造を有するが、翻訳ミスを防ぐため、複文の区切り部分(上記文章であれば、「とき、」の直後)に目印となるコードを埋め込む処理である。コードは、改行コード、スペース、区切りとなるキャラクターなどであり、翻訳に影響を与えず、区切りを機械にわかりやすくするためのコードが選択される。また、例えば「AはBであり、CはDである。」のような構造を有する重文を、重文の区切り部分(上記文章であれば、「であり、」の直後)に上記目印となるコードを埋め込んでもよい。ステップS107の処理により、機械翻訳において処理する文の単位が小さくなるため、機械翻訳において誤った主語-述語の組み合わせが選択されたり、その他の誤訳が生じることが防止される。
【0296】
ステップS103~S107での処理により、例えば上記の
【0297】
「 electric vehicle 100は、 engine 101と display 102を備え、 engine 101は、 signal input unit 103と display 102に接続される。 signal input unit 103の入力がハイである場合、 display 102は警告を表示する。」の文章は、
【0298】
「 electric vehicle 100は、 engine 101と display 102を備える。 engine 101は、 signal input unit 103と display 102に接続される。 signal input unit 103の入力がハイである場合、(改行コード)
【0299】
display 102は警告を表示する。」
【0300】
の文章に変換される(ステップS103で単文化が行われ、ステップS107で複文を作る文の区切りに改行コードが挿入されている)。
【0301】
ステップS109において、記憶装置111中のデータベースを参照して、翻訳する文書内の参照符号前に記載されている単語(特に名詞)を暗号に変換する(第1の暗号化)。データベースは、原文と、暗号文字列と、翻訳文字列を対比させるものである。
【0302】
ステップS109で参照符号前の単語を暗号に一括変換することによって、例えば上述の
【0303】
「 electric vehicle 100は、 engine 101と display 102を備える。 engine 101は、 signal input unit 103と display 102に接続される。 signal input unit 103の入力がハイである場合、(改行コード)
【0304】
display 102は警告を表示する。」の文章は、
【0305】
「AAA100は、AAB101とFER102を備える。AAB101は、AAC103とFER102に接続される。AAC103の入力がハイである場合、(改行コード)
【0306】
FER102は警告を表示する。」
【0307】
の暗号文に置き換えられる。
【0308】
このような暗号文では、「AAA」などの26進数が単語として処理されるため、真の意味を外部に漏らすことなく、外部の他社コンピュータ資源200で機械翻訳可能である。
【0309】
ステップS109での処理は、以下のように行われる。
【0310】
(1)文書の先頭から、単語と参照符号の組み合わせからなる文章の構成部分を検索する。
【0311】
(2)検索された構成部分の単語を、データベースから検索する。
【0312】
(3)対応する暗号をデータベースから得る。
【0313】
(4)上記(2)で検索された構成部分の単語を、上記(3)で得た暗号に置換する。
【0314】
(5)文章中の次に現れる、単語と参照符号の組み合わせからなる文章の構成部分を検索する。
【0315】
(6)全ての構成部分が処理されるまで、上記(1)からの処理を繰り返す。全ての構成部分が処理されたのであれば、終了する。
【0316】
またはステップS109での処理は、以下のように行われてもよい。
【0317】
(1)データベースに登録されている1番目の単語を読み出す
【0318】
(2)読み出された単語を、文書の先頭から全て検索し、データベースに登録されている対応する暗号に置換する(全文一括置換)。
【0319】
(3)データベースに登録されている次の単語を読み出し、上記(2)の処理を繰り返す。データベースの登録単語全てについて処理が終われば、終了する。
【0320】
ステップS119以降の処理において、ステップS109までの処理で得られた機械翻訳前のデータは、先頭の1文から順に、HTTPS送信により、ニューラルネットワーク学習済みの他社コンピュータ資源200に送信されることとなる。
【0321】
より詳しくは、翻訳前のデータの最初の1文(例えば、「。」の句点までの文章)がステップS119においてHTTPSにより外部の他社コンピュータ資源200に送信される。この送信は、暗号化される(第2の暗号化)。外部の他社コンピュータ資源200は、リクエストに応じ、受信したデータを対象言語に翻訳し、コンピュータ100に送信する。
【0322】
ステップS121において、コンピュータ100は、HTTPSによるレスポンスとして、外部の他社コンピュータ資源200から翻訳後の1文のデータを得る。
【0323】
ステップS123において、最後の文まで翻訳が終了したかを判定し、NOであればステップS119において、次の1文の処理を行う。最後の文まで翻訳が終了したのであれば、ステップS125に進む。
【0324】
ステップS125において、翻訳後の文書の後処理を行う。ここでは、ステップS119~S123の処理で得られた1文ごとの翻訳文を1つの文書に纏める。また、ステップS109~S113の第1の暗号化により得られた翻訳文は、暗号を含んでいるので、その暗号を、対応の訳語に一括変換する処理が行われる。これは、例えば以下のように行われる。
【0325】
(1)データベースに登録されている1番目の暗号(「AAA」など)を読み出す。
【0326】
(2)読み出された暗号を、文書の先頭から全て検索し、データベースの対応する訳語に置換する(全文一括置換)。
【0327】
(3)データベースに登録されている次の暗号を読み出し、上記(2)からの処理を繰り返す。データベースの登録暗号全てについて処理が終われば、終了する。
【0328】
ステップS127において、複数形単語のチェックなどのスペルチェックを行う。ユーザは翻訳文を最終チェックし、問題があれば修正、編集を行う。
【0329】
ステップS127での処理を行うことにより、
【0330】
「AAA 100 comprises AAB 101 and FER 102. AAB 101 is connected to AAC 103 and FER 102. When an input of AAC 103 is high,(改行コード)
【0331】
FER 102 displays alert.」
【0332】
の文章から、
【0333】
「electric vehicle 100 comprises 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,(改行コード)
【0334】
display 102 displays alert.」
【0335】
の文が得られる。
【0336】
ステップS125、ステップS127において、図5のステップS135、S137と同様の処理を行うことで、第1の実施の形態と同様の効果を得ることができる。
【0337】
[第4の実施の形態]
【0338】
図9は、本発明の第4の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
【0339】
このフローチャートでの処理は、図8の処理に加えて、ステップS111、S113の処理が追加されたものである。
【0340】
ステップS109での処理の後に、ステップS111において、データベースに登録がないことで、変換ができなかった参照符号前の単語があるかを判定する。これは、単語と参照符号の組み合わせからなる文章の構成部分が存在するか否かを正規表現を用いて判断しても良いし、ユーザが目視で確認しても良い。
【0341】
ステップS111でYESであれば、ステップS113に進む。ステップS113においては、ステップS111で変換できなかった単語と、その暗号、および訳語をセットにしてデータベースに登録する。例えば、変換できなかった単語を白黒反転表示として目立たせた上で、「○○の訳語を入力してください」の語と単語入力フィールドを含むダイアログボックスを表示し、ユーザから入力を受け付けるようにしてもよい。例えば、文書中の「電気自動車」の単語を反転表示し、「『電気自動車』の訳語を入力してください」の語と単語入力フィールドを含むダイアログボックスを表示し、ユーザから「electric vehicle」の入力を受け付けるものである。単語と、その暗号、および訳語はセットにされ、データベースに登録される。なお、暗号は自動作成することが望ましい。
【0342】
ステップS111でNOとなるまで、ステップS113での処理は繰り返し行われる。
【0343】
ステップS111でNOとなったのであれば、ステップS119への処理に進む。
【0344】
[その他]
【0345】
上述の複数の実施の形態、およびそれに含まれる要素(一部の構成、一部の処理)を組み合わせたり、入替えたりすることで新たな別の実施の形態とすることもできる。
【0346】
全文一括変換(単語を対訳単語に、または対訳単語を暗号に変換する処理)を行うとき、検索対象の語は、長い単語から順にデータベースから読み出すことが望ましい。例えば、データベース中に、「検出手段」を「detection means」に変換するレコードと、「情報検出手段」を「information detection means」に変換するの2つのレコードがあった場合、長い単語である「情報検出手段」を「information detection means」に一括変換する処理をした後で、より短い単語である「検出手段」を「detection means」に一括変換する処理をするものである。これにより、文書中の「情報検出手段」の「検出手段」の部分のみが変換されることを防ぎ、翻訳の効率を上げることができる。また、単語を暗号に変換する場合も同様に、長い単語から順にデータベースから読み出すことで、一連の意味を持つ単語の集合の一部のみが暗号に変換されることを防ぐことができる。
【0347】
レコード番号の小さいものから順に単語を読み出して一括変換する場合は、レコードを登録単語の文字数によってソートすることとしてもよい。
【0348】
特許明細書であれば、その末尾に「符号の説明」の項目があり、一般に重要な参照符号とそれが示す構成要素(単語)がそこに説明されている。符号の説明の項目に記載された単語のみを暗号化することとしてもよい。機械翻訳前に、符号の説明の項目に記載された単語が文書中で暗号化されていない場合、警告を出すこととしてもよい。
【0349】
また、特許明細書であれば、発明を実施するための形態、図面の簡単な説明、発明の効果、課題を解決するための手段、書類名 明細書、発明の名称、技術分野、背景技術、先行技術文献、特許文献、発明の概要、符号の説明、書類名 請求の範囲、書類名 要約書、などをそれぞれ単語と見なして暗号化しても良い。これにより、翻訳対象の文章が特許明細書であることを分かりにくくすることができる。
【0350】
特許明細書など、図面の参照符号を参照して説明を行う書類では、文書中の参照符号の前にある名詞である単語が特に重要な意味を持つ。参照符号の前にある単語の少なくとも一部を暗号(または対訳語)に置換することで、本発明は高い効果を発揮することができる。もちろん、文書中の参照符号の前にある単語以外の単語の少なくとも一部を暗号(または対訳語)に置換することとしてもよい。また、文書中の参照符号の前にある単語は暗号(または対訳語)に置換せずに、文書中の参照符号の前にある単語以外の単語の少なくとも一部を暗号(または対訳語)に置換することとしてもよい。
【0351】
文書中に現れる、名詞である単語と参照符号とのセット(名詞である単語とその直後に続く参照符号とからなるセット)のうち、名詞である単語の部分のみを一括変換の対象としてデータベースに登録し、参照符号は一括変換の対象に含めないことが望ましい。このようにすることで、異なる参照符号が付与された同一の単語も、そのデータベースを用いて処理することができる(将来、他の文書を翻訳するときにもそのデータベースをより有効に活用することができる)。
【0352】
参照符号を含まない書類にも本発明は適用可能である。この場合、文書中の単語の少なくとも一部が暗号(または対訳語)に置換された後に、機械翻訳される。
【0353】
図4のステップS105、図8のステップS109でのデータベースを用いた一括変換処理は、連続して複数回行うこととしてもよい。例えば、ユーザが事前に「検出手段」→「detection means」の変換を行うレコードをデータベースに記録することで、翻訳書類中の「情報検出手段」が「情報 detection means」と変換されることがある。これは単語の一部が変換されたケースである。この場合、ユーザは「情報 detection means」を単語として選択し、その対訳として「information detection means」をデータベースに新たなレコードとして記録することになる。そのデータベースを使って次の書類を翻訳する際に、文書の中に「情報検出手段」の語が存在すると、当該データベースを用いた一括変換でその語は、「情報 detection means」にまず変換される。データベースの検索順でその後に検索語「情報 detection means」が出てくれば、「情報 detection means」は、「information detection means」に問題なく変換される。しかし、データベースでの検索順が、「情報 detection means」の方が「検出手段」よりも前であれば、データベースを用いた一括変換処理を1回行っただけでは、「情報 detection means」は、「information detection means」に変換されない。
【0354】
そこで、データベースを用いた一括変換処理を、2回(あるいはそれ以上)繰り返して行うことで、再度の一括変換を行うものである。これにより、「情報 detection means」などの、原文に一部翻訳語を含む単語であっても、「information detection means」など正しい単語に変換される。
【0355】
また、実施の形態においてはニューラルネットワークを用いた機械翻訳を行う例を挙げたが、統計的機械翻訳や、フレーズベース、ルールベースの機械翻訳、人工知能機械翻訳、ディープラーニング機械翻訳などを用いてもよく、本発明は、ニューラルネットワークを用いた機械翻訳に限定されるものではない。
【0356】
外部の他社コンピュータ資源200へ情報を送受信する方法は、WEBページを介して行っても良い。ブラウザ操作の自動化手法によって、情報を送受信してもよい。また、外部の他社コンピュータ資源を運営する事業者が提供するAPIを用いて情報を送受信してもよい。
【0357】
上記後処理としては、文章中の不要なスペースの削除、単語の統一、文章中の大文字の小文字の変換、スペルチェック、複数形の単語を正しい表記にする処理などを行ってもよい。
【0358】
[実施の形態の効果]
【0359】
以上の実施の形態により、翻訳原文、翻訳後の文章の双方とも、第1の暗号化および第2の暗号化という2段階の暗号化が行われる。第三者に対しては両暗号化により文書の秘匿性が保たれる。また、翻訳サービスの提供事業者に対しては、第1の暗号化により文書の秘匿性が保たれる。これにより、外部翻訳サービスを利用しながらも、情報の外部流出を避けることができる。
【0360】
情報を送信するコンピュータ資源が、不特定多数(または複数の者、他人)が利用するコンピュータ資源であっても、情報の秘密性を確保することができる。なお、「不特定多数の利用」とは、そのサイト(サーバ)が一般に公開され、各所からアクセス可能であることを意味している。
【0361】
また、従来技術のニューラル機械翻訳には、入力文に含まれる情報を過不足なく厳密に翻訳することができない(翻訳の抜けが生じる可能性がある)という問題点があった。また、翻訳の重複した箇所が出力されることもあった。本実施の形態では、原文を暗号化により圧縮(短くシンプルに)することができる。また文の構造を簡略化(短くシンプルに)することができる。これにより、ニューラル機械翻訳を採択しても、入力文に含まれる情報を過不足なく翻訳でき、翻訳の抜けが生じにくいという効果がある。また、翻訳の重複した箇所が出力されにくいという効果がある。
【0362】
さらに、これまで用いられてきた学習データ(対訳辞書データ、語順データなど)をデータベースに登録するデータとして利用しやすいという効果がある。
【0363】
さらに、従来技術のニューラル機械翻訳では、Word Embeddingにより柔軟な翻訳ができる反面、全く異なる単語(時には意味の無い文字列)が選択されることで、意味の全く異なる翻訳文が作成されることもあった(特に出現頻度の低い語、出現頻度の低い固有名詞など)。また、長い文章、複雑な文章の場合、意味の通じない翻訳文が作成されることもあった。本実施の形態では、単語が予め対訳単語または暗号に一括変換された後、機械翻訳される(好ましくは、さらに鉤括弧などを付与した状態で機械翻訳される)。これにより機械翻訳で、原文の単語が全く意味の異なる対訳単語に翻訳されることがなくなる。
【0364】
[第5の実施の形態]
【0365】
本発明の第5の実施の形態における翻訳システムのハードウェア構成は、第1~第4の実施の形態におけるそれと同じであるためここでの説明を繰り返さない。第5の実施の形態においては、翻訳対象である第1の言語で記述された文章は、その一部に、名詞である単語とその直後に続く参照符号とからなるセットを含んでいる。翻訳装置は、名詞である単語とその直後に続く参照符号とからなるセットを、そのセットに対応する文字列に置き換える置換部を備えている。その置換部で置き換えが行われた文章は、インターネットを通じて外部コンピュータに送信される。翻訳装置は、コンピュータから、翻訳後の第2の言語で記述された文章をインターネットを通じて受信する。
【0366】
第5の実施の形態が上記実施の形態と異なる点について、以下に説明する。
【0367】
図10は、本発明の第5の実施の形態における翻訳システムで、データベース207中の第1のデータベースに格納されるデータ構造の具体例を示す図である。
【0368】
この第1のデータベースに登録されるデータは、図3のデータと比較して、暗号のカラムが含まれていない。第1の言語の単語と、その対訳語である第2の言語の単語とが対応付けられて(ペアになって)記録されるものである。第1のデータベースのデータは、第1~第4の実施の形態で説明したものと同じ登録処理により登録されてもよいし、過去の辞書データや外部辞書データを第1のデータベースに登録することとしてもよい。また、第3~第Nの言語の対応単語を登録することで、複数言語への翻訳を可能としてもよい。
【0369】
図11は、本発明の第5の実施の形態における翻訳システムで、データベース207中の第2のデータベースに格納されるデータ構造の具体例を示す図である。
【0370】
第2のデータベースに登録されるデータは、第1のデータベースに記録されたデータと、名詞である単語とその直後に続く参照符号とからなるセットを複数含む翻訳対象の文書とから作成されるものである。第2のデータベースは、番号、単語、対訳単語、および暗号のカラムを含んでいる。もちろん、第3~第Nの言語の対応単語を登録することで、複数言語への翻訳を可能としてもよい。第5の実施の形態では、第2のデータベースが第1の暗号化、および第1の復号化を行うときに利用される暗号表(コードブック)の役割を果たす。
【0371】
第2のデータベースの作成においては、先ず、第1のデータベースの内容がコピーされ(番号0~3504の行を参照)、それぞれの単語を識別するための暗号が記録される。暗号については、第1~第4の実施の形態におけるそれと同様である。
【0372】
次に、翻訳対象である第1の言語で記述された文章に含まれる、名詞である単語とその直後に続く参照符号とからなるセットが検出される。この検出においては、文章の分かち書き・形態素解析により名詞が1以上連続する部分と、それに続く数字やアルファベットなどの参照符号が1文字以上続く部分をセットとして検出することとしてもよいし、正規表現を用いて検出を行うこととしてもよい。また、図10の第1のデータベースに登録されている単語を翻訳対象の文書から検索し、それに参照符号が続く場合に、その単語と参照符号をセットとして検出することとしてもよい。名詞である単語とその直後に続く参照符号とからなるセットについて、その単語は、第1の言語の単語であってもよいし、第2の言語の単語(対訳単語)であってもよい。
【0373】
特に、翻訳処理対象の文章が第1の言語で書かれているのであれば、第1の言語の単語とその直後に続く参照符号とからなるセットが検出される。翻訳処理対象の文章が第1の言語で書かれているが、既に一部の単語が第2の言語に置換されているのであれば、第2の言語の単語とその直後に続く参照符号とからなるセットが検出される。
【0374】
ここでは、翻訳処理対象の文章中に「電気自動車100」という、単語とその直後に続く参照符号とからなるセットが含まれていたものとする。セット中の「電気自動車」は、図10の第1のデータベース(または図11の第2のデータベース)のデータを用いて、「electric vehicle」に置換される。これにより、「電気自動車100」と「electric vehicle 100」との対応関係ができ、その対応には新たな暗号が付与されて、図11の第2のデータベースに新たに登録される(番号4012の行を参照)。
【0375】
このとき第1の言語の単語として、「電気自動車100」の語を登録してもよいし、そのうちの「電気自動車」部分を番号0の行データで暗号化した、「"AAA" 100」を登録してもよい。図11では、「"AAA" 100」を登録することとしている。
【0376】
なお、暗号部分はダブルコーテーションなどの特殊な記号で囲んで処理すると、その部分を暗号であると明確にすることができるため、後の処理に便利である。すなわち、暗号に変換するときに、その暗号をダブルコーテーションなどの特殊記号で囲んで文章に挿入したり、図11のデータベースに登録するときに、その暗号をダブルコーテーションなどの特殊記号で囲んで登録するものである。勿論、特殊な記号で囲まなくてもよい。
【0377】
同様にして、翻訳処理対象の文章中に含まれる他の単語と参照符号とのセットが、第2のデータベースに順次登録される。なお、翻訳対象の文書中には、同じ単語であっても異なる参照符号が付与されるケースがあるが(例えば、「歯車501a」と「歯車501b」など)、この場合は、それぞれに別の暗号が付されて別の行に登録される(対訳単語はそれぞれ、「gear 501a」、「gear 501b」となり、それぞれに別の暗号が付与される)。
【0378】
第2のデータベースを用いることで、第1~第4の実施の形態と同様に、単語と対訳単語と暗号との間で双方向の置換ができるし、参照符号付きの単語と、参照符号付きの対訳単語と暗号との間での双方向の置換も可能である。
【0379】
また、第1のデータベースを翻訳知識のデータベース(単語変換、単語翻訳用のデータベース)として保持し、第2のデータベースを翻訳対象の文書に対しての翻訳用のデータベース(所謂オーダーメイドのデータベース)とすることで、同一の単語に対して異なる参照符号が付与されている複数の文書であっても、単語+参照符号のセットに暗号や対訳語+参照符号のセットを対応付けることが可能となる。
【0380】
本実施の形態では、単語+参照符号のセットを暗号に置き換えて翻訳を行う事ができる。このため、翻訳する文章(サーバに送信する文章)を短くすることができ(データ量を少なくすることができ)、翻訳コストを抑えることができる。また、機械翻訳する文章が短くなるため、誤訳が生じにくくなる。
【0381】
翻訳においては、翻訳対象の文書が第2のデータベースを用いて暗号化される。このとき、翻訳対象の文書内の上記セット中の単語が第1の言語であれば、図11のデータの「単語」のカラムに記載された単語が、その行の暗号に変換される。
【0382】
このとき、翻訳対象の文書中には、単語+参照符号のセットが存在し、かつ、その単語が参照符号を伴わずに出現することも考えられる。暗号化後の文章を短くするためには、先ず、単語+参照符号のセットの暗号への置換え(図11では番号4012以降の行を用いた置換え)を優先して行い、その後に単語の暗号への置換え(図11では番号0から番号4012よりも前の行を用いた置換え)を行う事が望ましい。これにより、参照符号を伴う単語は、単語+参照符号のセットとして暗号化することができるし、参照符号を伴わない単語は、単語だけを暗号化することができる。
【0383】
なお、図11に示されるように単語のカラムに、暗号+参照符号が登録されるのであれば、その暗号は同データベースによってデコードされ、単語+参照符号とされた上で暗号への変換が行われるようにしてもよい。
【0384】
また、翻訳対象の文書中のセット中の単語が第2の言語に置き換えられているのであれば、図11のデータの「対訳単語」のカラムに記載された単語が、その行の暗号に変換される。このとき、翻訳対象の文書中には、対訳単語+参照符号のセットが存在し、かつ、その対訳単語が参照符号を伴わずに出現することも考えられる。暗号化後の文章を短くするためには、先ず、対訳単語+参照符号のセットの暗号への置換え(図11では番号4012以降の行を用いた置換え)を優先して行い、その後に対訳単語の暗号への置換え(図11では番号4012以降の行を用いた置換え)を行う事が望ましい。これにより、参照符号を伴う対訳単語は、対訳単語+参照符号のセットとして暗号化することができるし、参照符号を伴わない対訳単語は、対訳単語だけを暗号化することができる。
【0385】
図11に示されるように対訳単語のカラムに、対訳単語+参照符号が登録されるのであれば、それがそのまま文章中で検索された上で暗号への変換が行われる。対訳単語も一部を暗号化して("AAA" 100などとして)データベースに登録することとしてもよい。
【0386】
図11のように単語+参照符号のセットを暗号+参照符号として第2のデータベースに登録するのであれば、第2のデータベースを、単語と暗号との対応付け部分(図11であれば番号0~3504)と、単語+参照符号と暗号との対応付け部分(図11であれば番号4012以降)とに分けて管理し、先ず、単語と暗号との対応付け部分を用いて単語を暗号に変換するステップを実行し、その後に単語+参照符号と暗号との対応付け部分を用いて単語を暗号に変換するステップを実行すれば、結果的に参照符号を伴う単語は、単語+参照符号のセットとして暗号化することができるし、参照符号を伴わない単語は、対訳単語だけを暗号化することができる。このような処理は、アルゴリズムに応じて適宜変更することができる。例えば、第2のデータベースについて、単語と暗号との対応付け部分(図11であれば番号0~3504)と、単語+参照符号と暗号との対応付け部分(図11であれば番号4012以降)とを別のデータベースとして処理してもよい。
【0387】
なお、単語や対訳単語を暗号化するときには、より長い(文字数の多い)単語や対訳単語を優先して暗号化することが望ましい。例えば、データベースに「入力手段」(対応暗号はJKL)と「信号入力手段」(対応暗号はYSH)の双方が別の暗号とともに記録されているときに、文字数の少ない「入力手段」が先に処理されると、処理対象の文章に含まれる「信号入力手段」が「信号 JKL」に変換され、文章を短くする観点、誤訳を少なくする観点から好ましくないためである。
【0388】
より長い(文字数の多い)単語や対訳単語を優先して暗号化することで、処理対象の文章に含まれる「信号入力手段」は「YSH」の暗号に正しく変換され、文章を短くでき、誤訳を少なくすることができる。
【0389】
このように、図11の第2のデータベースを用いることで、第1の言語で記載されている翻訳対象の文章に含まれる単語+参照符号のセットは、それに対応する暗号に置き換えられ、また、第1の言語で記載されている翻訳対象の文章に含まれる単語は、それに対応する暗号に置き換えられる(第1の暗号化)。第1の暗号化が行われた文書を外部サーバに送ることで、文書の秘匿性を担保したままその処理(翻訳)が行われる。
【0390】
外部サーバにより翻訳が行われた第2の言語の文書については、その中に暗号が含まれるため、図11の第2のデータベース(暗号表、コードブック)を用いた復号化が行われる。すなわち、文章中の暗号が、図11の対訳単語の対応するデータに置換される。
【0391】
例えば仮に電気自動車について記載された特許明細書を翻訳するものとし、文書ファイルに、
【0392】
「[0023]
【0393】
電気自動車100は、エンジン101と表示部102を備え、エンジン101は、信号入力手段103と表示部102に接続される。信号入力手段103の入力がハイである場合、表示部102は警告を表示する。」の文章が記載されていたものとすれば、本獅子の形態では、その第1の暗号化後の文章は、
【0394】
「[0023]
【0395】
"HSD" は、"HSE" と "HEF" を備え、"HSE" は、"HEG"と"HEF"に接続される。"HEG"の入力がハイである場合、"HEF"は警告を表示する。」
【0396】
の文章に変換される(説明の簡便のため、前処理などは行っていないものとする)。このように参照符号も含めて1つのまとまりとして暗号化を行うことができるため、第1~第4の実施の形態よりも短い文章とすることができ、誤訳の可能性が小さくなる。また、参照符号を伴わない単語も、暗号化することができる。
【0397】
なお、この文章が外部コンピュータ資源で翻訳されると、その結果は、
【0398】
「[0023]。
【0399】
"HSD" includes "HSE" and "HEF". "HSE" is connected to "HEG" and "HEF". When an input of "HEG" is high, "HEF" displays warning.」のような文に変換される。これを第2のデータベースを用いて復号化することで、第1~第4の実施の形態と同様に、
【0400】
「[0023]。
【0401】
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.」
【0402】
の翻訳文を得ることができる(説明の簡便のため、後処理などは行っていないものとする)。
【0403】
図12および13は、本発明の第5の実施の形態における翻訳システムに含まれるコンピュータプログラムの日英翻訳処理を示すフローチャートである。
【0404】
このフローチャートが図4および図5のフローチャートと異なる点について説明する。
【0405】
ステップS107においては、選択された単語とその対訳が、第1のデータベースに登録が行われる(図10)。
【0406】
ステップS109での処理の後、ステップS110において、第1のデータベースの内容と、翻訳対象の文とから、第2のデータベース(図11)を作成する処理が行われる。ステップS111において、単語または単語+参照符号を暗号化する処理が行われる。この処理においては、第2のデータベースが用いられる。
【0407】
図13のステップS131においては、第2のデータベースを用いて、暗号を単語(対訳単語)に、または暗号を単語(対訳単語)+参照符号に変換する処理が行われる(第1の復号化)。
【0408】
なお、第1、第2のデータベースは、それぞれ異なる種類のプログラムで動作するものであってもよい。例えば第1のデータベースは、CSVファイルやEXCELファイルとし、第2のデータベースはSQLiteやMySQLなどのソフトウェアを用いるなどである。
【0409】
本実施の形態では、単語+参照符号を1つの単位として暗号とともにデータベースに登録したが、前置語+単語、または前置語+単語+参照符号を1つの単位として暗号とともにデータベースに登録することとしてもよい。例えば「Si基板300」の「Si」を前置語とし、「基板」の単語の前に前置語がある場合には、「Si基板」を1つの単位として暗号とともに登録したり、「Si基板300」を1つの単位として暗号とともに登録したりするものである。
【0410】
また、図11の単語と暗号の組み合わせのデータベース(番号0~3504)を用いた翻訳原文の全文暗号化処理を行った後、文書中の暗号+参照符号部分を検索することで、単語+参照符号と暗号の組み合わせのデータベース(番号4012~)を作成してもよい。その後、単語+参照符号と暗号の組み合わせのデータベースにより、再度の暗号化を行うものである。
【0411】
なお、単語、対訳単語のデータベースへの重複登録を防ぐ処理を行うことが望ましい。これは、単語、対訳単語の同じペアが登録されないようにする処理や、そのいずれか一方について、同じものが登録されないようにする処理である。
【0412】
[その他]
【0413】
本実施の形態におけるフローチャートは、複数のソフトウェアにより実行されてもよい。例えば、一部がワープロソフト(マクロなど)によって実行され、一部はスクリプト言語やコンパイルされた実行形式ファイルによって実行されてもよい。一部が人間により実行されてもよい。
【0414】
また、全角の文字を半角にする処理、スペースを削除する処理、スペースの数を減らす処理などを適宜(処理のいずれかで)行ってもよい。
【0415】
上述の実施の形態では、暗号化を行う前に、第1の言語の単語を第2の言語の単語に置き換えることとしたが(ステップS105、S107など)、これを行わずデータベースを用いて、第1の言語の単語を直接暗号化し、それを外部コンピュータ資源に送るようにしてもよい。
【0416】
文書中のすべての単語(および/または単語+参照符号)を暗号に置換してもよいし、その一部のみを置換してもよい。
【0417】
上述の複数の実施の形態、およびそれに含まれる要素(一部の構成、一部の処理)を組み合わせたり、入替えたりすることで新たな別の実施の形態とすることもできる。
【0418】
上述の実施の形態における処理は、ソフトウェアにより行っても、ハードウェア回路を用いて行ってもよい。また、上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをCD-ROM、フレキシブルディスク、ハードディスク、ROM、RAM、メモリカードなどの記録媒体に記録してユーザーに提供することにしてもよい。プログラムは、CPUなどのコンピューターにより実行される。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
【0419】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0420】
100 コンピュータ
101 CPU
103 通信部
109 RAM
111 記憶装置
200 他社コンピュータ資源
203 検索・置換部
205 文書編集・単語登録部
207 データベース
209 メモリ
211 表示/出力部
213 入力部
400 インターネット
500 自社コンピュータ資源

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13