Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP找到相关性_Php_Lucene_Sphinx - Fatal编程技术网

PHP找到相关性

PHP找到相关性,php,lucene,sphinx,Php,Lucene,Sphinx,假设我收集了10万篇不同主题的文章。我不知道哪些文章实际上属于哪个主题,但我有完整的新闻文章(可以分析它们的关键字)。我想根据这些文章的主题对它们进行分组。你知道我会怎么做吗?任何引擎(sphinx、lucene)都可以。您可以使用sphinix搜索所有10个不同主题的所有文章,然后设置一个阈值,确定使文章链接到特定主题的匹配数,依此类推。我推荐《智能网络算法》一书由Haralambos Marmanis和Dmitry Babenko创作。有一章是关于如何做到这一点的。我不知道完全自动化是可能的

假设我收集了10万篇不同主题的文章。我不知道哪些文章实际上属于哪个主题,但我有完整的新闻文章(可以分析它们的关键字)。我想根据这些文章的主题对它们进行分组。你知道我会怎么做吗?任何引擎(sphinx、lucene)都可以。

您可以使用sphinix搜索所有10个不同主题的所有文章,然后设置一个阈值,确定使文章链接到特定主题的匹配数,依此类推。

我推荐《智能网络算法》一书由Haralambos Marmanis和Dmitry Babenko创作。有一章是关于如何做到这一点的。

我不知道完全自动化是可能的,但你可以做到大部分。问题是这些话题从何而来

从每篇文章中提取最不常用的单词和短语列表,并将其用作标记

然后,我会列出一个主题列表,并指定属于该主题的单词和短语,然后将其与标记匹配。问题是每篇文章可能有不止一个主题

也许最好的方法是使用某种形式的贝叶斯分类器来确定哪个主题最能描述文章。这将要求您首先对系统进行培训

这种技术用于确定电子邮件是否为垃圾邮件


这将对机器学习/数据挖掘有所帮助,我们将这类问题称为分类问题。最简单的方法是使用过去的数据进行未来预测,即以统计为导向: ,您可以从使用朴素贝叶斯分类器开始(常用于垃圾邮件检测)


我建议您阅读这本书(尽管是为Python编写的):编程集体智能(),它们有一个很好的示例。

创建分类器的简单方法:

手工阅读并将100K中的N个示例文档放入10个主题中的每一个主题中。通常,示例文档越多越好

创建一个Lucene/Sphinx索引,每个主题对应10个文档。每个文档将包含该主题的所有示例文档

要对文档进行分类,请将每个单词或术语作为查询提交该文档。你几乎总能得到全部10个结果。Lucene/Sphinx将为每个结果分配一个分数,您可以将其解释为文档与每个主题的“相似性”


可能不太准确,但如果您不想经历训练真正的朴素贝叶斯分类器的麻烦,这很容易。如果你想走这条路,你可以在谷歌上搜索WEKA或MALLET,这是两个很好的机器学习库。

提供maschine学习库的apache项目是Mahout。其特点包括:

[…]聚类将文本文档等分组到与主题相关的文档组中。分类从现有的分类文档中学习特定类别的文档的外观,并能够将未标记的文档分配给(希望是)正确的类别。[……]

你可以在下面找到

虽然我从未使用过Mahout,但我只是考虑过;-),它似乎总是需要相当多的理论知识。因此,如果你计划在这个问题上花费一些时间,Mahout可能是一个很好的起点,特别是因为它有很好的文档记录。但不要期望它是容易的;-)

摘自《智能网络的算法》(Manning 2009)第7章:

“换言之,我们将在假设的情况下讨论算法的采用 web应用程序。特别是,我们的示例引用了一个新闻门户,它的灵感来自Google新闻网站。”


因此,这本书第7章的内容应该为您提供代码,并让您了解您正试图解决的问题。

这听起来像是谷歌在谷歌新闻部门雇佣了300名顶尖人员。。。不确定是否存在免费的文章分类解决方案,尤其是在PHP世界。但你永远不知道;我想这是一篇学术论文的写作主题:)首先,你需要定义一个标准,你说,这篇文章X属于主题Y。这只是“与主题Y相关的单词a、B、C都存在于文章X中吗?问题是,我不知道它将是什么主题。它是动态的。Ui,我完全忘了提到另一种选择。如果你想找像mahout这样的东西,但更容易实现,试试Bobo Browse:事实上,我相信Bobo Browse在你的情况下可以做得很好。嗨,朋友,我需要sphinx方面的帮助。我是sphinx的新手。如何在本地主机的wamp服务器中配置sphinx。