テクノロジー

機械翻訳はダブルバイト言語にどのように適応するか

UTF-8 とニューラルネットワークは、ダブルバイトおよびマルチバイト言語を扱う際に機械翻訳のパフォーマンスを向上させます。
8 minutes, 48 seconds
目次

世界の各言語は、その起源と広がりを説明するファミリーに属していますが、データシステムのパラメーターによると、すべての話し言語は2つのグループに分けることができることをご存知ですか: シングルバイト言語とダブルバイト言語?

ダブルバイト言語は、1文字を表すのに2バイト(16ビット)を使用する文字エンコーディングシステムを指します。

これは、これらの言語は文字セットが大きいため、シングルバイト(8ビット)エンコーディングシステムよりも多くの保存スペースが必要になるために発生します。

2バイト言語には、中国語(簡体字および繁体字)、日本語、韓国語、ベトナム語(一部の古いエンコーディング)、および世界中の他の多くの言語が含まれます。

UTF-16やUTF-8のようなサポートシステムで、1バイト、2バイト、さらにそれ以上のバイトを切り替えられるものは、ダブルバイトやマルチバイト言語に必要です。

大事な: ダブルバイト (DBCS) 言語は、概念が似ているため、マルチバイト文字セット (MBCS) と誤って識別されることがよくあります。

この記事の詳細を見ていきましょう。このエンコーディングの違いが機械翻訳にどのように関係しているかに注目します!

1. ダブルバイト言語用の文字マッピングシステム

UTF(ユニコード変換形式)の発明により、エンコーディングプロセスはより簡単になりました。

1.1) Unicodeが普及する前に登場したシステム – DBCS(ダブルバイト文字セット) 

DBCSの作成は、多くの文字を必要とする言語、主に中国語、日本語、韓国語(CJK)のためでした。 

例: Shift JIS(日本語)、Big5(繁体字中国語)、EUC-KR(韓国語)。 

2バイト(16ビット)で、最大65,536文字(2¹⁶)を表現できます。 

画像 Wikimedia Commonsによる

 

1.2)高度なシステム: UTF-16 および UTF-8

UTF は、Unicode 文字をバイナリ形式に変換するエンコーディング方式です。そのため、コンピュータやソフトウェア システムは、多くの言語や文字体系のテキストを効果的に表示および共有できます。 

これは国際標準であり、各文字には、どの言語や記述システムに属しているかに関係なく、固有の番号(コードポイント)が割り当てられます。

UTF は、これらのコード ポイント番号をコンピューターが理解できるバイト ストリームに変換するプロセスを記述します。

画像ウィキメディアコモンズ

UTFの例:

UTF-16 です。 2 バイトまたは 4 バイト(各文字ごと)。

アジアの文字を扱う特定のシステムで今も使用されています。

たとえば、一部のバージョンの Windows では、内部で UTF-16 が使用されています。

UTF-8: 各文字は記号に応じて1~4バイトです。 

ラテンアルファベット(英語、スペイン語、ポルトガル語)- 1バイト;特殊文字やアジア言語は2~4バイト。 

また、UTF-8は現在、ウェブ、データベース、そして最新のアプリケーションで最も広く使われているエンコーディングです。  

1.3 SBCSはダブルバイト言語では機能しません。 なぜでしょうか。

SBCS(Single-Byte Character Set)は、最大256文字(1バイト= 8ビット= 2⁸= 256の可能性)を持つシステムです。 この制限内で表現できるアルファベットが小さい言語、たとえば英語、スペイン語、フランス語の場合は問題ありません。

1000 文字を使用する言語では、SBCS には 2 バイト言語のスペースが不足しています。


中国語には5万以上の文字がありますが、日常的に使われるのは3,000~5,000文字です;

日本語は漢字(中国の表意文字)とひらがな、カタカナを組み合わせており、SBCSに収めきれないほど多くの文字が必要です。 

そのため、ダブルバイト言語には適切なシステムが必要なのです。

2. 機械翻訳におけるダブルバイト言語

これらの言語には、機械が克服しなければならないいくつかの顕著な機能があります。

2.1) エンコーディングのサポート

現在利用可能な言語機械ツールの大多数は、UTF-8およびUTF-16で効率的に動作できます。これらは多用途で、非常に複雑な文字を表現できます。

UTF-8 は、英語を話す人(1 バイトを使用する)だけでなく、日本語や中国語を話す人(複数バイトを必要とする)も利用できるため、他のエンコード形式よりも受け入れられています。

これは、英語と北京語話者の国々が支配する競争の激しい世界のビジネスを考慮すると最適です。 

2.2) テキストのセグメンテーション

スペイン語やポルトガル語では、各単語を区切るためにスペースが使われており、文中の単語を分離するのが非常に簡単です。

