16
LOGO Q-T 语语 语语语语语语语 语语 语语 语语语语37X21=777 语语语语stormagain

Q-T 语义一致识别算法描述

Embed Size (px)

DESCRIPTION

Q-T 语义一致识别算法描述. 姓名:刘剑 编译笔名: 37X21=777 平台账号: stormagain. 主要内容. 第一部分: LSC 算子介绍 第二部分: ToTAL 算子介绍 第三部分:门禁算法介绍 第四部分:算法评价. 算子作用:找出最长公共字符串 实现思想: 1 ,用一个矩阵来记录两个字符串中 所有位置的匹配情况,如果相同则为 1 ,不同则为 0. 2 ,正向求出对角线最长的 1 序列,其对应的长度即为最长公共字符串长度,其位置就是最长公共字符串的位置. LSC 算子. TOTAL 算子. - PowerPoint PPT Presentation

Citation preview

Page 1: Q-T 语义一致识别算法描述

LOGO

Q-T 语义一致识别算法描述

姓名:刘剑 编译笔名: 37X21=777 平台账号: stormagain

Page 2: Q-T 语义一致识别算法描述

主要内容

第一部分: LSC 算子介绍第二部分: ToTAL 算子介绍第三部分:门禁算法介绍第四部分:算法评价

Page 3: Q-T 语义一致识别算法描述

算子作用:找出最长公共字符串算子作用:找出最长公共字符串

实现思想:实现思想:11 ,用一个矩阵来记录两个字符串中 所有位置的匹,用一个矩阵来记录两个字符串中 所有位置的匹配情况,如果相同则为配情况,如果相同则为 11 ,不同则为,不同则为 0.0.

22 ,正向求出对角线最长的,正向求出对角线最长的 11 序列,其对应的长度序列,其对应的长度即为最长公共字符串长度,其位置就是最长公共字即为最长公共字符串长度,其位置就是最长公共字符串的位置符串的位置 . .

LSC 算子

Page 4: Q-T 语义一致识别算法描述

TOTAL 算子

算子作用:找出算子作用:找出 queryquery 语句中有多少字符出现在语句中有多少字符出现在 titletitle 语语句句

实现思想:遍历实现思想:遍历 queryquery 字符串的每个字符,如果字符出字符串的每个字符,如果字符出现现 在在 titletitle 中,则中,则 +1+1 ,反之,反之 +0+0 ,最后统,最后统计出出现计出出现 过的字符总数。过的字符总数。

Page 5: Q-T 语义一致识别算法描述

门禁算法

算法描述:在判断大量对象的是与非的问题中,很多时候算法描述:在判断大量对象的是与非的问题中,很多时候 我们只需要去筛选出是的那一部我们只需要去筛选出是的那一部

分对象,那么分对象,那么 非的那一部分对象非的那一部分对象自然也区分出来了。我们可自然也区分出来了。我们可 以通以通过构造一系列的通道去过滤这些数据,能过构造一系列的通道去过滤这些数据,能 够顺利通过通道的数据,自然就是我们要寻找够顺利通过通道的数据,自然就是我们要寻找

的是的那一部分对象。由于它跟生活中的是的那一部分对象。由于它跟生活中的门禁的门禁 系统比较相似,因此,我称系统比较相似,因此,我称它为门禁算法。它为门禁算法。

门禁算法就是去设计一系列的通道,如门禁算法就是去设计一系列的通道,如VIPVIP 通通 道,尊贵会员通道,普通会员通道,尊贵会员通道,普通会员通道,及普通通道,及普通通 道等,对象在起点位道等,对象在起点位置可获得一张具有优先级置可获得一张具有优先级 的的 PassCardPassCard ,,如果这张如果这张 PassCardPassCard 能够打通某条能够打通某条 通道通道上的所有关卡,即对象到达终点,则该对上的所有关卡,即对象到达终点,则该对

象会被识别为一致。象会被识别为一致。

Page 6: Q-T 语义一致识别算法描述

门禁算法

算法描述:如果对象在走某一条通道的途中,没有打开某算法描述:如果对象在走某一条通道的途中,没有打开某 个关卡,那么这时候的对象该怎个关卡,那么这时候的对象该怎

么办呢?此时,么办呢?此时, 对象有两种可能,一是沿着原对象有两种可能,一是沿着原路返回,改走其他路返回,改走其他 的通道,二是被直接判定为的通道,二是被直接判定为永远无法到达终点。永远无法到达终点。 这就是设置这就是设置 PassCardPassCard 的的意义,当意义,当 PassCardPassCard 在某在某 个关卡被消耗掉个关卡被消耗掉的时候,对象会被直接判定为不的时候,对象会被直接判定为不 一致,如果打不一致,如果打不开关卡,开关卡, PassCardPassCard 也没有被消也没有被消 耗掉,那么对象可以原路返回,改走其他的通道耗掉,那么对象可以原路返回,改走其他的通道

Page 7: Q-T 语义一致识别算法描述

门禁算法

