首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NLP入门(2)-分词结果评价及实战

上一篇中我们介绍了词典分词的方法,并介绍了正向最长匹配、逆向最长匹配和双向最长匹配几种分词规则。本文主要介绍一下如何对分词结果进行评价。...其计算方法如下: 1)首先计算正确分词结果中所有未登陆词的个数,作为分母 2)计算基于某种分词方法得到的分词结果分词正确部分中未登陆词的个数,作为分子(这里分子不是基于某种分词方法得到的分词结果中未登陆词的个数...,而是分词正确的那部分中未登陆词的个数) 3)分子分母相除,得到OOV Recall Rate 但很明显的,对于词典分词来说,它是基于词典匹配进行切分的,词典中未出现的词它也是基本找不到的,所以说词典分词的新词发现能力几乎为零...其计算方法如下: 1)首先计算所有正确分词结果中所有登陆词的个数,作为分母 2)计算基于某种分词方法得到的分词结果分词正确部分中登陆词的个数,作为分子(这里同样是正确分词部分,而非所有的分词结果) 3)...2)即使是词典分词,IV Recall Rate也没有达到1,如‘项目 的 研究’,分词结果为'项 目的 研究',可以看到词典分词的消岐能力一般,没有基于上下文给出最优的分词结果

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

ES中文分词器之精确短语匹配(自定义分词器)

楼主在上篇文章中,提出了将词和字分开,用不同的分词器分别构建索引,来解决match_phrase在中文中的短语或者句子匹配问题。...详细的内容请看上一篇文章: ES中文分词器之精确短语匹配(解决了match_phrase匹配不全的问题) 为什么要自己写分词器?...233dad”,扫描第一个字符发现是中文,则继续向下扫描,一直扫描到‘2’,发现‘2’不是中文,则将“你好哈”组成句子交给句子处理器处理,将处理结果放入queue中。...问题在于match_phrase的限制,长白山的分词顺序在原文构建索引时的位置不一样,中间多出了一个“长白山脉”。 解决方案: 不能匹配的原因是,查找词语在原文中和后面的字组成了词语。...当词的长度为2时,和后面的一个字匹配,可以组成一个长度为3的词,按照我们分词的规则,是先分出两个字的词,再分出三个字的词,所以,两个字的词是可以匹配的到的。

4.7K20

使用 Elasticsearch 的 NGram 分词器处理模糊匹配

比如,用户输入"工行"或者"gh",我需要返回"工行XXX分行"类似这样的结果。 我心里嘀咕着:数据库不是支持通配符查询吗?为什么不直接用数据库查询? 说归说,但是任务还是要完成的。...这个分词器可以让通配符查询和普通的查询一样迅速,因为该分词器在数据索引阶段就把所有工作做完了: An n-gram can be best thought of as a moving window on...: [ qui, uic, ick ] Length 4 (four-gram): [ quic, uick ] Length 5 (five-gram): [ quick ] 若要使用 NGram 分词器作为某个字段的分词器...,可在索引创建时指定,也可以更新映射关系,以下展示如何在索引创建时指定 NGram 分词器。...match 查询会对关键词进行分词,而 Lucene 的默认中文分词就是把每个中文字拆开,这样会变成对"工"、"商"两个字做通配符查询。

2.5K60

IK分词结果不符合预期如何处理

原因分析:一般查不出来就是因为里面有词对不上,因为match phase 的分词后是AND查询。...测试数据就是 集美中转场,查询关键字也是 集美中转场,完全匹配上的看起来跟这些词的顺序还有关系,match phrase 有顺序要求从profile 看根因是 locationName:\"集美 中转场...\" (smart 分词结果) 无法匹配 "locationName:\"集美 美中 中转场 中转 转场\""(max 分词结果)因为(max 分词结果) 在 "集美 中转场\" 中间多了一个..." 美中 "加了slop:1 后,就允许(smart 分词结果)可以进行偏移,匹配方式变成 :\"集美 XXXX(1个偏移) 中转场\"解决方案:1.match_phrase查询时指定和...analyzer一样的分词器就可以匹配到2.使用match的方式,operator指定为AND,但是这种方式可能会多查到一些数据比如 集美广州中转场 这种也会命中,因为match是无序的,只要ik_max_word

16710

pkuseg 和 jieba 分词对比测试,结果出乎意料...

有做过搜索的朋友知道,分词的好坏直接影响我们最终的搜索结果。...之前介绍过一款北大新开源的分词器,根据作者的测试结果,这是一个准确率和速度都超过 jieba 等其他分词分词器。 所以我就想来做个简单的测试!...pkuseg 测试结果 jieba 测试结果 代码基本差不多,只是分词器的用法有些不同。...jieba 测试结果 emmm 测试结果好像好像有点出乎意料,说好的 pkuseg 准确率更高呢??? ? pkuseg 用时将近 jieba 的三倍,而且提取效果也没有 jieba 分词好!...于是我就去逼乎搜了一下 pkuseg ,结果是这样的…. ? ? 总体而言 pkuseg 吹的有点过了,并没有作者说的那么神奇,有点博眼球的成分,也许它更是一款更注重细分领域的分词器!

