nomi di ricerca in grandi testi
Domanda
Qual è il modo migliore per analizzare grandi testi (5000 parole e più), la ricerca i nomi, che vengono memorizzati in un database? I testi saranno multilingue.
La mia prima idea è un approccio piuttosto ingenuo, prendendo tutte le parole che iniziano con una grande lettera e li confronta con il database. Ma questo tende a fallire nei testi che contengono le lettere minuscole solo.
Modifica I testi non sono statici, ma dinamici (per esempio siti web)
Best
Mac
Soluzione
Usa il tuo RDBMS di built-in capacità di indicizzazione full-text.
ricerca full-text (SQL Server)
Altri suggerimenti
È possibile utilizzare il Aho-Corasick algoritmo , e costruire un dizionario con la nomi che si sta tentando di abbinare. E 'lineare nel numero di gettoni nel testo più il numero di nomi corrispondenti.
Avrete bisogno di un dizionario dei nomi.
Oppure si può provare http://www.opencalais.com/ che conosce una grande collezione abbastanza di nomi.
Ho fatto un metodo per sostituire stringhe multiple in un grande testo qui: Un modo migliore per sostituire molte stringhe - offuscamento in C # . Forse è possibile utilizzare lo stesso principio.