code: def backward(self, indexes, grad_outputs):
      x, t, W = self.get_retained_inputs()
      (gy,) = grad_outputs
      return NegativeSamplingFunctionGrad(
          self.reduce,
          self.ignore_mask,
          self.sample_size,
          self.samples,
          self.wx,
      ).apply((x, W, gy))
  
imports: import numpy
  import six
  import chainer
  from chainer import backend
  from chainer.backends import cuda
  from chainer import function_node
  from chainer import utils
  from chainer.utils import argument
  from chainer.utils import precision
  from chainer.utils import type_check
label_desc: Use image node_id 6 for calling the NegativeSamplingFunction obj's underlying member method code with example usage: obj.backward(indexes, grad_outputs) and returns: NegativeSamplingFunctionGrad