使用Java实现关键词匹配 - 综合 -

当前位置:首页  >  综合  > 正文

使用Java实现关键词匹配

使用Java实现关键词匹配
2023-03-15 18:01:38 来源:腾讯云


(资料图片仅供参考)

谁若想在困厄时得到援助,就应在平日待人以宽。一萨迪

概述:

在计算机科学领域中,关键词匹配指的是在一个文本或数据集中查找特定的单词或短语。关键词匹配可以应用于多个场景中,例如搜索引擎、垃圾邮件过滤、内容审查等。

理念:

在关键词匹配中,我们需要将关键词和待匹配的文本进行比较。最简单的方式是使用字符串匹配算法,例如暴力匹配算法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中,我们可以使用正则表达式来实现关键词匹配,这是一种高效而且强大的技术。

标签:

(责任编辑:news01)
怎么买房子全步骤

怎么买房子全步骤

1、买前准备。确定购房目的并且前往银行制定预先批准的信贷计划,选择一位经验丰富、服务周到的房地产经...
03-08 09:22:49
东至二中_环球讯息

东至二中_环球讯息

1、东至县第二中学(DongZhiCountyNo 2MiddleSchool)地处皖南北麓肥沃的舜耕之地,古老
03-08 06:21:01
江西省个人社保查询官网(江西省个人社保查询)

江西省个人社保查询官网(江西省个人社保查询)

1、南昌社保明细查询方式:(一)登录人力资源和社会保障局,在首页,根据个人社保号查询个人社保账户基本...
03-08 02:08:56
中医康复保健 今日关注

中医康复保健 今日关注

1、《中医康复保健》由黄岩松编着,天津大学出版社于2009年出版。2、为高职高专院校老年服务与管理、社...
03-07 22:23:32
每日速看!香坊区开展全国两会期间出版物市场专项整治行动

每日速看!香坊区开展全国两会期间出版物市场专项整治行动

香坊区开展全国两会期间出版物市场专项整治行动
03-07 22:19:18
【全球速看料】豪森股份定增方案获受理 拟投向锂电池及驱动电机智能装备项目

【全球速看料】豪森股份定增方案获受理 拟投向锂电池及驱动电机智能装备项目

3月7日晚,豪森股份披露公告,公司向特定对象发行股票方案已经获得上交所受理。据了解,本次募集资金将...
03-07 19:41:47
华储

华储

1、华储集团正式成立于2002年,集团旗下拥有北京华储物流有限公司、华储教育培训有限公司、华储科技网络...
03-07 19:26:17
2023年3月北京房山农业综合执法大队招聘怎么报名? 全球讯息

2023年3月北京房山农业综合执法大队招聘怎么报名? 全球讯息

房山区农业综合执法大队2023年度上半年公开招聘动物疫病防控员报名方式报名方式:现场报名报名时间:202...
03-07 17:27:08
唐僧肉是什么 天天聚看点

唐僧肉是什么 天天聚看点

唐僧肉词语出自《西游记》,在小说《西游记》中,唐僧肉被认为食用后可以长生不老,故被各种妖怪垂涎。...
03-07 06:21:11
焦点热议:华瑞服装(EVK.US)3月6日收盘报0.29美元/股

焦点热议:华瑞服装(EVK.US)3月6日收盘报0.29美元/股

截至2023年3月6日(美国东部时间)收盘,华瑞服装(EVK US)报收于0 29美元 股,上涨0 0%,成交量0 0股。
03-07 05:51:14
四川有哪些三本院校-全球热头条

四川有哪些三本院校-全球热头条

四川三本院校较多,部分如下:1、电子科技大学成都学院,创建于2001年,位于四川省成都市成都高新技术产...
03-06 22:51:00
环球观速讯丨炉石传说布莱恩铜须怎么获得

环球观速讯丨炉石传说布莱恩铜须怎么获得

炉石传说布莱恩铜须步骤如下:1、打开炉石传说的游戏。2、进入主界面,在四个模式中选择冒险模式。3、进...
03-06 13:11:52
全球百事通!童话故事,50字_童话小故事50字

全球百事通!童话故事,50字_童话小故事50字

1、丑小鸭一出生就很丑,在鸡鸭群中他处处遭排斥,被嘲笑,大家都不喜欢它,连它的兄弟姐妹也讨厌它,喂...
03-05 16:27:41
【环球聚看点】上海实施10项举措,推动本市残疾人就业支持体系进一步完善

【环球聚看点】上海实施10项举措,推动本市残疾人就业支持体系进一步完善

