Sto scrivendo un raschietto per programmi TV e altri elementi multimediali (giochi, film, ecc.) E non tutte le fonti sono formattate allo stesso modo per un certo spettacolo. Ad esempio, una fonte potrebbe rappresentare i sottotitoli con un trattino, altri punti e virgola. Attualmente sto utilizzando la distanza di Levenshtein per confrontare i dati raschiati con i dati estratti dal nome file dello show televisivo, ma mi chiedevo se l'algoritmo fosse stato progettato per stringhe brevi meno di una frase. Esiste un algoritmo che meglio si adatta a questa esigenza?Qual è l'algoritmo di distanza stringa più adatto da utilizzare per confrontare i titoli degli spettacoli televisivi?
5
A
risposta
3
Prima della comparazione/misurazione della distanza, è necessario normalizzare (standardizzare) i titoli.
normalizzazione dovrebbe includere cose come:
- base formattazione (ad esempio la codifica UTF16, Nessun leader/spazi finali e tabulazioni)
- regole di alfabeto (ad esempio, sostituire una con A)
- Acronimo di espansione (ad esempio, NY -> New-York)
- Regole dei nomi di località (ad es. I nomi delle città non devono contenere spazi, ma trattini)
- Regole di maiuscole (es. Ogni lettera che segue un trattino deve essere in maiuscolo)
- Rimozione dei simboli (ad es. !,?)
- conversioni numerici ("trecento" a "300")
- numeri romani conversioni (ad esempio "Luigi XVI" a "Louis 16")
- non-inglese americano per l'inglese americano (ad esempio, "colore" a "colore")
- Abbreviazioni regole (ad esempio "Inc." invece di "Incorporated", "contro" invece di "contro")
È possibile utilizzare Levenshtein distanza tra le coppie di parole (Non utilizzarlo per l'intera frase), ma implementare alcune finestre scorrevoli, poiché alcune parole (ad esempio "The") potrebbero mancare da una delle rappresentazioni.
Problemi correlati
- 1. Qual è l'elemento HTML5 più adatto da utilizzare per "clear: both;" scopi?
- 2. Manipolare i titoli degli assi in ggpairs (GGally)
- 3. stringa maiuscolo per tutti i titoli a barre UINavigation
- 4. DDD è adatto per tutti i tipi di applicazione?
- 5. capitalizzazione corretta per i titoli in Python
- 6. Qual è il modo più veloce per confrontare due array di byte?
- 7. A quali attività è più adatto F #?
- 8. Scelta della dimensione/intervallo intero più adatto da utilizzare per le variabili
- 9. Qual è l'estensione di file accettata da utilizzare per i file delimitati da pipe?
- 10. È meglio utilizzare XNodeEqualityComparer o XElement.DeepEquals per confrontare oggetti xml?
- 11. DesignPatterns: qual è il più appropriato da utilizzare per un'interfaccia utente in stile procedura guidata?
- 12. java - MongoDB + Solr spettacoli
- 13. È TensorFlow adatto per i sistemi di raccomandazione
- 14. Qual è il modo corretto per confrontare una stringa con un valore enum?
- 15. uno stile bib per capitalizzare i titoli dei libri ma non i titoli di carta
- 16. È sicuro utilizzare GetHashCode per confrontare identici tipi di Anonymous?
- 17. Qual è il modo più efficace per trovare la distanza euclidea in 3d usando mysql?
- 18. Quale tipo di database NoSQL è più adatto per memorizzare i dati gerarchici?
- 19. Monotouch.Dialog è un sostituto adatto per tutte le UITableviews?
- 20. Qual è il modo più veloce per ordinare molte località sulla distanza?
- 21. Più titoli in facet_wrap (ggplot2)
- 22. Qual è il modo più veloce per confrontare le patch di un array?
- 23. Qual è il modo più semplice per utilizzare i modelli di visualizzazione dei baffi nelle guide?
- 24. Esiste un approccio idiomatico in C++ per confrontare i tipi polimorfici per l'equivalenza degli oggetti?
- 25. Qual è il modo più veloce per confrontare due array per l'uguaglianza?
- 26. Qual è il modo più rapido per confrontare le impostazioni IIS di due server?
- 27. Qual è il modo più efficiente per confrontare l'elenco di numeri interi con l'elenco di numeri interi più piccolo?
- 28. Che cosa è un più efficace separatore di titoli per scopi SEO? | oppure -
- 29. Qual è il formato della stringa di Asp.net SessionID?
- 30. È possibile utilizzare i metodi stringa "IsEmpty" in Delphi