ドイツ語や日本語では、語彙単位が区切られる単語区切りやテキストセグメンテーションは、区切りとしてのスペースが存在しないため、翻訳が行われる前に機械によって行われます。

2.3) 曖昧さと文脈

多くのアジア言語の文字は、状況に応じてさまざまな定義を持つことがあります。

例えば、中国語で「银行」、より具体的には「yínháng」は「銀行」と訳され、金融機関や川岸を意味する場合があります。

画像:著者による

最近のシステム、例えばDeepL、Google 翻訳者、Microsoft 翻訳者、そしてPapago(Naver)は、ニューラルネットワーク*を使って文脈を予測し、既存の選択肢の中から最適な文を決定します。

*人工ニューラルネットワークは、人間の脳を模倣する計算モデルです。 膨大なデータは人工ニューロン層を介して処理され、パターンを探し、事前に決められたルールの有無にかかわらず意思決定を行うことを学習します。

機械翻訳において、ニューラルネットワークは単語ごとの翻訳ではなく文全体の文脈を考慮するため、より自然で優れた翻訳を目指す私たちの目標と一致します。

2.4) 語順

言語間の文法構造の違いは大きいです…

例:

リンゴを食べます。

Japanese:「私はリンゴを食べます」(「リンゴ を 食む)

機械翻訳は、文の意味が失われないように単語を正しく並べ替える必要があります。

2.5) ネイティブイディオムの句表現の翻訳

イディオムを直接翻訳するのは難しい場合があります。

例えば: 「猿でさえ木から落ちる」は、自然に日本語の慣用句:猿も木から落ちる(「専門家でさえ間違いを犯す」)に翻訳されます。

著者による画像

3。 DBCSとMBCSは同じものですか?

ダブルバイト(DBCS)とマルチバイト(MBCS)は、互いに区別する必要があります。

ダブルバイト文字セット(DBCS) → 最初に、1文字をダブルバイトまたは16ビットで管理するエンコーディングシステムはダブルバイト文字セット(DBCS)です。

例: Big5(繁体字中国語)、Shift JIS(日本語)、EUC-JP(韓国語)

これらは、ユニコード以前のパラダイムを利用したシステムでなければなりませんでした。

マルチバイト文字セット (MBCS) → (1 文字あたり 2 バイト以上の任意のエンコーディング)

例: (UTF-8 は、1 文字あたり最大 1、2、3、または 4 バイトを使用できます)

Unicode が登場する前は、DBCS (2 バイト文字セット) は、CJK (中国語、日本語、韓国語) などの多くの D に通常使用され、1 文字あたり 2 バイトの制限がありました。

タイ語、ベトナム語、ヒンディー語、およびアラビア語 (Multi-Byte Character Set) 以外の一部の言語は、通常、この Unicode システムでエンコードされます。

UTF-8 と UTF-16 のため、DBCS は消滅しつつあり、多くの言語が「マルチバイト」として、またはそれぞれの名前(例:中国語、日本語、韓国語、スワヒリ語など)で表されるか、近い将来に表現されるようになるでしょう。

結論: ダブルバイト言語の機械翻訳では、類似点がこれまで以上に強くなっています。 今日、システムはほとんどの言語のデータを扱うことができます(2バイト以上)。

ダブルバイト言語はまだ使用されている用語であり、非常に人気がありますが、今では範囲が広くなっていることがわかっています。

4. ダブルバイト(DBCS)およびマルチバイト言語 ワールドワイド

中国語と日本語について話しましたが、含めるべきダブルバイト言語は他にもたくさんあります。 それでは、これらすべての言語を学ぶために世界中をツアーしましょう…

4.1 Older Historically Double-Byte (DBCS) Languages

DBCSは、東アジアのCJK言語(中国語、日本語、韓国語)で主に使用されています。

  • 簡体字中国語 (中国、シンガポール) – 古いエンコード: GB2312、GBK  
  • 繁体字中国語 (台湾、香港、マカオ) — 古いエンコード: Big5 
  • 日本語 – 旧エンコーディング: Shift JIS、EUC-JP
  • 韓国語 – 古いエンコーディング: EUC-KR 

これらの言語には非常に多くの文字があるため、Unicode以前のシステムではダブルバイトエンコーディングが必要です。

韓国語キーボード画像 提供:Wikimedia Commons

4.2 標準準拠 – マルチバイト(MBCS)を使用する言語

現在、これらの言語のエンコーディングシステムでは、1文字あたり2バイト、3バイト、あるいは4バイトが必要になる場合があります。 通常、これらは今日 UTF-8 または UTF-16 としてシンボル化されています。

  • 東南アジア言語:

→ ベトナム語 — ラテンアルファベットを使用し、古いエンコーディングでは 1 バイト以上かかる可能性のある多くの分音記号を使用します。

→ タイ語 – 一部の文字の組み合わせは、正しく表すために 1 バイト以上必要です。 