算法实现:这样的一种思想是怎么在语义一致识别中去实算法实现:这样的一种思想是怎么在语义一致识别中去实 现的呢?对于门禁算法的实现,现的呢?对于门禁算法的实现,

重点在于通道重点在于通道 的设置,通道设置的的设置,通道设置的有效性及完美程度,关系有效性及完美程度,关系 到算法的效果。到算法的效果。笔者根据大赛的数据描述,设笔者根据大赛的数据描述,设 置了置了四条大的通道,以及通道下面的一系列子四条大的通道,以及通道下面的一系列子

通道(子通道的某些关卡决定通道(子通道的某些关卡决定PassCardPassCard 是否消是否消 耗),后面详细介绍耗),后面详细介绍四条通道。四条通道。

Page 8: Q-T 语义一致识别算法描述

门禁算法

算法实现:第一条通道(算法实现:第一条通道( VIPVIP ):):case 1case 1 :: queryquery 与与 titletitle 完全一致:完全一致:

queryquery :惺惺相惜是什么意思:惺惺相惜是什么意思 titletitle :惺惺相惜是什么意思?:惺惺相惜是什么意思?

对于这种去掉最后的符号后,前面的对于这种去掉最后的符号后,前面的 queryquery 短句与短句与 titletitle 短短句句一致的情况,我们没有必要去做语义上的分析,直接走一致的情况,我们没有必要去做语义上的分析,直接走VIPVIP 通道,到达终点。通道,到达终点。

Page 9: Q-T 语义一致识别算法描述

门禁算法

算法实现:第二条通道:算法实现:第二条通道:case 2case 2 :: queryquery 是是 titletitle 的子句,存在简单的的子句,存在简单的

疑问词、助词变换等:疑问词、助词变换等: queryquery :周杰伦的资料:周杰伦的资料 titletitle :有关周杰伦的资料:有关周杰伦的资料

或者:或者: queryquery :海市蜃楼是?:海市蜃楼是?titletitle :海市蜃楼是什么?:海市蜃楼是什么?

对于这种对于这种 queryquery 和和 titletitle 之间只是某些前缀或者后缀的差别,之间只是某些前缀或者后缀的差别,并没有影响语义偏差很大的对象,可以认为语义一致。当并没有影响语义偏差很大的对象,可以认为语义一致。当然,这种情况下并不是每种情形都会一致,这就需要用到然,这种情况下并不是每种情形都会一致,这就需要用到前面提到的两个算子来控制了,对于前面提到的两个算子来控制了,对于 queryquery 与与 titletitle 长度相长度相差超过一定范围,或者不满足两个算子所控制的界限,该差超过一定范围,或者不满足两个算子所控制的界限,该对象有可能要换走其他通道,或者被判断为不一致。对象有可能要换走其他通道,或者被判断为不一致。

Page 10: Q-T 语义一致识别算法描述

门禁算法

算法实现:第三条通道:算法实现:第三条通道:case 3case 3 :: queryquery 与与 titletitle 出现语序变化,主题出现语序变化,主题

词变换,但表意相同:词变换,但表意相同: queryquery :: UU盘分区方法盘分区方法 titletitle :: uu盘如何分区?盘如何分区?

对于这种数据对象,这次就不像第二条通道那样增加前缀、对于这种数据对象,这次就不像第二条通道那样增加前缀、后缀了,而是去对一些疑问词、语气词或者与疑问词同义后缀了,而是去对一些疑问词、语气词或者与疑问词同义的词语的过滤。例如:过滤掉上面的“方法”与“如何”,的词语的过滤。例如:过滤掉上面的“方法”与“如何”,这样得到处理后的这样得到处理后的 queryquery 和和 titletitle 短句就是一致的了,但是,短句就是一致的了,但是,这样过滤很可能造成大量数据的误识别,例如:这样过滤很可能造成大量数据的误识别,例如:

Page 11: Q-T 语义一致识别算法描述

门禁算法

算法实现:第三条通道:算法实现:第三条通道:case 3case 3 :: queryquery 与与 titletitle 出现语序变化,主题出现语序变化,主题

词变换,但表意相同:词变换,但表意相同: 例如:例如:

queryquery :叔叔的妈妈如何称呼:叔叔的妈妈如何称呼 titletitle :妈妈的叔叔怎样称呼:妈妈的叔叔怎样称呼

在这两个短句中,“如何”和“怎样”的表意是一样的,在这两个短句中,“如何”和“怎样”的表意是一样的,因此,它们可以被过滤掉,但是由于“叔叔”与“妈妈”因此,它们可以被过滤掉,但是由于“叔叔”与“妈妈”的位置不一样,造成了语义不一致,这就需要对这种数据的位置不一样,造成了语义不一致,这就需要对这种数据对象的再一次语义检测,从而减小识别误差。对象的再一次语义检测,从而减小识别误差。

Page 12: Q-T 语义一致识别算法描述

门禁算法

算法实现:第四条通道:算法实现:第四条通道:case 4case 4 :: queryquery 的语义被的语义被 titletitle 用多个子句表用多个子句表