1.7K30

【学习】深度解析中文分词器算法(最大正向逆向匹配

2:基于词典的分词(最为常见) 这类分词算法比较常见,比如正向/逆向匹配。例如: mmseg分词器 就是一种基于词典的分词算法。以最大正向匹配为主,多种 消除歧义算法为辅。但是不管怎么分。...该类分词方法,分词精度不高。由于中文比较复杂,不推荐采用正向最大匹配算法的中文分词器。。逆向最大匹配算法在处理中文往往会比正向要准确。...接下来分析第2种:基于词典的分词算法(最长的词优先匹配)。 先分析最大正向匹配算法 一: 具体流程图如下: ?...二:最大逆向分词算法 考虑到逆向,为了 区分分词的数据的连贯性。我们采用Stack(栈对象,数据结果,后进先出,不同于Queue和ArrayList有顺序的先进先出) 这个对象来存储分词结果。。...以上代码实现了两种正向和逆向的算法,可以很明显的比较中文分词结果。 但是效率,,呵呵!确实不咋的。欢迎打脸。 比如:数据结构就先不提。

2.1K60

ES中文分词器之精确短语匹配(解决了match_phrase匹配不全的问题)

分词器需要达到的效果 1)短语可以精确匹配 2)查找时间要比standard少 3)如果查找的词语不在词典中,也必须要查到 4)如果数据在原文中出现,就一定要查全 IK分词器短语精确匹配的问题 楼主意淫着将所有的单字放入词典中...用上述的例子,查找”快乐“时,你会发现你用ik_max_word查找到的结果没有standard分词器建索引查找获取到的结果多。...认为其不匹配,因此查询不到这种结果。...看了几篇博客,都指出了match_phrase的这个匹配问题,解决方案有以下两种: 1) standard分词器 2) NGram分词器 standard分词器大家都比较熟,针对于汉字就是一个一个分,这种肯定是可以查全的...至此总算解决了ES中文分词切精确匹配的问题。 源码修改: * 修改IK不支持小语种的问题 * 修改中文之间特殊字符不能过滤的问题。即原文“节 日 快 乐”不能匹配“节日快乐”的问题。

4.8K40

asp.net 下的中文分词检索工具 - jieba.net

jieba是python下的一个检索库, 有人将这个库移植到了asp.net 平台下, 完全可以替代lucene.net以及盘古分词的搭配 之所以写这个, 其实是因为昨天面试时, 被问到网站的关键字检索你怎么做...以前接触过关键字分词, 但是在.net平台下没有成熟的分词检索库, 不像java有lucene, 尽管也移植到了.net, 但是更新慢。...我之前学python的时候留意到了python的分词检索, 以及做词云, 就想着有没有python的分词检索库移植到了.net的查了下python的jieba库 果然有移植的!...原文介绍: jieba中文分词的.NET版本:jieba.NET .NET平台上常见的分词组件是盘古分词,但是已经好久没有更新了。...Console.WriteLine("【歧义消除】:{0}", string.Join("/ ", segments5)); Console.Read(); 运行结果

19220

借助 Lucene.Net 构建站内搜索引擎(上)

它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的速度灰常快。   ...首先,我们准备一个ASP.Net Web项目(这里使用的是WebForms技术),引入Lucene.Net和PanGu的dll,以及加入CJK分词的两个class(均在附件下载部分可以下载),分词演示Demo...(4)重新打开页面查看分词结果 ?   修改词库之后的分词结果是不是更加符合我们得常规思维习惯了呢?...其中:   (1)Create Index : 点击该按钮会遍历文章/帖子的文本文件夹,对每个帖子进行分词,并将分词后的结果存入索引库;   (2)Search :点击该按钮会将用户输入的关键词与索引库中的内容进行匹配...,并将匹配后的结果显示在repeater列表中; 3.2 创建索引   核心代码: /// /// 创建索引 /// protected

1K20

基于最长词匹配算法变形的分词系统( 文舫工作室贡献 )

基于最长词匹配算法变形的分词系统( 文舫工作室贡献 )     这个分词程序是文舫工作室贡献出来的。    ...自从小叮咚分词程序发布后,很多软件行业的朋友们都来信索取,因为定位的问题,所以小叮咚的分词程序和 ICTCLAS的算法完全不同的。     小叮咚的分词程序的定位是为搜索引擎服务的。...可以参考:一种面向搜索引擎的中文切分词方法     ICTCLAS和基于最长词匹配算法变形的分词系统 是面向语法,语义的。    ...不同的应用导致了不同的分词算法,但是正如车东所说的,我们现在应该跳过分词这个点,面向分词应用了。     我很赞同。    ...如果大家需要 基于最长词匹配算法变形的分词系统 的代码,可以到这个页面下载申请书,填写后我会给你     发送一份相关代码。

51420

深度丨从分词算法和模糊匹配技术解读,为什么你搜不到想要的小程序?

