zoukankan      html  css  js  c++  java
  • 关键词匹配优化(第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方法进行关键词相似度的计算。

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

  • 相关阅读:
    oracle取字符串长度的函数length()和hengthb()
    文件操作
    numpy 库使用
    numpy 与 matplotlib 的应用过程
    使用numpy与matplotlib.pyplot画图
    面向对象的解读
    Python PIL
    Note of Jieba
    python 游戏 —— 汉诺塔(Hanoita)
    有进度条圆周率Π计算
  • 原文地址:https://www.cnblogs.com/hewish/p/12682880.html
Copyright © 2011-2022 走看看