ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列の類似性を確率として計算するにはどうすればよいですか?

Python で文字列の類似性を確率として計算するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-03 03:52:10488ブラウズ

How Can I Calculate String Similarity as a Probability in Python?

Python の標準ライブラリを使用した文字列の類似性の測定

2 つの文字列間の類似性を定量化することは、さまざまなアプリケーションにおいて貴重なタスクです。 Python は、この目的に便利なソリューションを提供する標準ライブラリを提供しています。

問題:

Python で文字列が別の文字列に類似する確率をどのように判断できますか? ?類似性レベルを表すために、0.9 (90%) などの 10 進数値を取得することを目指しています。

解決策:

Python の difflib モジュールには、SequenceMatcher クラスが含まれています。これにより、文字列の類似性の計算が容易になります。このクラスの rate() メソッドは、[0, 1] の範囲の 10 進数値を返します。0 は類似性がないことを示し、1 は完全な類似性を示します。

実装:

from difflib import SequenceMatcher

def similar(a, b):
    return SequenceMatcher(None, a, b).ratio()

例使用法:

>>> similar("Apple", "Appel")
0.8
>>> similar("Apple", "Mango")
0.0

これらの例は、「Apple」と「Appel」のスペルが近いため、類似性スコア (0.8) が高いのに対し、「Apple」と「Mango」の類似性スコアは低いことを示しています。非常に異なるため、類似性スコア (0.0)。

以上がPython で文字列の類似性を確率として計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。