将rdf数据建模为向量空间
rdfsim的Python项目详细描述
这个python库有助于从rdf中编码的非常大的层次结构生成向量空间。一个明显的示例应用程序是从skos层次结构或rdfs子类层次结构生成向量空间。
开始
运行测试:
$ nosetests
安装:
$ python setup.py install
示例使用
$ wget http://downloads.dbpedia.org/3.7/en/skos_categories_en.nt.bz2 $ bunzip2 skos_categories_en.nt.bz2 $ python >>> from rdfsim.space import Space >>> space = Space(‘skos_categories_en.nt’) >>> space.similarity_uri(category1, category2)
为整个dbpedia skos类别构造向量空间 Hierarchy(3M三倍)在一台普通笔记本电脑上需要几分钟, 内存占用约500万。
或者,它的一个子集可以在examples/目录中找到。
工作原理
对于层次结构中的每个主题t,我们考虑其父主题集 在k层上的父(t,k)。我们为空间中的每个t构造一个向量 其中每个维度对应于层次结构中的主题d。价值 尺寸d上的t的定义如下:
t_d = sum_{k = 0}^{max_depth} sum_{d in parents(t, k)} decay^k
其中max_depth和decay是两个参数,可以用来影响 我们有多重视 类别层次结构。
它们可以指定如下:
>>> Space.max_depth = 8 >>> Space.decay = 0.9