class_docstr: Quaternion Knowledge Graph Embedding.
  https://arxiv.org/abs/1904.10281
class_docstr_tok: ["Quaternion","Knowledge","Graph","Embedding",".","https",":","\/\/arxiv.org\/abs\/1904.10281"]
code: def _get_neg_score(self, pos_e, pos_r, neg_e):
      num_chunks = pos_e.shape[0]
      chunk_size = pos_e.shape[1]
      neg_sample_size = neg_e.shape[1]
  
      A, B, C, D = self._get_part_score(pos_e, pos_r)
  
      A = paddle.reshape(A, (num_chunks, chunk_size, -1))
      B = paddle.reshape(B, (num_chunks, chunk_size, -1))
      C = paddle.reshape(C, (num_chunks, chunk_size, -1))
      D = paddle.reshape(D, (num_chunks, chunk_size, -1))
  
      neg_e = paddle.reshape(neg_e, (num_chunks, neg_sample_size, -1))
      a, b, c, d = paddle.chunk(neg_e, chunks=4, axis=-1)
      a = a.transpose((0, 2, 1))
      b = b.transpose((0, 2, 1))
      c = c.transpose((0, 2, 1))
      d = d.transpose((0, 2, 1))
  
      score = (
          paddle.bmm(A, a)
          + paddle.bmm(B, b)
          + paddle.bmm(C, c)
          + paddle.bmm(D, d)
      )
      return -score
  
imports: import math
  import numpy
  from numpy.random import RandomState
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle.nn.functional import log_sigmoid
label_desc: Use image node_id 5 for calling the QuatEScore obj's underlying member method code with example usage: obj._get_neg_score(pos_e, pos_r, neg_e) and returns: unknown