用于确定Web存档集合是否脱离主题的工具

otmt的Python项目详细描述


构建状态

给定一组存档的网页(称为纪念品),主题外纪念品工具包(otmt)允许用户确定哪些纪念品是主题外的。纪念品是通过对实时网页进行爬网来生成的,从而产生的集合通常包含同一网页的不同版本。随着时间的推移,由于黑客攻击,域名所有权的丧失,甚至网站的重组,一个网页可能会偏离主题,导致收集包含偏离主题的纪念品。otmt帮助用户在对其存档的网页集合进行研究之前发现这些非主题纪念品。

此代码基于工作人员:

Alnoamany,Y.,Weigle,M.C.和Nelson,M.L.在网络档案中检测时间地图内的主题页。国际数字图书馆期刊(2016)17:203.https://doi.org/10.1007/s00799-016-0183-5

它的早期版本在:

Jones,S.M.,Weigle,M.C&Nelson,M.L.《非主题纪念品工具包》。第15届数字保护国际会议记录(2018年)https://arxiv.org/abs/1806.06870

快速启动

该软件现在在pypi上可用,至少需要python 3.6版本:

pip安装otmt

这将在您的系统上安装detect_off_topic命令,以及offtopicpython库。要确定存档IT集合中的内容是否已关闭主题:

检测关闭主题-i archiveit=7877-o outputfile.json

这将有关归档IT集合7877的每个纪念品和时间映射的信息存储在名为output.json

的JSON格式文件中。

更多详细信息

输入类型

为此,otmt接受以下输入:

  • 存档IT集合ID
  • 一个或多个纪念品时间图的uri(请参阅rfc 7089)
  • 一个或多个Web存档(WARC)格式的文件(请参阅ISO 28500)

这些输入在内部转换为一系列文件和文件夹,用于评估的其余部分。

要指定存档IT集合,请使用archive it关键字,后跟一个=和集合ID,如下所示: 检测关闭主题-i archiveit=7877-o outputfile.json

对于一个或多个时间映射,使用timemap关键字指定它们,后跟一个=和时间映射的uri-t: 检测关闭主题-i timemap=http://archive.example.org/timemap1,http://archive.example.org/timemap2-o outputfile.json

同样,对于一个或多个warc文件: 检测关闭主题-i warc=example1.warc.gz,example2.warc.gz-o outputfile.json

作战指挥系统注意事项:

在分析warcs时,otmt:

  1. 为遇到的每个种子生成时间映射
  2. 在此时间映射中为种子生成一个具有内部uri-m和memento datetime的条目,该条目派生自记录的warc日期头
  3. 完成所有WARC后,显示时间图,就好像它们已下载到架构的度量部分一样
  4. 建筑的度量部分(当前)获取第一个纪念品,并将其与时间图中的其他纪念品进行比较

总之,otmt从所有warc中提取所有数据并将其一起分析。对于时间图测量,它使用时间图中的第一个纪念品作为与时间图中其他纪念品进行比较的基础。

没有像实习生那样的uri规范化t archive使用类似edition.cnn.com和www.cnn.com的uri。otmt不比较example.org和example2.org,因为它们有单独的urir,因此有单独的时间图。

时间图注释:

在这种情况下,otmt不聚合来自所有时间映射的数据,而是分别处理它们。如果两个时间映射服务于同一个uri-r,则otmt不会将它们协调为一个。这样的功能确实是有用的。如果添加,可以跨多个集合甚至多个存档比较同一uri-r的时间映射。如果需要此功能,请将其作为功能请求

时间图测量

使用时间图度量,将时间图中的每个纪念品与该时间图的第一个纪念品进行比较。使用以下一个或多个度量值进行比较:

  • 余弦相似度(关键字:余弦)-这是默认值,与wordcount结合使用
  • 字数(关键字:字数)-这是默认值,与余弦组合在一起
  • 字节计数(关键字:字节计数
  • 原始纪念品内容的simhash(关键字:raw\u simhash
  • 关于原始纪念品内容的术语频率的simhash(关键字:tf_simhash
  • Jaccard距离(关键字:Jaccard
  • 瑟伦森骰子距离(关键字:sorensen
  • 使用gensim的潜在语义索引(关键字:gensim\u lsi

时间映射度量由-tm参数指定,后跟所需度量的关键字。或者,可以指定一个阈值,后跟一个=,如下所示:

检测关闭主题-i archiveit=7877-o outputfile.json-tm jaccard=0.80

可以指定多个度量值,用逗号分隔:

检测关闭主题-i archiveit=7877-o outputfile.json-tm jaccard=0.80,字节数=-0.50

如果未指定阈值,则使用硬编码的默认值。

输出文件格式

输出json文件的格式如下:

{
  "URI of a TimeMap": {
    "URI of a Memento": {
      "timemap measures": {
        "[name of measure]": {
          "comparison score": [score],
          "topic status": ["on-topic"|"off-topic"]
          }
        }
      }
    }
    ...

csv输出也通过-ot选项支持: 检测关闭主题-i archiveit=7877-o outputfile.csv-ot csv

安装以进行开发

要运行与otmt关联的测试,请执行: python./setup.py测试

要安装到本地运行,请运行(在源目录的基目录中): PIP安装。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓从Java线程调用JNI并返回requestPermissions   正在实例化java自定义枚举转换器,但未调用   safari在通过代码浏览URL时释放java小程序资源   Java:为什么在一个函数中更改数组的地址,在我们从该函数返回时不更改它的地址?   java调用安卓活动的方法   java在Debian Jessie上安装Apache Wave   java如何等待一段时间,然后返回默认值?   java For循环只打印最后一个值   用户界面如何在Java中创建这样复杂的GUI?   java CreateProcess error=2,系统找不到指定的文件   java如何使用事件解耦networkmanager?   java我们如何将REST服务部署为jar?   java Jersey:无法反序列化字符串外的ArrayList实例   在mac中构建aosp时发生java编译错误   java将UNIXTIMESTAMP与ummalquracalendar库一起使用   java回滚Spring批处理作业