code: def block_embed(embed, x, dropout=0.0):
      """Embedding function followed by convolution
  
      Args:
          embed (callable): A :func:`~chainer.functions.embed_id` function
              or :class:`~chainer.links.EmbedID` link.
          x (:class:`~chainer.Variable` or :class:`numpy.ndarray` or \
          :class:`cupy.ndarray`): Input variable, which
              is a :math:`(B, L)`-shaped int array. Its first dimension
              :math:`(B)` is assumed to be the *minibatch dimension*.
              The second dimension :math:`(L)` is the length of padded
              sentences.
          dropout (float): Dropout ratio.
  
      Returns:
          ~chainer.Variable: Output variable. A float array with shape
          of :math:`(B, N, L, 1)`. :math:`(N)` is the number of dimensions
          of word embedding.
  
      """
      e = embed(x)
      e = F.dropout(e, ratio=dropout)
      e = F.transpose(e, (0, 2, 1))
      e = e[:, :, :, None]
      return e
  
imports: import numpy
  import chainer
  import chainer.functions
  import chainer.links
  from chainer import reporter
label_desc: Use image node_id 2 for calling a global function with example usage: block_embed(embed, x, dropout) and returns: e