→ ラオス語 — (タイ語と同様に) 1 バイトで、関連するコンテキストの 1 バイト文字に適しています。 

→ クメール語 (カンボジア) – マルチバイトが必要な大きな文字セットがあります。

→ ミャンマー (ビルマ語) – マルチバイト エンコードに必要なハード文字が含まれています。

  • 南アジアの言語: 

→ ヒンディー語や他のデーヴァナーガリー系(ヒンディー語(マラーティー語)、ネパール語/サンスクリット語、タミル語、テルグ語、カンナダ語、ベンガル語、グルムキー(パンジャブ語)、グジャラート語、マラヤーラム語、シンハラ語)。

スクリプトは非常に複雑で、さまざまな組み合わせでマルチバイトエンコーディングと呼ばれる形式で表現する必要があります。

画像提供Freepik
  • Middle Eastern languages: 複数バイト

→アラビア語、ペルシャ語 – これらの言語は、多くの場合、コンテキスト化された文字エンコーディングでエンコードされます。つまり、アルファベットが比較的小さいため、コンテキストによっては同じ文字が複数のバイトで表されることがあります。

→ヘブライ語: アラビア語と同様に、エンコードに使用するものによっては、1バイト以上長くなります。

  • チベット語、グルジア語、アルメニア語: 特定のエンコーディングで取得するには、多くのバイトが必要になる場合があります。

アフリカとアメリカのほとんどのオリジナルスクリプト先住民言語(それらのほとんどが複数バイト)。

5. なぜ 機械翻訳 がダブルバイトおよびマルチバイト言語を扱うことが重要なのですか?

5.1) グローバルアクセシビリティ

中国語、日本語、韓国語など多くのアジア言語や一部の東南アジア言語にとって大きな機会です。つまり、エンコーディング要件は複数バイトです。

もし翻訳のシステムがダブルバイトやマルチバイトのエンコーディングを単語に正しく処理できない場合、エンコーディングエラー、システム障害、誤訳が発生します。


国際貿易とコミュニケーションがますます発展する中、これらの言語の翻訳を提供することは、市場拡大とより良いグローバルコミュニケーションのための重要な側面です。

深圳空港、深圳、中国画像:Andy Beales、Unsplash

5.2) 世界市場での競争力

従来翻訳が難しかった言語を高品質な機械翻訳サービスでサポートすることは、追加のユーザーの基盤を開くことにもつながります。

これはユーザーエクスペリエンスを向上させるだけでなく、さらに多くの人々が自分の言語でコンテンツを受け取り、利用できるようにします。

アジアなどの重要な市場の顧客は、機械翻訳システムがマルチバイト言語で苦労する場合に売上を失わないように保護される必要があります。

5.3) 相互運用性とデータフロー

機械翻訳は多バイト言語と正しく連携しなければ、正しい情報がマルチバイトベースの言語を持つデバイスやプラットフォームに転送できません。

この機能により、情報は元の場所やエンコーディング形式に関わらず正しく処理されるため、多言語データをグローバルなシステム(アプリケーション、ウェブサイト、データベースなど)で利用するのに役立ちます。要するに、相互運用性とデータフローによって、異なるコーディング形式を持つ異なるシステム間でも、特に多言語環境において情報を効果的に交換できるようになります。

6. 重要な Points to Conclude

二重バイト言語の機械翻訳には、セグメンテーション、文法、文脈的意味など多くの課題があります。

日本語のShift JISや繁体字中国語のBig5、韓国語のEUC-KRのような古いシステムでは、ダブルバイト文字セット(DBCS)という用語は難しい課題のようでした。

ニューラルネットワーク、ディープラーニング、自然言語処理(NLP)の登場により、文字保存システムは翻訳においてより正確に—より良く、より速くなります。 UTF-8はマークであり、これらの複数文字の言語を処理するためにシナリオを変更しました。

ダブルバイトおよびマルチバイトのサポートは機械翻訳にとって必須であり、正確性、文脈、相互運用性を確保するために不可欠です。

この機能がないことは、ほとんどの翻訳システムに悪い印象を残し、ユーザー体験を歪めるため、翻訳システムのパフォーマンスを低下させます。


したがって、最も効率的な方法は、既存の最新システムを使用してダブルバイト言語からの機械翻訳を最適化することです。

良いニュースは、私たちにはすでにそれに対するサポートがあるということです。私たちはこれらのモデルを改善し続ける必要があります。

Unlock the power of glocalization with our Translation Management System.

Unlock the power of

with our Translation Management System.

Sign up today
2倍の速さで申し分のない翻訳を実現
始めよう
私たちのオンラインイベント!
コミュニティにご参加ください

Bureau Worksを14日間無料でお試しください

未来はほんの数回のクリックで手に入ります。
今すぐ始める
最初の14日間は無料です。
世界クラスのサポート