示出来:示出来:这就是最难检测的那部分数据,因此要对它们做语义分析,这就是最难检测的那部分数据,因此要对它们做语义分析,通过语义上的相似度去判断它们是否一致,也是误差最高通过语义上的相似度去判断它们是否一致,也是误差最高的地方,笔者借助的地方,笔者借助 MMSeg4JMMSeg4J 的的 jarjar 包,对短句实现分词,包,对短句实现分词,分词之后通过计算词形和词序上的相似度来获得加权的相分词之后通过计算词形和词序上的相似度来获得加权的相似度,其中在计算词形相似度时用到了同义词词林,由于似度,其中在计算词形相似度时用到了同义词词林,由于笔者未找到比较好的反义词词林,因此,程序中没有用到笔者未找到比较好的反义词词林,因此,程序中没有用到反义词及否定词检测(程序留了位置),而同义词词林的反义词及否定词检测(程序留了位置),而同义词词林的词组也不超过两万条,再加上一些专业术语未加收录,因词组也不超过两万条,再加上一些专业术语未加收录,因此,效果不是很好,但是只要是收录过的词语或同义词词此,效果不是很好,但是只要是收录过的词语或同义词词组,都能达到很好的效果。组,都能达到很好的效果。

Page 13: Q-T 语义一致识别算法描述

算法评价

为什么选择门禁算法?为什么选择门禁算法?笔者一开始想到了今年比较火的笔者一开始想到了今年比较火的 Deep LearningDeep Learning 算法,但算法,但是为什么没有选择是为什么没有选择 Deep LearningDeep Learning 来做呢,原因有这么几来做呢,原因有这么几点,现在的点,现在的 queryquery 语句呈现碎片化,各种带有语病的语句语句呈现碎片化,各种带有语病的语句(如:(如:错别字,杂乱的语序,甚至是比较乱的符号),等等都给错别字,杂乱的语序,甚至是比较乱的符号),等等都给语义一致识别带来很大麻烦,如果要选择用深度学习算法,语义一致识别带来很大麻烦,如果要选择用深度学习算法,那么它的训练数据集将是巨大的,而且效率堪忧。再者是那么它的训练数据集将是巨大的,而且效率堪忧。再者是网络新兴词汇的诞生,经常有网络词汇诞生,这就需要适网络新兴词汇的诞生,经常有网络词汇诞生,这就需要适时的去更新词库,对于深度学习算法,更新词库后,需要时的去更新词库,对于深度学习算法,更新词库后,需要重新训练,这样带来的工作很麻烦。重新训练,这样带来的工作很麻烦。

Page 14: Q-T 语义一致识别算法描述

算法评价

门禁算法的优缺点分析:门禁算法的优缺点分析: 本次算法大赛中途更改过一次规则,以前是需要本次算法大赛中途更改过一次规则,以前是需要

有有 0.90.9 的准确率来支撑,在笔者提供的快速门禁算法中,的准确率来支撑,在笔者提供的快速门禁算法中,得出的数据结果是这样的:得出的数据结果是这样的: FF值:值: 0.61580.6158 ,召回率:,召回率:0.46790.4679 ,准确率:,准确率: 0.90120.9012 ,可以看到,在有准确率约束的,可以看到,在有准确率约束的条件下,它可以达到比较好的效果。条件下,它可以达到比较好的效果。

我想更多的说一下它的缺点,缺点主要是对一系我想更多的说一下它的缺点,缺点主要是对一系列子通道的设置,笔者现在基本上是靠前面提到的两个算列子通道的设置,笔者现在基本上是靠前面提到的两个算子来控制的,但是我感觉还是不够的,这两个算子只是从子来控制的,但是我感觉还是不够的,这两个算子只是从短句的整体和基于自身字符的出现率来衡量的,这还属于短句的整体和基于自身字符的出现率来衡量的,这还属于模糊判断,笔者还在探索其他的算子。模糊判断,笔者还在探索其他的算子。

Page 15: Q-T 语义一致识别算法描述

算法评价

门禁算法的改进方向:门禁算法的改进方向: 其实在大赛的规则更改之后,我就想到了改进算其实在大赛的规则更改之后,我就想到了改进算

法,去尝试一些颠覆性的思想,但由于工作原因,没有花法,去尝试一些颠覆性的思想,但由于工作原因,没有花时间来思考,这些想法都是感性上的一种认识,并没有强时间来思考,这些想法都是感性上的一种认识,并没有强有力的理论来支撑,所以现在还不成熟,大概可以包括这有力的理论来支撑,所以现在还不成熟,大概可以包括这么几点(这也是为了解决第四条通道的高误差问题),一么几点(这也是为了解决第四条通道的高误差问题),一种是构造多维的语义树,一种是构造全局或者局部的语义种是构造多维的语义树,一种是构造全局或者局部的语义拓扑结构,甚至是对语义弱约束词的筛选等。拓扑结构,甚至是对语义弱约束词的筛选等。

Page 16: Q-T 语义一致识别算法描述