为推动本市残疾人就业支持体系进一步完善,市政府办公厅近日发布《上海市促进残疾人就业行动方案(2023-...
03-05 15:49:57
全球球精选!移动手机号的邮箱是什么格式_邮箱是什么格式

全球球精选!移动手机号的邮箱是什么格式_邮箱是什么格式

1、电子邮箱地址的格式通常为:username@domain com(即:用户名@主机名 域名)2、电子邮箱地址是网络
03-05 13:11:19
安徽博衡电力科技有限公司-全球速读

安徽博衡电力科技有限公司-全球速读

1、安徽博衡电力科技有限公司于2017年11月20日成立。2、法定代表人陈水金,公司经营范围包括:电力新能...
03-02 16:53:05
上海人又破防了:211硕士求职被无视,怒斥话语尽显“眼高手低”

上海人又破防了:211硕士求职被无视,怒斥话语尽显“眼高手低”

上海人又破防了:211硕士求职被无视,怒斥话语尽显“眼高手低”,求职,学历,毕业生,大学生,男硕士,上海市
03-02 11:27:18
重看少年歌行大结局才发现,想拍第二部不是一般的困难 当前简讯

重看少年歌行大结局才发现,想拍第二部不是一般的困难 当前简讯

由李宏毅刘学义主演的少年歌行真人剧完结已经有一段时间了,不过虽然这部真人剧已经完结了,但是相关讨...
03-02 08:56:35
2007中国古镇游

2007中国古镇游

1、《2007中国古镇游》是2007年东方出版中心出版社出版的图书。2、作者是《中国古镇游》编辑部。文章到...
03-02 07:55:53
做一次化疗大概多少钱_肿瘤化疗一次多少钱 全球新要闻

做一次化疗大概多少钱_肿瘤化疗一次多少钱 全球新要闻

1、化疗是癌症患者常用的治疗方法之一。2、对于癌症患者来说,费用与他们选择的化疗药物类型有关。3、比...
03-02 03:01:34
现在什么手机拍照最好_什么手机拍照最好 前沿资讯

现在什么手机拍照最好_什么手机拍照最好 前沿资讯

1、来说说今年最火的相机吧。有:这个配置真的很惊艳。可能很多外行都不知道这些参数是什么。没关系。让...
03-01 22:58:59
热点在线丨平行线定义与命题_平行线定义

热点在线丨平行线定义与命题_平行线定义

1、1、在同一平面内,永不相交的两条直线叫平行线(parallellines),平行线具有传递性。2、2、用在其他方
03-01 22:34:19
墨玉:“煮”出来的幸福生活_世界滚动

墨玉:“煮”出来的幸福生活_世界滚动

提到火锅,可能大家的反应可能都是:火锅……满大街都是。但距离新疆墨玉县城最远的喀瓦克乡,村民们来...
03-01 20:21:50
3月1日金市晚评:美国消费者信心意外下降 黄金反弹收涨

3月1日金市晚评:美国消费者信心意外下降 黄金反弹收涨

摘要北京时间周三(3月1日)亚欧时段,美元指数维持跌势,目前位于104 50附近;现货黄金短线突然急涨,金...
03-01 17:53:08
环球快播:A402不锈钢焊条

环球快播:A402不锈钢焊条

1、A402不锈钢焊条是钛钙型药皮的Cr26Ni21纯奥氏体不锈钢焊条。2、有良好的焊接工艺性能。文章到此就分享结束
03-01 17:06:36
美国能源部,你倒是把黑材料拿出来呀! 焦点短讯

美国能源部,你倒是把黑材料拿出来呀! 焦点短讯

这两天,原本已经在美国政治舆论场上逐渐消沉下去的“新冠病毒来自中国武汉实验室”的政治阴谋论,竟死...
03-01 16:06:18
股权投资尽职调查实务(财务篇)

股权投资尽职调查实务(财务篇)

本课程为股权投资尽职调查实务技能之财务篇,总共七章42小节。第一章:财务尽职调查的必要性及目的01节...
03-01 14:02:55
当前快播:新能源整车板块异动,比亚迪等股小幅冲高

当前快播:新能源整车板块异动,比亚迪等股小幅冲高

3月1日上午,新能源整车板块异动,长安汽车、比亚迪、江淮汽车等小幅冲高。消息面上,财政部称对于购置...
03-01 12:06:27
即开即热小厨宝哪个牌子好_即热式小厨宝十大品牌

即开即热小厨宝哪个牌子好_即热式小厨宝十大品牌

1、2014年即热行业十大品牌哈佛2、海尔3、奥特朗4、斯贝斯5、德恩特6、路易世家7、汉诺威8
03-01 11:38:13
陕西执业资格注册中心官网_陕西执业资格注册中心_环球资讯

陕西执业资格注册中心官网_陕西执业资格注册中心_环球资讯

1、不上班你要是去最好是周内去还有去早点那些人办事慢很的。本文分享完毕,希望对大家有所帮助。
03-01 10:08:32

为您推荐

精彩推送