さらに、ロシア、ウクライナ、カザフスタン、ベラルーシの地図は現在、Yandexが完全に所有しています。
このサービスは単一のプラットフォームで動作するようになり、任意の量のデータを維持して独立して更新できるようになりました。 ロシア、ウクライナ、ベラルーシ、カザフスタンの地図は、Yandexの地図製作者によって毎月更新されます。 YandexのパートナーであるNavteqが計画を策定している他のすべての国は、3か月ごとに変更されます。

Navteqの最も詳細な部分はヨーロッパと北米で作られています。都市のすべての主要な通りと家屋、およびサービスが車のルートを構築できる詳細な道路網があります。
一部の言語(タイ語やアラビア語など)では元のアルファベットが使用されていましたが、Navteqマップのほとんどの地名はラテン語で書かれていました。 ユーザーがナビゲートしやすくするために、Yandexは自動的に都市の外国名と人気のある観光地をロシア語に翻訳しました。 37の言語から、237か国から700万を超える地名を翻訳するという課題に直面しました。
この投稿では、翻訳方法の選択方法と実際の使用方法について詳しく説明します。
今日のニュースは1年半の仕事の結果です。 データプロバイダーのみに依存することは間違っていること、そして独自のカードが必要であることを長い間認識していました。 最初はモスクワで、2011年に地図製作者によって描かれました。 現在、ロシア、ウクライナ、ベラルーシ、カザフスタンの詳細な地図があります。 これらは、ユーザーが国境を「横断」するのに便利なように、パートナーのその他の国の詳細な地図と組み合わされています。 国のスキームを組み合わせるだけでなく、すべての世界地図データのストレージと高速処理を整理する必要があったため、サービスのコアを完全に書き直しました。 さらに、電子カードは頻繁に更新することが非常に重要であり、市場にある既存のプログラムがボリュームを圧倒することはできないため、カードをすばやく変更するための独自のソフトウェアを作成しました。 Yandexは現在、まったく新しいレベルのマッピング会社です。
まず、世界地図上の地名を翻訳するために、ウィキペディアを使用することにしました。これは、正確な座標を持つ集落に関する記事が多数あるためです。 ロシア語で同等の記事のタイトルを取得し、必要な翻訳を取得する必要がありました。 本当にたくさんの記事がありましたが、私たちのニーズのためにそれは完全に不十分でした。 この道をたどると、トポニムの5〜7%しかカバーできませんでした。 問題は独立してしか解決できないことが明らかになりました。 使用する言語ごとにトランスクリプションルールを作成します。 もちろん、言語学者はこの問題を長い間解決してきました;外国語の教科書はすべて読み規則から始まります。 ただし、これらのルールは個人向けに設計されているため、マシンがルールを使用できるように準備する必要がありました。 そして、これはそれほど単純ではありません。 さらに、ほとんどすべてのルールには例外があり、これも手動で検討および追跡する必要がありました。 多くの地名の定評のある翻訳オプションを忘れないでください。 たとえば、転写の規則に従って、フランス語のパリをロシア語に翻訳すると、「パリ」が得られます。 しかし、ロシアのこの都市には、もう1つの歴史的に確立された名前、パリがあります。

ハドソン川についても同じことが言えます。 英語では、この名前はハドソンと綴られています。 有名なハドソン夫人の名前のように-シャーロックホームズの女将。 スペル「ハドソン」は音声変換(転写)の例であり、歴史的な「ハドソン」は、音訳-文字ごとの転送によって得られました。 また、表音語の翻訳では表音転送が常に使用されるとは限らなかったため、このような例が多数あります。 さらに、場合によっては、同じ領域に住んでいる他の人々から名前が付けられているため、トポニムはこの分野で最も一般的な言語を読む規則に従わないことがあります。

どのように翻訳しましたか
そのため、世界地図全体をカバーするために、37の言語(およびさまざまなオプションと方言)の文字変換ルールをコンピューターに優しい形式に変換する必要がありました。 ルールはコンテキストを考慮しなければなりませんでした。結局のところ、特定の文字や音節を読むためのルールは、単語間のリンクまで、周りにあるものに非常によく依存します。
ルールが定式化されると、すべてのルールとコンテキストを考慮して、渡されたすべての行を転写するPerlスクリプトが作成されます。 まず、ソースワードをセグメント(隣接する文字のグループ)に分割します。母音と子音の個々のシーケンスです。 次に、各セグメントについて、最も可能性の高い転写バリアントが選択されます。 当然、これはコンテキストを考慮に入れます:どのセグメントが復号化された領域の左右に位置するか。
マーキングには次の記号が使用されます。
- - $ - ^ - * - « », // -
:
(0.95) *(0.03) (0.01) (0.01) // (^)r => (0.99) (0.01) // 1, ^ - r(eu) => (1.00) // 1 r(eu l) => (1.00) // 2
eu => (0.39) (0.21) (0.16) (0.14) (0.10) (r)eu => (0.55) (0.18) (0.17) (0.10) (0.10) eu(l) => (0.45) (0.30) (0.20) (0.05) (^ r)eu => (0.25) (0.25) (0.17) (0.17) (0.16) eu(l eau) => (1.00) l => (0.86) (0.13) *(0.01) (eu)l => (0.80) (0.20) l(eau) => (1.00) (r eu)l => (0.50) (0.50) // 2 l(eau x) => (1.00) eau => (0.95) (0.02) (0.01) (0.01) (0.01) (l)eau => (0.86) (0.14) eau(x) => (1.00) (eu l)eau => (1.00) eau(x $) => (1.00) x => (0.52) *(0.24) (0.21) (0.03) (eau)x => *(1.00) x($) => *(0.59) (0.38) (0.02) (0.01) // 1, (l eau)x => *(1.00)
:
[r eu l eau x] => [ *] //
. , .
. . , . , . 70 . 20 000 . .
, , Navteq . , .
. , . , . , . , « » « ». , .

, . , .
?
- , -. , , . , . , , , , .. . .