1

Base64 文字でいっぱいのさまざまな長さの文字列があります。実は音声認識データで、曲ごとに異なります。

これらの文字列の一部を簡単に比較するために、それらを 16 文字の部分文字列に分割します。(これは曲の約 1 秒です)しかし、場合によっては、これらを直接比較することはできません..私はそれらを測定する必要があります.

たとえば、' ' と ' ' との比較は、' hellohellohelloo'と ' ' の比較hallohellohellooよりも近い値を取得する必要があります。hellohellohellooherehellohelloo

アルゴリズムや理論はありますか


編集:申し訳ありませんが、私はここにいるのは初めてです:)そして、私は自分自身を明確にすることができませんでした。ここに私を明確にし、アイデアを提案するいくつかのコメントがあります。

コメント 1:

実際、私はレーベンシュタイン距離について知っていますが、問題は、2 つの文字列を比較するたびに比較行列を作成する必要があり、検索プロセスが遅くなることです。たとえば、hello を 4444 に変換し、hallo を 4443 に変換できれば、数値のインデックスを作成するだけで、「hello」のレコードがどれだけ近いかを判断できます。

コメント 2:

たぶん、基本の固定長文字列を決定し、それらからの距離値を文字列のインデックス値として保存する必要があります。それはただのアイデアですか?

4

2 に答える 2

0

レーベンシュタインの距離はおそらくあなたを助けるでしょう: http://en.wikipedia.org/wiki/Levenshtein_distance

通常はかなり高速で、ほとんどの最新言語にも実装があります。

于 2009-07-24T12:18:03.397 に答える
0

レーベンシュタイン距離が役に立つかもしれません。ウィキペディアの編集距離の概要も参照してください。

于 2009-07-24T12:19:06.797 に答える