知识图谱:【数据清洗工具flashtext(三)】——flashtext原理

flashtext是一种基于Trie字典数据结构和Aho Corasick的算法。

Trie字典构建

flashtext首先将所有相关的关键字作为输入,使用这些关键字建立一个trie字典(start和eot分别是字符序列的开始标签和结束标签):
在这里插入图片描述

搜索

对于输入字符串或文档,对字符进行逐个遍历。当在文档中有字符序列<\b>word<\b>匹配到字典中的word时,则认为这是一个完整匹配,将匹配到的字符序列所对应的标准关键字进行输出:
在这里插入图片描述
ps.示例中,匹配到的字符序列显示为绿色,没有匹配到的字符序列显示为红色。

替换

对于输入字符串或文档,flashtext对字符进行逐个遍历,先创建一个空的字符串,当字符序列中的<\b>word<\b>无法在Trie字典中找到匹配时,就简单地将原始字符序列复制到返回字符串中;当Trie字典中找到匹配时,将匹配到的字符的标准字符复制到返回字符串中。因此,返回字符串时输入字符串的一个副本,不同的是替换了匹配到的字符序列:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值