将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

许可条款和作者

请参阅“复制”和“作者”文件。

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

推荐PyPI第三方库


热门话题
从Java应用程序登录MySql   JavaGSON图形适配器和运行时适配器   java我可以在日期验证器程序的focusLost()中调用focusgoven()吗?   使用InMemoryTestContainerFactory时为JerseyTest设置baseUrl   java为什么通过安卓应用程序在facebook好友墙上发帖返回错误?   javajavafx:画一个摆动的低蚀刻边框可能吗?   调整大小过程中发生java OpenImaj OutOfMemoryError   java如何将结果集的行存储到HASHMAP中   在java库中使用依赖项注入好吗?   多线程java同步多线程问题   jdbc如何编写一个java应用程序,将一个sql查询和一个数字作为输入并启动它   java为什么不支持运行时。freeMemory()仅在创建大型对象时更改?   JaxB从XML到Java类的自动解析   JavaSpring表单与html表单   java无法使用DefaultHttpClient发送大文件