以下内容,并未得到实质检测。因为笔者没有用到相关的需求,只是一时兴起,按照自己的思路探究了一下。并未考虑什么付费排名,词语优先级,搜索量排名,时效性等等的因素。娱乐一下呗,可能会被真正做过此类搜索的大神笑话,担待自己瞎想的。

二、简单算法分词匹配:

/**简单算法之* 拆分用户输入框输入的语句,进行最大化匹配查询* @param str:用户输入的查询内容* Red_Ant 20181124*/
public static final String PUTUATION = "。,、':∶;?‘’“”〝〞ˆˇ﹕︰﹔﹖﹑·¨….¸;!´?!~—ˉ|‖"〃`@﹫¡¿﹏﹋﹌︴々﹟#﹩$﹠&﹪%*﹡﹢﹦﹤‐ ̄¯―﹨ˆ˜﹍﹎+=<­­__-\\ˇ~﹉﹊()〈〉‹›﹛﹜『』〖〗[]《》〔〕{}「」【】︵︷︿︹︽_﹁﹃︻︶︸﹀︺︾ˉ﹂﹄︼";
public static List<String> dealInputStr(String str) {/*我们输入内容进行查询之后,总会有一些优先显示在最前面(付费排名的除外)* 假设,查出的最终结果是String类型的*///1、创建存储最终结果的集合List<String> resultLst = new ArrayList<String>();//2、优先级最高的就是,把用户输入的内容看做一个整体查出的内容List<String> strLst = selectStrFromDataBase(str);//从相应的库中查询,内容。方法不同,此处略!if(strLst.size() > 0) {resultLst.addAll(strLst);}//3、接着我们利用,用户输入中的标点,将输入语句分割成不同的str【以常用标点为例】//笔者又想到,标点也有许多区别,和优先之分。算啦,不做深究了。String[] strs = str.split("");int strsLength = strs.length;List<Integer> num = new ArrayList<Integer>();for (int i = 0; i < strsLength; i++) {if(PUTUATION.contains(strs[i])) {num.add(i);}}//将输入语句,按照标点的位置进行分词int j = 0;//存储截取字符串位置/*用于存储,标点分词之后的结果* 然后依照此结果进行细胞分词*/String ss;List<String> pttstrLst = new ArrayList<String>();for (int i = 0; i < num.size(); i++) {if(i == num.size()-1) {ss = str.substring(j);}else {ss = str.substring(j, num.get(i));}pttstrLst.add(ss);strLst = selectStrFromDataBase(ss);if(strLst.size() > 0) {resultLst.addAll(strLst);}j = num.get(i) + 1;}/*4、将标点分词后的结果进行细胞分词* 利用字符字数逐步-1,的左右相邻截取方式,将分词后的内容,分别匹配细胞词库* 每减少一n字,或有n+1种可能,直到只剩两个字为止。*/String ss1;for (int i = 0; i < pttstrLst.size(); i++) {//jugeWord(String str),查询数据库的方法略!ss = pttstrLst.get(i);int len = ss.length() - 2;int s = 0;int strlen = ss.length();while (len > 1) {int len1 = strlen - 2;while (len1 < strlen-1) {ss1 = ss.substring(s, len1);if(!jugeWord(ss1)) {strLst = selectStrFromDataBase(ss1);if(strLst.size() > 0) {resultLst.addAll(strLst);}}s++;len1++;}len--;}}return resultLst;
}

【注意】
以上方法并未在真实场景中的应用,还有许多未考虑的因素,笔者想若此方法行的通的话,还有许多值得考虑和优化的地方。

转载于:https://blog.51cto.com/13479739/2321591

算法之智能搜索(下)相关推荐

  1. 百度智能搜索到底有多智能?

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI u1s1是什么意思?干饭人又是个啥? 当在北戴河阿那亚的剧场里被突然问到类似稀奇古怪的问题,一时发懵的我只想当场掏出手机,给对方来个&quo ...

  2. 一类新算法研究智能飞行器航迹规划问题

    一类新算法研究智能飞行器航迹规划问题 人工智能技术与咨询 2022-03-11 18:29 来源:< 应用数学进展> ,作者傅维晨等 关键词: 航迹规划:多约束:改进的A*算法:时空复杂度 ...

  3. SaaS:新智能背景下重构各个领域的生态系统

    2019独角兽企业重金招聘Python工程师标准>>> 全球金融风波直接影响着国际厂商中国合作模式的激变,外企"生态"战略已全面布局. "生态" ...

  4. 百度智能搜索跨入万亿服务赛道

    今年的万象大会说了什么?我们大概可以提炼成四个关键词:智能搜索持续进化.X+Y纵横布局.三大支柱.两大战略. 万象大会是什么?一定程度上你可以理解为百度移动生态的风向标. 比如随着去年5月,百度集团执 ...

  5. 虎博科技服务的恒泰证券智能搜索项目获IDC金融行业技术应用场景创新突破奖

    近日,在国际数据公司IDC (International Data Corporation)主办的"2021 IDC中国数字金融论坛"上,IDC正式公布了中国金融行业技术应用场景创 ...

  6. 电商行业智能搜索技术原理全解析

    简介: 对于电商平台来说,智能搜索功能是至关重要的.本文剖析电商行业的搜索专属特点和业务需求,并介绍开放搜索提供的[电商行业模板]智能搜索能力,希望带给企业更多提升业务转化的思路和解决方案~ 一.搜索 ...

  7. 亚马逊云科技基于智能搜索,为企业打造知识库

    知识库需求在各行各业中普遍存在,例如制造业中历史故障知识库.游戏社区平台的内容知识库.电商的商品推荐知识库和医疗健康领域的挂号推荐知识库系统等.亚马逊云科技为保证推荐系统的时效性和准确性,需要大量的数 ...

  8. 春风十里,不如淘宝遇见你——浸润深度学习的淘宝智能搜索

    以下内容根据演讲PPT及现场分享整理. 淘宝搜索相当于带有Query的推荐系统,不同于网页搜索,每天都会面临大量的数据信息,想要从上千万的相关商品中挑出与用户更匹配的商品,提高流量效率(点击率.转化率 ...

  9. AI:2020年6月23日北京智源大会演讲分享之智能信息检索与挖掘专题论坛——09:10-09:55裴健教授《智能搜索:从工具到思维方式和心智》

    AI:2020年6月23日北京智源大会演讲分享之智能信息检索与挖掘专题论坛--09:10-09:55裴健教授<智能搜索:从工具到思维方式和心智> 导读:首先感谢北京智源大会进行主题演讲的各 ...

最新文章

  1. Java常用命令及Java Dump
  2. PDF页眉页脚怎么设置
  3. 07/11/10 资料整理
  4. python暂停和恢复_Scrapy如何暂停/恢复工作?
  5. docker学习3-虚拟网络模式
  6. 数据库工具DBeaver
  7. 常见拓展名--的含义(扩宽知识面)
  8. 速卖通关键词挖掘工具_谷歌优化关键词挖掘工具大全
  9. 双硬盘安装双系统详解
  10. 定期报告系统服务器出错 1,做好Web服务器的日常维护必备常识
  11. 【论文复现】CBAM(2018)
  12. 华为服务器批量BMC修改密码,华为服务器批量修改bmc地址
  13. 日本图书馆有哪些地方
  14. 问题:启动tomcat报找不到JAVA_HOME或者JRE_HOME环境变量的问题
  15. ios html mainfest,编写高性能的 iOS HybridApp
  16. Linux基础题库整理(选择,填空,简答)
  17. 【荣誉历史】---归来仍是少年
  18. 基于STC8G2K64S4单片机使用幻尔舵机控制板
  19. Guess Number(Java版)
  20. 墨刀导出只有一个html文件,墨刀免费版,一个项目最多可以创建几个页面

热门文章

  1. C#中获取当前时间字符串给文件命名防止重复
  2. Webservice入门教程_用CXF编写基于Spring的WebService
  3. SSM实现根据后台控制禁用select
  4. Chrome浏览器插件新建标签页插件Momentum
  5. java类是如何加载的?不知道classLoader和双亲委派,不是一个合格的程序员
  6. 「博客之星」评选,诚信的互投啊,留链定回
  7. AndroidStudio创建第一个 Flutter 应用程序
  8. linux子系统使用rstudio,Windows 10 Linux子系统 (wsl)学习手记
  9. 年入近1亿,曾被20家VC拒绝,如今电商是他大客户,数据处处有黄金
  10. 蓝色巨人的硬件业务:存储营收或将下滑