00:00
前面我们已经把这个评分的这种公式呢,给大家讲了一下,那么现在呢,我们通过一个例子再给大家去演示演示,大家看一看实际的效果好吧。首先我们重新把数据准备一下,我们的put,咱们的艾特硅谷啊好,我们执行创建索引,然后呢,我来添加数据,我们put,我们的索引,添加数据下划线do,我们叫1001,然后我们这里写上它,我们叫text,跟之前一样,我们叫做Java,这是我们的一个,然后拷贝,诶,我先执行。执行以后,我们拷贝一下,我们插入第二条数据,第二条数据呢是1002,但是呢,我要额外再加一个,我们写上它叫big data,我们的大数据,对吧,我再去点击它,但是我要插入三条数据了,我的第三条数据我们来放到这边,我们写上叫1003 1003的话,我这个地方稍微的有一些变化,那么有什么变化呢?我把这个咱们拷贝一下。宝贝之后我这个地方给它来,我改一下名字,我在这个地方叫什么呢?叫做内容。
01:04
然后呢,我把这个去掉。你会发现跟之前有一定的差别,对吧?好,这是我准备的三条数据,我执行,执行以后没问题,我开始来查询,我们叫get,然后呢,我们的索引,好,我们斜杠下划线,我们的search跟我之前一样,增加匹配条件,然后我们的匹配条件就是我们当前的这个text,我们是Java,可以把这个我们放过来,咱们是Java,现在呢,我们去查询一下。阿询以后它的评分现在我们会发现它现在呢,有两条数据已经出来了,那么出来了以后,这个分值是怎么算出来的,所以我们再来分析一下,来分析的时候,我们把这个放过来,我们再去执行一下,执行以后我们就以我们的这条第一条数据为例,咱们来看啊,首先我们的查询的第一条数据,它的评分当中,首先第一个叫PF啊,PF的公式呢是它,所以咱们拷贝。
02:01
拷贝以后,我们拿到咱们这个位置啊来。这个位置当中,我们首先我们的第一个,咱们分析一下,我们说过了这句话呢,它表述的是我们当前的查询的关键词在整个文档中出现的次数,我们肯定是一个嘛,所以我们这就写上什么呢?我们的一,我们的一对吧,好我们再来,那么我们这个地方是什么呢?我们说它表述的是当前关键词的一个饱和程度,这是一个默认值,这是我们的1.2啊默认值。然后还有一个是我们的这个B,它表述的是我们这个关键值的长度,它的重要程度啊,也是一个默认值,咱们叫0.75,所以呢,我们写上它叫0.75啊这个东西就是0.75,对吧。然后呢,我们的这个DL,他告诉你的是我当前的这个内容啊,分几段,你分词以后分了几段啊,我们就一段嘛,就一个嘛,对它就是我们的没错。接下来这个就比较重要了,为什么呢?因为他说的这是我们当前的所有的段,就是分的那个段啊,跟我们查询的文档的一个平均值,那么大家可以看到我们这里的文档是几个呢?一个两个三个。
03:15
哎,老师不对啊,你的这个里面它不是不匹配吗?对,它不匹配,但是这个字段它是有的,所以我们这个地方它是存在的,它存在的情况只不过没有分值找到我的数据吗?但它会去找它呀,对不对,同学们记住了啊,我们会从这个里面去找数据,只是没有找到而已,所以这个算是我们查询文档中的一个数量,所以我们的文档数量是三。但是呢,我们查询以后是几段呢?是一段,两段,三段,四段,我从四段当中查询出了两个,所以我们总共是四段,有三个文档,所以它应该是四除以三,所以这个值应该是1.3,这是对的,所以我再说一下咱们这个值是什么意思呢?这是我们的什么呢?是我们所有需要查询的文档数量,对吧?还有一个就是我们所有啊,我们的内容啊,分词的段数。
04:12
咱们叫内容分词后的那个段数啊,咱们叫段数,那就这样的。我们的它是内容分之后的段数,分几段嘛,我们这个分了一段,它分两段,它分了一段,12344段,然后呢,我们匹配这个字段,我们说它有三个对吧,所以这是三四除以三,确实就是我们刚才所说的1.3,所以这个地方我们写上它,咱们叫1.33,我觉得可以了。那么可以了,之后大家想一想,那么这个时候算出的结果,我们这就不给大家算了,它的结果应该就是我们刚才所说的这个地方应该是没问题的,那好,哎,算了,还是算一下吧,嗯,我们这个地方给大家看一看啊,咱们来算一算,嗯。
05:01
咱把这个东西我算一算,这个是0.75除以一点啊0.75它除以1.33对吧,然后等号,等号是我们的0.5639对不对,这边是0.5,我们再加上。0.25等号,这个是0.813909对不对,就是它了,然后呢,再乘以什么呢?1.2,所以再乘以我们的1.2。对吧,等于它,然后呢,我们再加上一,再加上我们的一等于这个数,这个数是1.97,那么大家可以想象一下,我这个七将近二的吧,你将近二的话,一除以二不就是0.5嘛,我们不用算那么细了啊,所以我们回过头来,我们这里应该是0.5左右,这是对的,没有任何问题,对吧?好,我们再回过头来看另外一个公式叫IDF,这个IDF当中,我们把这个呢,我们原封不动拷贝过来。宝贝过来以后,大家可以看到我们这里再往下,往下以后这个大N和小N的含义,我们再说一遍,大N的含义表述的是有多少个文档含有这个查询的这个字段,对吧?就这个意思,然后呢,这个小N呢,表述的是匹配了多少个关键词。
06:15
你查询的时候有几个匹配的呀,我们会发现我们有三个文档中包含我查询的这个text,而有两个中匹配了我们的关键词,所以它是二,它是三,你把二和三代进去,那么就是它了,对吧?就是这个意思啊,好,那这个咱们有了,你再按照我们的公式来计算,不就得到了这个结果吗?我们这个就不再一个一个算了啊,行,这是我们刚才给大家看的第一个文档,因为我们匹配是有两个文档的,我们再来看我们下面的这个文档。这个文档它的分值的来源,我们往下看看一些参数吧,那么首先我们的这个表述的是我们出现的次数,一次没问题,然后呢,这个都是我们的默认值,也不用管它这个表示什么含义呢?切成了几段,你会发现切成了我们的两段,所以它是二,然后呢,这个是平均值,这是固定的,对吧,这是固定的,所以没问题,那好,没问题的话,我们再看这这个是不是也是完全一样啊,所以从我们的角度来讲的话,其实它唯一的变化呢,就是多了一个他呀。
07:19
诶,多了一段,所以这个公式的结果就会有所变化,比刚才那个就略低,说明我的查询关键词在这个文档中更重要,因为只有它自己嘛,而相对来说它就稍微差一些,所以它的分值就会低,它会在第二个显示出来,对不对?同学们不就是这个意思吗?哎,同学们,有的同学可能说老师呀,那我如果再添加一条数据,比方说我们拷贝,拷贝以后我们1004,哎,那如果我们里面的数据非常的多呢,比方说我里面全都是Java。我这个里面全都是Java,我添加一条数据,那么我们的三条数据哪个更重要呢?其实啊,我们来看一看啊,我们来查询,查询之后我们来看看什么样的数据更重要,其实我相信大家一眼就能看出来,是不是我们这个关键词越多的它越重要啊,你这里面就一个,这里面全都是,对不对,所以你会发现它更重要,为什么更重要?因为它的评分更高一些,为什么评分高,你可以往下分析分析对不对,大家可以看到我们在当前过程当中,我们会有很多的内容,对不对,哎,就这样,我们现在什么呢?我们这个里面有什么,大家看一下我们当前的文档当中,我们这个里面往下走,往下走啊,往下走。
08:35
那找到我们的这个地方,我看看啊,来我们的这个里面分成几段啊,我们的1234分成了我们的四段,对不对?然后呢,这个平均值是怎么算出来的,平均值是我们当前的文档,一个两个三个四个对不对?好然后呢,分了几段呢?一段两段三段四段,五段六段,七段八段,八段除以四,那不就是二吗?没有任何问题对不对?哎,所以你再看这出现了多少次,出现了四次,所以啊,每个值我们都能够知道它的来历,那么这样的话,公式就应该没有问题对吧?还有我们这里的大写的N和小写的N,我们这里说过了,我们的是它表述的是什么意思?是我们当前查询的这个text有几个文档,那么我们1234有四个文档,那么这个表述的是含有这个关键词的文档的数量,那么我们这里是一个两个三个,记住啊,这个算一个,所以呢,我们是三个,那么就是它,所以公式算出来。
09:36
它以后,那么它的值就是它了,所以这么算它的评分会更高一些,不就是这个意思吗?啊,所以还是那句话,我们把这个评分的这个公式搞明白了,我们可以利用这个公式对于我们的某些数据,让它变得更重要一些,对吧?好了,我们这个就说到。
我来说两句