7

2 つのクエリがあります。

    query1:你好世界
    query2:你好

PythonライブラリLevenshteinを使用してこのコードを実行すると:

from Levenshtein import distance, hamming, median
lev_edit_dist = distance(query1,query2)
print lev_edit_dist

12 という出力が得られます。問題は、値 12 がどのように導き出されるのかということです。

打数差で言えば、間違いなく12以上あるからです。

4

1 に答える 1

4

そのドキュメントによると、ユニコードをサポートしています:

通常の文字列と Unicode 文字列の両方をサポートしますが、それらを混在させることはできません。関数 (メソッド) へのすべての引数は、同じ型 (またはそのサブクラス) である必要があります。

ただし、漢字がユニコードであることを確認する必要があります。

In [1]: from Levenshtein import distance, hamming, median

In [2]: query1 = '你好世界'

In [3]: query2 = '你好'

In [4]: print distance(query1,query2)
6

In [5]: print distance(query1.decode('utf8'),query2.decode('utf8'))
2
于 2015-06-19T00:36:40.573 に答える