盲反馈检索系统实验记录三
admin
2023-07-03 21:24:53
0

计算tf/idf

在使用fileStr获取新闻的内容和长度后,我们就可以计算他们的tf和idf:


//计算tf\idf
static public function tf_df($seg){
    $str=self::fileStr();
    $file_dir=self::fileDir(TEXT_PATH);
    $df=array();
    for($i=0;$i



该方法传递的参数$seg就是前面提到若的使用segment分词方法返回的结果。这里使用的是它计算出来的['word']和['times']。

第一个for双重循环:第一个for循环得到每一篇文档所有词的信息,第二个for循环取出这篇文档每个词的信息,比如$seg[$i][$j]['times']是一个词出现的次数,再除以这篇文档的长度$str[$i]['len']就可以得到词频。

第二个for双重循环:大概意思就是得到该文档集的文档频率df后,使用公式idf=log(N/df),N表示文档集总数,df就是所计算词的文档频率,最后得出idf(逆文档频率)。

新创建一个用来测试的php文件test.php,代码如下


在浏览器中运行(这个过程大概花费20s),查看源代码:

盲反馈检索系统实验记录三

盲反馈检索系统实验记录三


计算特征向量

万事俱备,只欠东风。到这里,我们已经得到了所有词项的tf和idf,他们的权重=tf*idf.在这里我们又会使用到之前已经创建好的词表(保存在dic.txt),词表中的每一个词代表空间中的一个维度,dic.txt中有1000多个词,因而空间中就有1000多维。我们把每篇文档的词项都映射到这1000多个维度里,每个维度的值表示该词项的权重,若该篇文档不存在词典中出现的词,则对应的维度值设为0.(这里利用的是向量空间模型的知识)。

计算特征向量的代码封装在方法vsm中:


//特征向量,并写入文件(tf/idf以及存在seg中)
static public function vsm($seg){
    $file_dir=self::fileDir(TEXT_PATH);
    $dic_str=file_get_contents('dic.txt');
    $dic_arr=explode(',',$dic_str);
                                                                                                       
    $vsm_arr=array();   //向量空间
    for($i=0;$i


该方法把对应文档的特征向量计算出来后,把他们保存在目录名为vsm的目录中,文件名和它们的新闻文档文件名相同。修改test.php:

即可运行,在系统目录的vsm下可以看到多出了10个txt文件,里边的内容保存的分别是对应文档的特征向量。


附件:http://down.51cto.com/data/2364246

相关内容

热门资讯

内蒙古包头:首批投运1000辆... 新华社5月31日消息,近日,我国自主研发的氢能两轮车在内蒙古自治区包头市面向公众投入运营,首批将在公...
缅甸边境发生爆炸,云南群众目击... 5月31日,缅甸掸邦北部南坎镇发生一起爆炸事故,已导致多人伤亡,多处民宅、房屋遭到严重损毁。经初步调...
大湾区打出智造新名片,高域首台... 近日,在广州黄埔区的智能制造产业园内,一架白色多旋翼飞行器缓缓驶出生产线,标志着高域(GOVY)这家...
VR眼镜与元宇宙:沉浸式体验会... VR眼镜与元宇宙:沉浸式体验会不会导致“魂不守舍”?虚拟现实对精神能量的消耗 杨明德/文 朋友们好,...
张凌赫粉丝挤爆玻璃门、活动临时... 5月31日,张凌赫原定在广西南宁万象城出席品牌活动,大批粉丝早早前往商场排队等候。现场人潮涌动,人群...
5月31日“蓝月亮”上线,还是... 据新华社:5月31日,农历四月十五,一轮满月将现身夜空。这轮满月有些特别,它是本月第二次满月,同时它...
中国的刀产量,究竟有多恐怖? 中年男人在短视频平台最爱看啥?小姐姐跳舞?那你可就想错了——锻刀大赛才是中年男人真正的“减速带”。在...
花费半生积蓄,农村自建房热背后 今年以来,在安徽安庆望江县做外墙漆生意的徐仙琴越来越忙碌了,她和员工们每天奔波在县城的各个村庄里,找...
黎以冲突再升级对中东地区影响几... 从当前的局势来看,黎以双方博弈已陷入谈判停滞、战火升级的恶性循环,地区冲突风险持续走高。根据以军发布...
易事达取得载带冷却定型装置专利... 国家知识产权局信息显示,浙江易事达电子材料有限公司取得一项名为“一种载带冷却定型装置”的专利,授权公...