Edit/Levenstein 距離を使用して、単語間の類似性を測定しています。最も単純な実装とは異なり、私の手紙にはタイム スタンプがあり、サンプル番号 N=0,1,2,... としましょう。
私が直面している問題は、コスト マトリックスに沿って、同じ (最小) コストで終わるさまざまなパスを取得できることです。これらのさまざまなパスは、さまざまなターゲット文字列に関連付けられています。たとえば、ソース文字列aa
とターゲット文字列の間の距離を測定しbab
、ソース文字列がタイム スタンプ N=0 で始まると仮定すると、同じコスト 2 (1 つの追加と 1 つの置換) を持つ 2 つのパスがあります。
b
N=-1 で加算し、1 番目はそのままにして、2 番目を にa
置き換えます。a
b
- 1 番目
a
をb
に置き換え、2 番目はそのままにして、N=2 でa
追加します。b
時系列で並べると、次の 2 つの結果は異なります。
Time: ... -1 0 1 2 3 ...
Source: a a
Target1: b a b
Target2: b a b
それがいつ起こるかを知る必要があるので、いくつかの基準に基づいて 2 つの可能なターゲットから選択できます。途中でパスをトレースし、最小コストにつながるすべての可能なパスを追跡する以外に他の方法はありますか?
そもそもタイムラインはモデルの一部であるため、代わりにダイナミック タイム ワープを使用することを検討しましたが、コスト マトリックスが無限に初期化されているため ([0,0] エントリを除く)、最初のステップは、常にターゲットの最初のフレームをソースの最初のフレームに一致させ、その結果、ターゲットはソースと同じタイムスタンプで開始されます。とにかく、DTW を使用して、同じ最小コストにつながるすべてのパスをトレースする必要があります。
どんな助けや洞察も歓迎します。