Skip to main content

Scorer

Trait Scorer 

Source
pub trait Scorer {
    // Required methods
    fn score(&self, head: usize, relation: usize, tail: usize) -> f32;
    fn num_entities(&self) -> usize;

    // Provided methods
    fn score_all_tails(&self, head: usize, relation: usize) -> Vec<f32> { ... }
    fn score_all_heads(&self, relation: usize, tail: usize) -> Vec<f32> { ... }
    fn top_k_tails(
        &self,
        head: usize,
        relation: usize,
        k: usize,
    ) -> Vec<(usize, f32)> { ... }
    fn top_k_heads(
        &self,
        relation: usize,
        tail: usize,
        k: usize,
    ) -> Vec<(usize, f32)> { ... }
    fn score_all_relations(
        &self,
        head: usize,
        tail: usize,
        num_relations: usize,
    ) -> Vec<f32> { ... }
    fn top_k_relations(
        &self,
        head: usize,
        tail: usize,
        num_relations: usize,
        k: usize,
    ) -> Vec<(usize, f32)> { ... }
}
Expand description

Trait for scoring knowledge graph triples.

Scores are distances or negative similarities: lower values indicate more likely triples.

Required Methods§

Source

fn score(&self, head: usize, relation: usize, tail: usize) -> f32

Score a triple (head, relation, tail). Lower = more likely.

Source

fn num_entities(&self) -> usize

Number of entities in the model.

Provided Methods§

Source

fn score_all_tails(&self, head: usize, relation: usize) -> Vec<f32>

Score all entities as tail replacements for (head, relation, ?).

Returns a vec of length num_entities() where index t holds score(head, relation, t).

Source

fn score_all_heads(&self, relation: usize, tail: usize) -> Vec<f32>

Score all entities as head replacements for (?, relation, tail).

Source

fn top_k_tails( &self, head: usize, relation: usize, k: usize, ) -> Vec<(usize, f32)>

Return the top-k entities by score for (head, relation, ?).

Returns (entity_id, score) pairs sorted by score ascending (best first, since lower = more likely).

Source

fn top_k_heads( &self, relation: usize, tail: usize, k: usize, ) -> Vec<(usize, f32)>

Return the top-k entities by score for (?, relation, tail).

Source

fn score_all_relations( &self, head: usize, tail: usize, num_relations: usize, ) -> Vec<f32>

Score all relations for (head, ?, tail).

Returns a vec where index r holds score(head, r, tail). Requires knowing the number of relations (passed as parameter since the Scorer trait doesn’t expose it).

Source

fn top_k_relations( &self, head: usize, tail: usize, num_relations: usize, k: usize, ) -> Vec<(usize, f32)>

Return the top-k relations by score for (head, ?, tail).

Implementors§