code: def test_score(self):
      model = LuceneBM25Model(
          dictionary=self.dictionary, k1=self.k1, b=self.b
      )
  
      first_document = self.documents[0]
      first_bow = self.dictionary.doc2bow(first_document)
      weights = defaultdict(lambda: 0.0)
      weights.update(model[first_bow])
  
      actual_dog_weight = weights[self.dictionary.token2id["dog"]]
      actual_cat_weight = weights[self.dictionary.token2id["cat"]]
      actual_mouse_weight = weights[self.dictionary.token2id["mouse"]]
      actual_lion_weight = weights[self.dictionary.token2id["lion"]]
  
      def get_expected_weight(word):
          idf = model.idfs[self.dictionary.token2id[word]]
          denominator = 1 + self.k1 * (
              1 - self.b + self.b * len(first_document) / model.avgdl
          )
          return idf / denominator
  
      expected_dog_weight = (
          get_expected_weight("dog") if "dog" in first_document else 0.0
      )
      expected_cat_weight = (
          get_expected_weight("cat") if "cat" in first_document else 0.0
      )
      expected_mouse_weight = (
          get_expected_weight("mouse")
          if "mouse" in first_document
          else 0.0
      )
      expected_lion_weight = (
          get_expected_weight("lion")
          if "lion" in first_document
          else 0.0
      )
  
      self.assertAlmostEqual(expected_dog_weight, actual_dog_weight)
      self.assertAlmostEqual(expected_cat_weight, actual_cat_weight)
      self.assertAlmostEqual(expected_mouse_weight, actual_mouse_weight)
      self.assertAlmostEqual(expected_lion_weight, actual_lion_weight)
  
imports: from collections import defaultdict
  import math
  import unittest
  from gensim.models.bm25model import BM25ABC
  from gensim.models import OkapiBM25Model, LuceneBM25Model, AtireBM25Model
  from gensim.corpora import Dictionary
label_desc: Use image node_id 4 for calling the LuceneBM25ModelTest obj's underlying member method code with example usage: obj.test_score() and returns: unknown