“与气候变化作斗争--用文字?”
我来自语言学+统计方面,而不是计算机科学/编程方面,所以请对我耐心一点,也谢谢你们!
我正在做一个研究项目,目前需要花费大量的时间和精力每周2-3次查看~ 50个不同的网站,以了解能源行业/气候变化的新发展,这样我们就不会错过任何新闻(在它们被更改或删除之前),并希望保存和不错过任何感兴趣的文件。
就目前而言,只有可笑的书签设置。但如果可能的话,我想让这项工作变得更容易,通过爬行这些网站(每天都是最好的)来寻找变化,特别是通过在网站(相关部分)上或在张贴的文档中查找关键字。
至于文档本身,我们将采用TF-IDF (术语频率-反向文档频率)和DF-ICF (文档频率-反向语料库频率)等算法(或简单变体),并比较所使用的语言(语料库的比较分析)随时间和“季节”(例如政治变化)的变化。
TLDR:需要帮助简化从大约50个网站收集数据的过程,这些网站通过爬行等方式查找关键词。
谢谢!
发布于 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作为相似性机制,如下所示:
searcher.setSimilarity(new BM25Similarity(bm25ParameterK, bm25ParameterB));
config.setSimilarity(new BM25Similarity(bm25ParameterK, bm25ParameterB));其中,bm25ParameterK和bm25ParameterB是BM25搜索的参数。如果您想使用默认值( 1.20和0.75 ),只需像这样设置BM25Similarity:
searcher.setSimilarity(new BM25Similarity());
config.setSimilarity(new BM25Similarity());据我所知,还有其他TRMs在与BM25相比时表现同样出色,比如Pivoted length normalization,Query like和PL2,但它们的实现还不可用。我希望我对你有所帮助。
https://stackoverflow.com/questions/45782055
复制相似问题