Web数据挖掘实验,留这儿纪念下。
基本目的:
读入指定目录下的所有文本文件,对文本文件中的内容进行分词操作,在分词结果中找出形容词副词,按照指定格式输出到结果文件中。
其中调用了scws的API(http://www.ftphp.com/scws/api.php)
{之前也试过phpanalysis2.0,分词速度很快,只是scws提供的接口比较多,如果只是分分词的话,phpanalysis2.0就足够了。}
主要php代码如下:
set_dict($dict); //指定辞典文件 $cws->set_rule('etc/rules.ini'); $cws->set_ignore($ignore); $cws->set_multi($level); //$cws->set_duality('yes'); //是否为单音节词 $cws->set_debug($debug); $cws->send_text($mydata); // 执行切分, 分词结果数组 $stat_string = ''; $head_string = ''; $list = $cws->get_result(); //$list = $cws->get_tops($list,100); $word_num = 0; foreach ($list as $k => $v) { if(strpbrk($v['attr'],"ai")){ //只取形容词副词 $position=$v['off']-10; //取前后上下文作为对照 if($position<=0) {$position=0;} $stat_string .= sprintf("%-4d %-15s %-15s %-4d %-40s %-30f\r\n",$word_id+1,'2nd Round',$v['word'],$key,substr(str_replace("\n","",$mydata),$position,30),$v['idf']); //$word_num += $v['times']; $word_id+=1; } continue; } //将处理结果保存到数组 $temp_string[$key]=$stat_string; } // 以下显示结果 $head_string .= sprintf("%-4s %-15s %-15s %-8s %-35s %-40s\r\n", 'ID','UID','word-string', 'docid','content-string','probability'); $fp=fopen("dest/result.txt",'w'); fwrite($fp,$head_string); file_put_contents("dest/result.txt", $temp_string,FILE_APPEND); fclose($fp); echo "识别成功,请见dest文件夹下的结果文本"; ?>
期间修改项: