Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Excel 2010)
AIによるチェック
投稿日時: 20/12/30 22:08:00
投稿者: shimoichimabu

楽曲名のリストを作成しており、楽曲名はどんどん増えています。
時々、下記のような入力ミスがあります。
 
「正」:愛は永遠に続くものだ・・・・・・・@最近入力
「誤」:この愛は永遠に続くもの・・・・・・A以前に入力
 
このケースは以前に聴いた時に楽曲名を間違えて入力し、最近、同じ曲を聴いた時は正しい楽曲名を入力した。
人間は@とAの楽曲名を見た時、ひょとして、いづれかが入力ミス? 結果的には重複? しているのではと疑うことができますが、パソコンではこの判別は困難かなと思っていました。パソコンでの重複判定は完全に一致しているかそうでないかを判別するものでした。最近、AI判定という言葉を聞きますが、@とAの楽曲名は入力ミスではないかと判別し、これをリストボックスに表示したいです。多くの楽曲名の中から似たような楽曲名をリストボックスに列記したいです。
ただ、AIにて判別するロジックはさっぱりわかりません。例えば、@とAは楽曲名が90%似通っているとか(この手法が正しいかどうか不明ですが)、どの程度まで判別基準を設定すれば、いいのかもわかりません。果たしてVBAでそこそこ使用に耐えるAI判別というものが可能でしようか? かなりコードが複雑になる?
なお、英文の楽曲名もあります。

回答
投稿日時: 20/12/30 22:28:49
投稿者: simple

「文字列 類似度」などで検索して下さい。
レーベンシュタイン距離とか、いくつかの判定基準があります。
「VBA 文字列 類似度」 で検索すれば、類似度を求めるコードがあると思います。

投稿日時: 20/12/31 15:10:03
投稿者: shimoichimabu

simpleさん回答ありがとうございます。
 
検索すると、レーベンシュタイン距離とか色々でてきました。
なんとか、トライしてみます。