不同的分词方法得到的结果就截然不同。...常见的分词算法分类 目前的分词算法可分为三大类:基于字符串匹配分词方法、基于理解的分词方法和基于统计的分词方法 字符匹配 又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配...这是种常用的分词法,字符串匹配分词方法,又分为几种不同的分词方法。...同样以“不知道你在说什么”为例,不同的匹配法有不同的结果: 用正向最大匹配法,也就是把一个词从左至右来分词,就是:“不知道,你,在,说什么”。...用双向最大匹配法:如果关键词前后组合内容被认为粘性相差不大,而搜索结果中也同时包含这两组词的话,进行正反向同时进行分词匹配。 简单来说,就是正着拆、反着拆、简单拆,和来来回回拆,总之各种姿势来一遍。

3.1K61

千亿级照片,毫秒间匹配最佳结果,微软开源Bing搜索背后的关键算法

搜索需求的改变对于以往基于索引系统,依赖关键字匹配给出搜索结果的传统搜索引擎是一个挑战。 “关键词搜索算法会在人们提出问题或拍照并询问搜索系统'这是什么?'...反过来,这意味着他们可以更快地向用户提供更匹配结果。 矢量搜索相较于关键字搜索,可以更容易的按照内容得到搜索结果。例如,如果用户键入“巴黎铁塔有多高?”...微软将矢量搜索应用于 Bing 搜索引擎,该技术可以帮助 Bing 更好地理解数十亿网络搜索背后的意图,并在数十亿网页中找到最匹配结果。...一旦用户进行搜索后,Bing 可以扫描索引向量并提供最佳的匹配结果。矢量分配使用深度学习技术进行训练,然后持续改进。模型会在搜索后考虑用户最终点击的输入,以便更好地理解搜索的含义。...“Bing 每天会处理数十亿个文档,现在的想法是我们可以将这些条目表示为向量,并在 1000 亿个以上的大规模索引中进行搜索,以便在 5 毫秒内找到最匹配结果。”

67530

三维重建23-立体匹配19,端到端立体匹配深度学习网络之怎样估计立体匹配结果的置信度?

判断匹配结果优劣的几个传统特征组 传统的置信度判别方法,一般是通过在输入图像、输入视差图、匹配代价等中去寻找特殊的特征,作为匹配结果优劣的判据。...我们来看看下面这篇文章介绍的内容 这篇文章里面展示了理想的匹配结果和可能导致错误的匹配结果之间的差异 左图是理想的匹配结果,横轴是视差值,纵轴是匹配代价。...理想的匹配结果拥有一个唯一的最低点,而且这一点和其他点的代价具有明显的差异。 右图是实际中包含某种不确定性的匹配结果,我们看到代价曲线弯弯曲曲,具有多处不明。...利用左右视差图的一致性:这个可能是很多读者熟悉的方法:当匹配正确时,我们假设从左到右的匹配结果和从右到左的匹配结果具有一致性。如果实际匹配结果不一致,那么我们可以认为匹配错误。...(或检测错误匹配像素)的任务,后者是一个根据前者的结果,优化视差匹配结果的任务。

9410

「中国法研杯」相似案例匹配竞赛结果出炉,冠军方案关键技术解读

其中,基于大会开展的中国法研杯相似案例匹配评测竞赛,由来自支付宝的 AlphaCourt 团队摘得桂冠,这是一支致力于搭建属于支付平台的「互联网法院」的队伍。...其中,相似案例匹配的数据限于民间借贷一类文书。 民间借贷相似案例匹配举例 在数据集方面,本任务所使用的数据集是来自「中国裁判文书网」公开的法律文书,每组数据由三篇法律文书组成。...五种网络模型 通过以上构造的五种网络模型,进行多模型离线的多模型融合可以进一步提高相似匹配的准确率,如下图所示。...此时在训练过程中可能会出现一种极端的情况,即模型结果无脑输出 B,就会出现过拟合问题。...最后学习到特征向量经过 Triplet Loss 计算时,只要计算过程中附带了变量 op,调整两者欧式距离的正负结果,就可以保证 Triplet Loss 的计算结果保持正确。

97320

CMS项目实践学习总结

Membership是ASP.Net提供的用户管理架构,和ASP.Net的安全模型结合的最好。可以很好的实现权限验证、权限组等。 Membership只是微软提供的一些BLL,也是微软的人写的。   ...还可以添加allow节点添加允许访问的条件,也可以添加多个deny、allow,这样按照从上向下匹配,第一个匹配的规则起作用。...快速判断评论是否含有禁用词判断:将禁用的词用"|"(表示或)进行分割得到表达式,用Regex进行匹配,如果Matches结果多于1,说明含有禁用词。如果含有禁用词就没必要后续处理。   ...Pangu分词默认是尽可能的少分词,所以“计算机等级考试开始”会分成“计算机等级考试|开始”,这样搜“计算机”就搜不到。Todo:需要修正bug,多元分词也搜不到。...需要解决问题   MultiDimensionality设置为true,开启多元分词,2设置多元分词冗余度。

1.3K50
领券