首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TF-IDF抓取约50个网站查找关键字(气候)

使用TF-IDF抓取约50个网站查找关键字(气候)
EN

Stack Overflow用户
提问于 2017-08-20 20:20:28
回答 1查看 132关注 0票数 0

“与气候变化作斗争--用文字?”

我来自语言学+统计方面,而不是计算机科学/编程方面,所以请对我耐心一点,也谢谢你们!

我正在做一个研究项目,目前需要花费大量的时间和精力每周2-3次查看~ 50个不同的网站,以了解能源行业/气候变化的新发展,这样我们就不会错过任何新闻(在它们被更改或删除之前),并希望保存和不错过任何感兴趣的文件。

就目前而言,只有可笑的书签设置。但如果可能的话,我想让这项工作变得更容易,通过爬行这些网站(每天都是最好的)来寻找变化,特别是通过在网站(相关部分)上或在张贴的文档中查找关键字。

至于文档本身,我们将采用TF-IDF (术语频率-反向文档频率)和DF-ICF (文档频率-反向语料库频率)等算法(或简单变体),并比较所使用的语言(语料库的比较分析)随时间和“季节”(例如政治变化)的变化。

TLDR:需要帮助简化从大约50个网站收集数据的过程,这些网站通过爬行等方式查找关键词。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-08-21 04:00:25

这是一个非常有趣的问题,尽管有几个不同的主题需要解决。

1-爬虫:这将是一个应用程序,将爬行一些预定义的网址在搜索内容。这本身可能是一个复杂的项目,因为您可能想要搜索特定的关键字或带来该网站的所有内容,并以包含任何新闻的报告形式过滤结果。

2-通过使用文本检索模型(TRM),您将搜索包含特定作品的文档,这将是您的搜索查询。在你尝试做我建议你做的事情之前,我强烈建议你看看this course的一些视频,它教会了当今可用的TRM,以及它们的优缺点。

简而言之,我会构建一个爬虫(用Java语言),并使用BM25这一非常成熟的TRM来选择文档。通过这个搜索,我将基于上述来源提供的内容构建一个报告生成器。我将详细介绍如何做这些部分,因为我对气候变化一无所知,这一点你会弄清楚的。但是关于爬虫给你带来的结果,我将建议以下一组技术和API(我构建了几个类似的)……

1-构建maven java项目

2-在你的pom.xml中添加lucene依赖项。我推荐5.5.4版本。

3-在lucene的搜索中为TRMs提供了几种可能性。This是一个5分钟的教程,你可以很容易地用Java实现它。使用BM25作为相似性机制,如下所示:

代码语言:javascript
复制
searcher.setSimilarity(new BM25Similarity(bm25ParameterK, bm25ParameterB));
config.setSimilarity(new BM25Similarity(bm25ParameterK, bm25ParameterB));

其中,bm25ParameterK和bm25ParameterB是BM25搜索的参数。如果您想使用默认值( 1.20和0.75 ),只需像这样设置BM25Similarity:

代码语言:javascript
复制
searcher.setSimilarity(new BM25Similarity());
config.setSimilarity(new BM25Similarity());

据我所知,还有其他TRMs在与BM25相比时表现同样出色,比如Pivoted length normalization,Query like和PL2,但它们的实现还不可用。我希望我对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45782055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档