テクノロジー

ダブルバイト言語に適応する機械翻訳

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

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

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

これは、これらの言語が大きな文字セットを持っているため、シングルバイト(8ビット)エンコーディングシステムよりも多くのスペースを必要とするためです。

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

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

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

この記事の詳細を見て、このエンコーディングの違いが機械翻訳にどのように関係しているかに焦点を当てましょう!

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

UTF(Unicode Transformation Format)の発明により、エンコーディングプロセスは容易になりました。

1.1) Unicodeが普及する前に登場したシステム – DBCS (Double-Byte Character Set) 

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

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

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

Image by Wikimedia Commons

 

1.2) Advanced システム: 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 は 2 バイト言語では機能しません。 なぜですか。

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

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


中国語には50,000以上の文字がありますが、そのうち3,000~5,000が日常的に使用されています。

日本語は漢字(中国の表意文字)とひらがな、カタカナを組み合わせており、SBCSが含むことができる文字数をはるかに超えています。

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

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

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

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

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

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

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

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

スペイン語またはポルトガル語では、各単語をセグメント化するためにスペースが使用され、文中の単語の分離が非常に簡単になります。

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

2.3) 曖昧さと文脈

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

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

Image by author

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

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

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

2.4) 語順

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

例:

リンゴを食べます。

Japanese:「I apple eat」 (「リンゴ を 食む)

機械翻訳 has to rearrange words properly so that the meaning of the sentence is not lost.

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

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

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

著者による画像

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

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

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

例: Big5 (Traditional Chinese)、Shift JIS (Japanese)、EUC-JP(Korean)

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

マルチバイト文字セット (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 歴史的に古いダブルバイト文字セット (DBCS) 言語

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

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

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

Korean keyboardImage by Wikimedia Commons

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

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

  • 東南アジア言語:

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

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

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

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

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

  • 南アジアの言語: 

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

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

画像提供Freepik
  • 中東の言語: 複数バイト

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

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

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

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

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

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

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

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


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

Shenzhen Airport, Shenzhen, ChinaImage by Andy Beales in Unsplash

5.2) 世界市場での競争力

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

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

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

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

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

この能力により、情報が正しく処理されるようになり、元の場所やエンコーディングの形式に関係なく、アプリケーション、ウェブサイト、データベースなどのグローバルなシステム内で多言語データを使用するのに役立ちます。要するに、相互運用性とデータフローは、異なるコーディング形式を持つ異なるシステムが、特に多言語の文脈で効果的に情報を交換できることを保証します。

6. 重要な Points to Conclude

There are many challenges in 機械翻訳 for Double-byte languages, such as segmentation, grammar, and contextual meanings.

日本語の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
Thalita Lima
photography | writing | communication for socio-environmental impact | art
2倍の速さで申し分のない翻訳を実現
始めよう
私たちのオンラインイベント!
コミュニティにご参加ください

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

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