根据上下文查找两个字符串之间的百分比关系

时间:2012-04-27 14:01:06

标签: php codeigniter web-scraping

我正在为html页面实现一个web scraper。问题是上下文关系,因为我需要决定我得到的内容与数据库中其他内容之间的关系,所以我可以说是的,它们是否与上下文相关:

Ex(1)

$str1 = "president obama visited Barcelona yesterday"; //politics context
$str2 = "Barcelona was defeated from Chelsea yesterday"; //sports context

前(2)

$str3 = "Obama's appearance on Late Night With Jimmy Fallon "; //media context
$str4 = "Late Night show with jimmy fallon"; //mdeia context

在第一个例子中

   $ str1 $ str2 在上下文中有所不同,因此关系可能 10%或更少

在第二个例子中

  

$ str3 $ str4 在相同的背景下(媒体)虽然关于奥巴马总统的$ str3和关于吉米法伦的 $ str4 但两者都与深夜秀有关,所以关系可能 90%

我正在使用Porter-Stemmer算法从单词中删除常见结尾。下一步做什么?

2 个答案:

答案 0 :(得分:1)

关键字是字符串指标,模糊匹配......

看看这个:How to Strike a Match

答案 1 :(得分:0)

$exstr1=explode(" ", $str1);
$exstr2=explode(" ", $str2);
foreach( $exstr1 as $exitem)
{
     if (in_array($exitem, $exstr2 ) $match++;
      else $mis++;
}
$percent=$match/($match+$mis)*100;