关键词匹配优化(第0篇)—— 问题和思路

Posted hewish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关键词匹配优化(第0篇)—— 问题和思路相关的知识,希望对你有一定的参考价值。

工作中遇到一个需求,规范人为输入的特定词汇,大概有100多个词汇。类似下面的情况(关键词比地名复杂一些)

技术图片

之前是用if else处理的,伪代码如下:

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

因为我的工作是写Excel插件的,这一百多个 else if 太影响运行效率了,而且维护起来也很不方便,增加词汇也困难。

这两天找了一些相关的知识,打算对这部分进行优化,用nlp中的tf-idf方法进行关键词相似度的计算。

整个流程大致是:在数据库中建立关键词映射表,在插件启动时读取为字典,在使用时如果查询不到,就计算相似度并上传到映射表。

以上是关于关键词匹配优化(第0篇)—— 问题和思路的主要内容,如果未能解决你的问题,请参考以下文章

片段(Java) | 机试题+算法思路+考点+代码解析 2023

JavaFX窗口拖动

OKR之剑·实战篇04:OKR执行过程优化的那些关键事

打造网络营销利器-第1篇-TDK设置实操-网站优化进阶

leetcode 30. 串联所有单词的子串----滑动窗口篇八

Python代码阅读(第40篇):通过两个列表生成字典