• 大小: 24.3M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-23
  • 语言: 其他
  • 标签: 其他  

资源简介

knowledge_representation_pytorch.zip

资源截图

代码片段和文件信息

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017-12-15 15:31:32
# @Author  : jimmy (jimmywangheng@qq.com)
# @link    : http://sdcs.sysu.edu.cn
# @Version : $Id$

import os
import random
from copy import deepcopy

from utils import Triple

# Change the head of a triple randomly
# without checking whether it is a false negative sample.
def corrupt_head_raw(triple entityTotal):
newTriple = deepcopy(triple)
oldHead = triple.h
while True:
newHead = random.randrange(entityTotal)
if newHead != oldHead:
break
newTriple.h = newHead
return newTriple

# Change the tail of a triple randomly
# without checking whether it is a false negative sample.
def corrupt_tail_raw(triple entityTotal):
newTriple = deepcopy(triple)
oldTail = triple.t
while True:
newTail = random.randrange(entityTotal)
if newTail != oldTail:
break
newTriple.t = newTail
return newTriple

# Change the head of a triple randomly
# with checking whether it is a false negative sample.
# If it is regenerate.
def corrupt_head_filter(triple entityTotal tripleDict):
newTriple = deepcopy(triple)
while True:
newHead = random.randrange(entityTotal)
if (newHead newTriple.t newTriple.r) not in tripleDict:
break
newTriple.h = newHead
return newTriple

# Change the tail of a triple randomly
# with checking whether it is a false negative sample.
# If it is regenerate.
def corrupt_tail_filter(triple entityTotal tripleDict):
newTriple = deepcopy(triple)
while True:
newTail = random.randrange(entityTotal)
if (newTriple.h newTail newTriple.r) not in tripleDict:
break
newTriple.t = newTail
return newTriple

# Split the tripleList into #num_batches batches
def getBatchList(tripleList num_batches):
batchSize = len(tripleList) // num_batches
batchList = [0] * num_batches
for i in range(num_batches - 1):
batchList[i] = tripleList[i * batchSize : (i + 1) * batchSize]
batchList[num_batches - 1] = tripleList[(num_batches - 1) * batchSize : ]
return batchList

def getThreeElements(tripleList):
headList = [triple.h for triple in tripleList]
tailList = [triple.t for triple in tripleList]
relList = [triple.r for triple in tripleList]
return headList tailList relList

# Sample a batch of #batchSize triples from tripleList
def getBatch_clean_random(tripleList batchSize):
newTripleList = random.sample(tripleList batchSize)
ph pt pr = getThreeElements(newTripleList)
return ph pt pr

def getBatch_clean_all(tripleList):
ph pt pr = getThreeElements(tripleList)
return ph pt pr

# Corrupt the head or tail according to Bernoulli Distribution
# (See “Knowledge Graph embedding by Translating on Hyperplanes“ paper)
# without checking whether it is a false negative sample.
def corrupt_raw_two_v2(triple entityTotal tail_per_head head_per_tail):
rel = triple.r
split = tail_per_head[rel] / (tail_per_head[rel] + head_per_tail[rel])
random_number = random.random()
if random_number < split:
newTriple = corrupt_head_raw(triple en

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-04 11:16  knowledge_representation_pytorch\
     文件        1066  2019-01-04 11:16  knowledge_representation_pytorch\LICENSE.md
     文件       14941  2019-01-04 11:16  knowledge_representation_pytorch\transE_pytorch.py
     文件        8196  2019-01-04 11:16  knowledge_representation_pytorch\.DS_Store
     文件       16018  2019-01-04 11:16  knowledge_representation_pytorch\transH_Bernoulli_pytorch.py
     文件       15714  2019-01-04 11:16  knowledge_representation_pytorch\transH_pytorch.py
     文件       17041  2019-01-04 11:16  knowledge_representation_pytorch\transR_Bernoulli_pytorch.py
     文件       28987  2019-01-04 11:16  knowledge_representation_pytorch\evaluation.py
     目录           0  2019-01-04 11:16  knowledge_representation_pytorch\datasets\
     文件       14340  2019-01-04 11:16  knowledge_representation_pytorch\datasets\.DS_Store
     目录           0  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\
     文件      307288  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\negtest2id.txt
     文件      277711  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\test2id.txt
     文件        6148  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\.DS_Store
     文件     4176719  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\triple2id.txt
     文件       76466  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\negvalid2id.txt
     文件         171  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\relation2id.txt
     文件           2  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\one_to_one_test.txt
     文件       69185  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\valid2id.txt
     文件     1730406  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\entity2id.txt
     文件           2  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\one_to_many_test.txt
     文件     3829834  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\train2id.txt
     文件           2  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\many_to_many_test.txt
     文件      277711  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\many_to_one_test.txt
     文件         250  2019-01-04 11:16  knowledge_representation_pytorch\datasets\FB13\head_tail_proportion.pkl
     目录           0  2019-01-04 11:16  knowledge_representation_pytorch\datasets\WN18\
     文件       68910  2019-01-04 11:16  knowledge_representation_pytorch\datasets\WN18\test2id.txt
     文件        6148  2019-01-04 11:16  knowledge_representation_pytorch\datasets\WN18\.DS_Store
     文件     2093214  2019-01-04 11:16  knowledge_representation_pytorch\datasets\WN18\triple2id.txt
     文件         363  2019-01-04 11:16  knowledge_representation_pytorch\datasets\WN18\relation2id.txt
     文件         605  2019-01-04 11:16  knowledge_representation_pytorch\datasets\WN18\one_to_one_test.txt
............此处省略91个文件信息

评论

共有 条评论