Pythonでの文字列の距離や類似性
目次 1.TextDistanceのライブラリ 2.文字列の距離や類似性のアルゴリズム 2.1 編集ベース(Edit based) 2.2 トークンベース(Token based) 2.3 順序ベース(Sequence based) 2.4 圧縮ベース(Compression based) 2.5 音声ベース(Phonetic based) 2.6 シンプルアルゴリズム(Simple algorithm) 前回は距離と類似度について解説しました。今回の記事は文字列の距離や類似性を解説したいと思います。文字列類似性アルゴリズムは、ドメインに分類できます。 記事:距離と類似度の解説 1.TextDistanceのライブラリ Pythonは文字列の距離を計算するTextDistanceのライブラリがあります。TextDistanceは多くのアルゴリズムによって2つ以上のシーケンス間の距離を比較するためのPythonライブラリです。 特徴: ・30以上のアルゴリズム ・純粋なPythonの実装 ・簡単な使い方 ・比較する3つ以上のシーケンス ・一部のアルゴリズムでは、1つのクラスに複数の実装があります。 ・最高速度のためのオプションのnumpyの使用法。 ライブラリのインストール !pip install textdistance 詳細:https://pypi.org/project/textdistance/ 2.文字列の距離や類似性のアルゴリズム 2.1 編集ベース(Edit based) 編集ベースアルゴリズムは、ある文字列を別の文字列に変換するために必要な操作の数を計算しようとします。 操作の数が多いほど、2つの文字列間の類似性は低くなります。 この場合、文字列のすべてのインデックス文字に同等の重要性が与えられることに注意してください。 編集ベースアルゴリズムの一覧 Algorithm Class Functions Hamming Hamming hamming …