Otimização de correspondência de palavras-chave (parte 0) - problemas e idéias

Eu encontrei um requisito no meu trabalho para regular a entrada de vocabulário específico por seres humanos, provavelmente há mais de 100 vocabulários. Semelhante à seguinte situação (as palavras-chave são mais complicadas que os nomes de lugares)

Ele foi tratado com se, antes, o pseudo-código é o seguinte:

string TempStr;
if(TempStr.Contains("海淀") && TempStr.Contains("北京") )
{
    return "北京市海淀区";
}
else if(TempStr.Contains("山东") && TempStr.Contains("威海") )
{
    return "山东省威海市";
}
……//等等一共两百多个else,内容也比较复杂,甚至还有正则匹配之类的
else
{
    return "匹配失败";
}

Como meu trabalho é escrever um plug-in do Excel, isso é mais do que cem, se afeta também a eficiência operacional, e também é muito inconveniente para manter e difícil adicionar vocabulário.

Nos últimos dois dias, encontrei algum conhecimento relevante e planejo otimizar esta parte.Uso o método tf-idf na PNL para calcular a similaridade da palavra-chave.

Todo o processo é basicamente: criando uma tabela de mapeamento de palavras-chave no banco de dados, lendo-a como um dicionário quando o plug-in é iniciado e calculando a similaridade e fazendo o upload para a tabela de mapeamento se a consulta não estiver disponível durante o uso.

Acho que você gosta

Origin www.cnblogs.com/hewish/p/12682880.html
Recomendado
Clasificación