2011-07-26 12 views

答えて

7

これは、たとえば統計的方法を使用して可能です。英語は非常に特徴的な文字の分布を持ち、別のキャラクタ(レベル1モデルと呼ばれる)の後に登場するキャラクタの特徴的な分布を持っています。

eは、最も一般的なシンボルである場合、言語は、ヨーロッパ原産のない何かであるということはほとんどありません。

Unicode文字の値(必要に応じて文字セット間の変換)を調べることによって、そのような区別をするのはかなり簡単です(しかし、100%信頼性がないかもしれません)。 127より大きいUnicode値を持つ文字がある場合、英語はややありそうではありません(ただし、€のようなシンボルがあります)。
数千のUnicode値を持つ文字が多数ある場合、東アジア言語はますます多くなり、65535を超えるコードは中国語であることが保証されます。

+0

私たちが言語を識別/区別するすべての方法を考えるのは非常に面白いです。あなたは、同じスコアで始まり、Damonのルールに従って追加または減算してから、計算された可能性でリストの一番上を選ぶことを心配しているすべての言語から始めることができます。 –

+0

これを論理的に拡張するには、標準の1次算術(またはハフマン)圧縮器を使用して英語のテキストを圧縮し、モデルを保存します。次に、同じコンプレッサーで未知のテキストを圧縮します。それが英語の場合、モデル間の合計誤差はゼロに近づくはずです(または、モデルをベクトルと見なすならば、ドット積は1に近くなければなりません)。 – Damon

5

私の考えは、Unicodeテーブルの文字の平均位置を計算することです。中国語文字はASCIIの後に配置されているため(たとえば値127の後)、テキストが英語か中国語かを簡単に判断できます。

編集:基本的に同じDamonが追加されました。 > _>

関連する問題