Optimización de concordancia de palabras clave (Parte 0): problemas e ideas

Encontré un requisito en mi trabajo para regular la entrada de vocabulario específico de los humanos, probablemente hay más de 100 vocabulario. Similar a la siguiente situación (las palabras clave son más complicadas que los nombres de lugares)

Se manejó con if else antes, el pseudocódigo es el siguiente:

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

Debido a que mi trabajo es escribir un complemento de Excel, esto es más de cien si también afecta la eficiencia operativa, y también es muy incómodo de mantener y difícil de agregar vocabulario.

En los últimos dos días, he encontrado algunos conocimientos relevantes y planeo optimizar esta parte. Utilizo el método tf-idf en nlp para calcular la similitud de palabras clave.

El proceso completo es más o menos: crear una tabla de asignación de palabras clave en la base de datos, leerla como un diccionario cuando se inicia el complemento, y calcular la similitud y cargarla en la tabla de asignación si la consulta no está disponible durante el uso.

Supongo que te gusta

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