使用Java实现关键词匹配-当前速讯
【资料图】
谁若想在困厄时得到援助,就应在平日待人以宽。一萨迪
概述:
在计算机科学领域中,关键词匹配指的是在一个文本或数据集中查找特定的单词或短语。关键词匹配可以应用于多个场景中,例如搜索引擎、垃圾邮件过滤、内容审查等。
理念:
在关键词匹配中,我们需要将关键词和待匹配的文本进行比较。最简单的方式是使用字符串匹配算法,例如暴力匹配算法
和KMP
算法。但是这些算法在处理大量文本时效率较低,因此我们需要使用更高效的算法。
场景:
例如:公众号关键词回复,在很多时候我们只要定义好大概的关键词内容,用户输入的内容携带关键词,就会返回相应的内容,大大减少了我们运营的时间,用户体验也会更好,及时的响应,只有特殊的问题需要人工处理,只要关键词匹配的够多够好,就可以替代人工的回复。
实现:
在Java中,我们可以使用正则表达式来实现关键词匹配。正则表达式是一种强大的文本处理工具,它可以用于描述字符串的模式,例如特定的字符序列、数字、空格等。Java中的正则表达式使用java.util.regex包进行支持。
//初始化数据 private static final List wordRespList = new ArrayList<>(); static { XwxKeyWordResp xwxKeyWordResp3 = new XwxKeyWordResp(); xwxKeyWordResp3.setKeyWord("查看问卷报酬,问卷报酬,微信提现,提现,红包,领红包,奖励,领取奖励,领奖,报酬,查看报酬,查看问卷奖励,问卷奖励,红包提现,数据报酬,查看数据报酬,领取报酬,领取红包,奖金,怎么领取,如何提现"); wordRespList.add(xwxKeyWordResp3); }
/** * 根据用户输入内容匹配关键词 * * @param xwxKeyWordResp:关键词内容类 * @param text :用户输入内容 * @return boolean * @author king * @date 2023/3/15 11:02 */ public static boolean textMatching(XwxKeyWordResp xwxKeyWordResp, String text) { AtomicBoolean isOk = new AtomicBoolean(false); List keywordList = Arrays.stream(xwxKeyWordResp.getKeyWord().split(",")).collect(Collectors.toList()); keywordList.forEach(keyword -> { Pattern pattern = Pattern.compile(".*" + keyword + ".*"); Matcher matcher = pattern.matcher(text); if (matcher.matches()) { isOk.set(true); } }); return isOk.get(); }
@Test void streamTextMatching() { //初始时间 long startTime = System.currentTimeMillis(); String text = "我怎么进行提现,才是最快的速度?"; List filterList = wordRespList.stream().filter(item -> textMatching(item, text)).collect(Collectors.toList()); filterList.forEach(System.out::println); //结束时间 long endTime = System.currentTimeMillis(); //打印 System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); }
测试用例:
XwxKeyWordResp{keyWord="查看问卷报酬,问卷报酬,微信提现,提现,红包,领红包,奖励,领取奖励,领奖,报酬,查看报酬,查看问卷奖励,问卷奖励,红包提现,数据报酬,查看数据报酬,领取报酬,领取红包,奖金,怎么领取,如何提现", keyWordType=null, status=null, respType=null, title="null", description="null", url="null", imgUrl="null", content="null"}程序运行时间:3ms
总结:
在这个程序中,我们首先定义了一个文本字符串和一个要匹配的关键词。然后,我们使用Pattern.compile()方法创建一个正则表达式模式,并使用Matcher类的find()方法在文本字符串中查找关键词。
流程:
关键词匹配的流程如下:
定义要匹配的文本和关键词。 创建正则表达式模式对象。 使用Matcher类的matches()方法查找关键词。 如果找到了关键词,执行相应的操作;否则执行其他操作。总之,关键词匹配是一种非常有用的技术,可以用于多个场景中。在Java中,我们可以使用正则表达式来实现关键词匹配,这是一种高效而且强大的技术。
标签:
- 使用Java实现关键词匹配-当前速讯
- 【全球独家】2023广东春季高考志愿填报辅助系统开放时间+登录入口
- 5种常用的统计学分析方法_统计分析方法
- 健身前的拉伸运动_运动前的拉伸运动
- 负氧离子空气净化器质量_负氧离子空气净化器
- 环球热门:猪八戒优点举例说明(猪八戒优点)
- 今日热门!永仁县气象台发布雷电预警信号黄色预警【Ⅲ级/较重】【2023-03-15】
- 环球微速讯:广西藤县立足资源禀赋 做大做强六堡茶产业
- 世界速讯:【科学的温度】专访雷达专家贲德院士:“十八般武艺”的雷达 你真的了解吗?
- 满江红词牌格律及格式_满江红词牌|微头条
- 直击315 | 消费者投诉:劲仔小鱼中含有异物,且厂家拒绝售后服务|天天新资讯
- 全球观速讯丨恒生中国发布2022年ESG报告 持续提升绿色金融产品与服务质量
- 广州市消委会:去年受理消费者投诉近18万件 为消费者挽回经济损失近亿元
- 当前视讯!腾讯云新用户、首单特惠、企业新用户和老用户是什么?
- 山东顶立新材料科技有限公司 快播报
- 记者:佩德里恢复和训练情况良好,很可能国家德比首发出战-焦点讯息
- 什么药能治末梢神经炎_末梢神经炎特效药
- 咬字组词_咬字组词有哪些
- 人文初祖是谁呀_人文初祖是谁 天天速看
- 2021正规个人借条范本(2020正规个人借条范本)
- 公证法律文书强制执行怎么申请
- 世界焦点!合肥电视台新闻频道节目表_合肥电视台新闻频道
- 昨天_对于昨天简单介绍|速讯
- 结束三连胜,湖人队再次跌出前十位,拉塞尔33+8+5不甘心接受失败
- 3月13日氟化盐产业链商品相关价格表
- 水浒传98版剧情简介_水浒传98版分集剧情 世界快资讯
- 快讯:塔那托斯怎么打_塔那托斯怎么得
- 韩国3月前10天出口同比降16.2%,贸易收支现近50亿美元逆差 环球速看料
- 【世界聚看点】不顾反对?库克执意今年推出第一代混合现实头戴
- 德赫亚:卡塞米罗太不走运了,裁判有时会出示红牌有时却不会_环球热议
- 【焦点热闻】青岛各区市开展植树活动 践行生态文明建设理念
- 公司解散员工应如何处理? 焦点观察
- 每日热点:浅色九分牛仔裤时髦修身,穿出雅致的高级感,曲线优美
- 医学专业介绍_医学专业简介_天天快消息
- 警惕考研“高考化”上热搜!“内卷”的医学专业什么时候停下来?
- 世说新语翻译及原文全部_世说新语言语原文及翻译
- 如何提升客单价的方法_如何提升客单价
- 全球即时看!爬墙虎好养吗_种植爬墙虎有什么危害
- 咸阳一炬是什么意思生肖_咸阳一炬是什么意思
- 安徽省合肥市发布寒潮蓝色预警 焦点信息
- 什么叫绩效工资-焦点讯息
- 天天新动态:新车扎堆上市!长安逸达开启预售,星途瑶光等车型有你看上眼的吗
- 焦点!03月11日从德宏出发到潜江的防疫政策
- 11号线花桥站
- 世界信息:中国工程机械工业协会:2月装载机销量9260台,同比增长4.26%
- 英洛华:2022年净利2.59亿元 同比增90.91%
- 九月九忆山东兄弟儿歌_九月九忆山东兄弟 当前视点
- 世界头条:一年级又什么又什么的词语大全成语(一年级又什么又什么的词语大全)
- 手臂粗怎么办怎么变细_手臂太细怎么变粗-实时焦点
- 每日精选:真没白等,大后驱豪车从27万跌到17万多,标配2.0T,还要啥凯美瑞?
- 麦当劳招聘退休人员_麦当劳改名字_今日视点
- 【世界热闻】黑猫股份3月10日盘中跌幅达5%
- 湖北十堰丹江口市总工会开展新业态女职工普法活动 环球聚看点
- 生物质颗粒锅炉环保允许吗_生物质颗粒锅炉
- 勤勉之道无他在有恒而已全文翻译道理_勤勉之道无他在有恒而已全文翻译 聚看点
- 伊朗终于让步,宣布重新接受国际原子能机构条件,或为经济所迫|当前热闻
- 每日观点:东方国信:已有技术储备,届时会推出自有类ChatGPT模型
- 啧啧啧怎么幽默的回复_啧啧啧|每日速看
- 当前最新:佳源国际:前两月合同销售金额约7.72亿元
- 新资讯:汉字的六书是指-汉字六书是什么
- 股权登记日是什么意思?怎样登记新合成
- 新加坡央行行长:全球加息周期还有很长一段路
- LOL无限火力强势英雄_lol无线火力
- 泰国潘婷感人广告_我能行 泰国潘婷公益广告_天天热点
- 全球滚动:足球加时赛还是平局怎么办_足球加时赛
- 头条焦点:报告显示:深度“悦己”已成女性消费趋势
- 世界今热点:朋友圈晒妈妈说什么好_有什么好的句子
- drwu杏仁酸怎么使用_dr wu
- 包头到贵阳火车时刻表_北京到包头的火车
- 二胎入盆时间_入盆时间
- 2022春节是哪天 2022年春节是哪一天_环球播报
- 雷笋要焯水吗 新鲜竹笋怎么处理_新鲜竹笋怎么处理
- 世界热文:诱惑
- 竞赛邀请 | 第一届青云杯IT技术挑战赛大幕揭开
- 北京香山
- 退休工资计算方式2022-2023 养老金怎么计算退休领取金额2023
- 工厂食堂菜谱怎么设计_工厂食堂菜谱 世界通讯
- 杨惠婷
- 酒精闪点是什么意思_酒精闪点的含义_新动态
- 李润东 通讯
- 路桥信息大幅下调 IPO 发行底价 前两轮问询回复被指前后矛盾
- 当前焦点!国皂零售价多少钱一块(国皂)
- 快看点丨画蛇添足这个寓言的意思是什么
- 环球资讯:全成本水价与运行水价-全成本水价和运行成本水价
- 热门:集成主板
- 2023年河南最低工资多少钱一个月?河南最低工资标准2023是多少
- 买重疾险是不是智商税?几个方面分析_全球要闻
- 干法脱硫技术
- 千人一面的意思和造句_千人一面
- 2020肇庆中考总分多少
- 今天最新消息 360放弃增资不到一个月,哪吒汽车宣布完成超30亿元D3轮融资|天天热闻
- 外长发布会|秦刚答中俄关系:世界越是动荡不安,中俄关系就越要稳步前行 世界快资讯
- 荣石
- 精炼植物油_说一说精炼植物油的简介-全球微动态
- 税额加计抵减账务处理_加计抵减账务处理|世界热资讯
- 我们体内很多必需元素都是从食物中摄取的尤其是各种维生素 焦点热讯
- 供需格局变换,油价今年重回100美元?
- 绥化市公安局
- 世界热议:hcg值多少是没有怀孕_HCG值多少是没怀孕
- 2020微信头像圣诞帽子怎么弄 全球动态
广告
广告
- 期货概念板块12月20日涨0.11%,中科金财领涨,主力资金净流入1416.93万元 动态焦点
- 确成股份: 关于回购注销部分限制性股票通知债权人的公告-天天动态
- 中国神华:99.65亿元竞得子公司锦界能源剩余30%股权|每日简讯
- 中迪投资: 中迪投资第十届董事会第十五次临时会议相关事项的独立董事意见
- 麒盛科技:公司暂未产生与卡塔尔世界杯相关业务合作
- 每日关注!异动快报:海源复材(002529)12月7日10点10分触及涨停板
- 闰秒终于要取消了!一文详解其来源及影响_环球看点
- 18分逆转!快船掀翻开拓者 鲍威尔32+4西蒙斯37分 最新资讯
- 天天速递!大牛证券&#129商贸零售:11 月培育钻石进口额环比回暖
- 同在一个群,就如一家人!物流不畅,群友爱心接力送药
- 宁波银行: 宁波银行股份有限公司第七届董事会第十二次会议决议公告
- 天天动态:酒店及餐饮板块下挫 西安旅游跌超7%
- 定增热!私募基金参与上市公司定增需关注哪些要点?
- 巴比食品(605338)12月15日主力资金净卖出660.52万元
- 环球微资讯!加量价不变,央行12月续做6500亿元MLF呵护流动性
- 借条借款利息怎么计算
- 娄底轻微工伤赔偿标准|环球通讯
- 【机构调研记录】惠升基金调研南网科技、龙磁科技 每日播报
- 濮耐股份(002225.SZ):中标12.48亿元八一钢铁炼钢耐材整体承包项目
- 创业环保董秘回复:公司内部有严格的合规法务系统,业务合同的签署一般按照公司内网审核+纸板签署盖章|全球独家