0

重複の可能性:
Pythonでスペルが間違っている単語と正しい単語を一致させる

次のような着信 SMS を解釈する必要があります。

ショップ名 : CITY

アニーズ ペット ショップ ニューヨーク

バズ カレルフォニア

ケルビンズ ボート ショップ サンフランシスコ

カレル ブーム ウェスト パーム ビーチ

私は都市のリストと、SMS を比較しなければならない店名のリストを持っています。店名がそこにある場合、素晴らしいです。都市がそこにある場合、完璧です。

問題は、人々はこれらのスペルを間違っているなどです。そして、コンマのような区切り文字がないため、単語がどこにあり、どこで始まり、どこで終わるかをどのように知ることができますか?

levenshtein 関数の使用を調べたところ、リスト内で最も近い一致が返されます。しかし、一致しない場合はどうなりますか?次に、ユーザーに申し訳ありませんが、あなたのSMSなどと一致するものは何もないことを伝えなければなりません.

どうやってそれを行うつもりですか?SMS キャンペーンごとにパラメータの数が異なる場合があることに注意してください。

4

3 に答える 3

0

一致するものがない場合は、SMS を手動で確認するか、自動的に SMS を返信して、ショップ/都市が認識されていないことを確認できます。そのうちの 1 つを認識した場合は、他のパラメーターを推測するためにいくつかのルールを追加できます。たとえば、都市が認識されている場合、その都市にショップが 1 つしかないかどうかを確認し、自動的に追加します...属性間にある種のセパレーターを追加することをお勧めします..たとえば、カンマを使用してSHOP, CITY

于 2012-07-20T12:37:49.163 に答える
0

1) どの種類の間違いを修正し、どのフォーマットをデータに使用できるかを決定するために必要なすべてのエラーを修正する方法はないと思います。曖昧にしすぎないでください。非常にあいまいな予測では、がらくたを有効なものと見なす可能性があり、決定パスを理解してバグを修正するのが難しくなります。

2) あいまい一致にはいくつかの方法があります。次に確認することをお勧めします: https://stackoverflow.com/questions/682367/good-python-modules-for-fuzzy-string-comparison

3) すべてのスペース改行と余分な文字を単一のスペースに置き換えます。テキストをトークン化する方が簡単です。

于 2012-07-20T12:40:14.063 に答える
0

着信 SMS の各行の後に \n がある場合は、その上で分割できます。

于 2012-07-20T12:23:41.240 に答える