テキストからアクセントを削除する方法 (および削除する理由)
アクセントを削除すると、á、é、ñ、ç、ü などの文字が、単純な形式の a、e、n、c、u に変換されます。これはニッチなニーズのように聞こえますが、システム間でデータを移動する必要がある瞬間に常に発生し、それを正しく行うかどうかが、機能するユーザー名とシステムが拒否するユーザー名の違いになります。ここでは、それが必要な場合とその仕組みを説明します。
アクセントを取り除きたいとき
共通トリガーは、基本的な ASCII 文字のみを受け入れるシステムです。人の名前からユーザー名または電子メール アドレスを生成すると、José は jose になります。アクセント付きのタイトルから URL スラッグを作成します。非 ASCII 文字でエラーが発生するレガシー データベース用のデータを準備しています。 Windows、Mac、Linux 上で動作するファイル名を生成します。 「Jose」の検索が「José」として保存されているレコードと一致するように検索語を正規化します。これらすべてにおいて、単語は完全に読みやすいままです。発音区別符号のみが削除されます。
アクセント除去の仕組み
内部では、アクセント付きの各文字が 2 つの部分、つまり基本文字と個別の結合記号に分解されます。 é は e に鋭アクセント記号を加えたものになります。その後、マークは破棄され、基本文字だけが残ります。テキスト内の他のものを邪魔することなく、カフェがカフェになり、ピニャータがピニャータになるのはこのためです。多くの言語のアクセントを 1 回のパスで処理するため、文字ごとの検索と置換ではなく信頼性が高くなります。
対応する言語
この技術は、ラテン語ベースの言語、スペイン語、ポルトガル語、フランス語、ドイツ語、イタリア語などで機能し、アクセント付き文字が基本文字と記号にきれいに分解されます。一般的なヨーロッパの発音記号の全範囲を処理します。中国語、日本語、アラビア語、キリル文字などの非ラテン文字は、この方法ではラテン語の基本文字に分解されないことに注意してください。そのため、このツールはラテン語ベースのテキストに最も役立ちます。これらのスクリプトの場合、音訳は別のより困難な問題になります。
アクセント、検索、データマッチング
最も価値のある用途の 1 つは、検索とマッチングを寛容にすることです。データベースに「São Paulo」が格納されているのに、ユーザーが「Sao Paulo」と入力した場合、両方を同じアクセントのない形式に正規化しない限り、それらは一致しません。同じ問題は、アクセント付きとアクセントなしの両方で同じ名前が表示されるリストの重複を排除するときに発生します。完全一致ツールでは、それらは異なるエントリのように見えます。比較前にアクセントを削除すると、これらのほぼ重複したものが完全一致に変わります。これは、クリーンなデータと信頼性の高い検索に不可欠です。これは、あらゆるクラスのバグを静かに防ぐ小さな正規化ステップです。
アクセントを削除してはいけない場合についての簡単なメモ
アクセントには意味があるため、正確さが重要な人間が読むことを目的としたテキスト、正式な文書内の人の名前、出版された散文、または「José」を「Jose」と訳すと間違っていたり失礼になるようなものからアクセントを削除しないでください。アクセントの削除は、ユーザー名、URL、マッチング、およびレガシー システムの技術的な正規化であり、完成したコンテンツを編集するための選択肢ではありません。アクセント付きのオリジナルを表示用に保存し、必要なマシンに面したタスクには、ストリップされたバージョンを使用します。