Nomes de pesquisa em textos grandes
Pergunta
Qual é a melhor maneira de analisar textos grandes (5000 palavras e muito mais), pesquisando nomes, que são armazenados em um banco de dados? Os textos serão multi -lingual.
Minha primeira idéia é uma abordagem bastante ingênua, levando todas as palavras começando com uma grande carta e compará -las com o banco de dados. Mas isso tende a falhar em textos contendo apenas letras minúsculas.
EditarOs textos não são estáticos, mas dinâmicos (por exemplo, sites)
Melhor
Macs
Solução
Use os recursos de indexação de texto completo embutido do seu RDBMS.
Pesquisa de texto completo (SQL Server)
Outras dicas
Você pode usar o Algoritmo Aho-Corasick, e construa um dicionário com os nomes que você está tentando combinar. É linear no número de tokens no texto mais o número de nomes correspondentes.
Você precisará de um dicionário de nomes.
Ou você pode tentar http://www.opencalais.com/ Isso conhece uma coleção bastante grande de nomes.
Fiz um método para substituir várias cordas em um texto grande aqui: Uma maneira melhor de substituir muitas cordas - ofuscação em C#. Talvez você possa usar o mesmo princípio.