python搜索模块的查询方法

  介绍

小编给大家分享一下python搜索模块的查询方法,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

python的数据类型有哪些吗?

python的数据类型:1。数字类型,包括int(整型),长(长整型)和浮子(浮点型)。2。字符串,分别是str类型和unicode类型。3。布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和虚假的(假)。4。列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5。元组,元组用“()”标识,内部元素用逗号隔开。6。字,字典典是一种键值对的集合。7。集合,集合是一个无序的,不重复的数据组合。

<强> 1,说明

获取原始数据并构建倒排索引后,可根据用户输入查找相关内容。

先对用户的输入进行分词。

然后根据倒排索引获取与每个单词相关的文章。

最后,计算每个单词和相关文章之间的分数。分数越高,相关性越大。

<强> 2,实例

 def 搜索(自我,,查询):
  ,,,BM25_scores =, {}
  ,
  ,,,#,对用户输入分词
  ,,,#,并将其变成,{词:,频率,,…},的形式
  ,,,query =, jieba.lcut_for_search(查询)
  ,,,word2freq =, self.format(查询)
  ,
  ,,,#,遍历每个词
  ,,,#,计算每个词与相关文章之间的得分(计算公式参考,BM25 算法)
  ,,,for  word 拷贝word2freq:
  ,,,,,,,data =, self.iindex.get(单词)
  ,,,,,,,if  not 数据:
  ,,,,,,,,,,,继续
  ,,,,,,,BM25_score =0
  ,,,,,,,qf =, word2freq[词]
  ,,,,,,,df =,数据(& # 39;df # 39;】
  ,,,,,,,ds =,数据(& # 39;ds # 39;】
  ,,,,,,,W =, math.log ((self.N 安康;df  +, 0.5),/, (df  0.5 +,))
  ,,,,,,,for  doc  ds:拷贝
  ,,,,,,,,,,,doc_id =, doc (& # 39; id # 39;】
  ,,,,,,,,,,,tf =, doc (& # 39; tf # 39;】
  ,,,,,,,,,,,dl =, doc (& # 39; dl # 39;】
  ,,,,,,,,,,,K =, self.k1  *,(1,安康;self.b  +, self.b  *,(时间/dl  self.AVGDL))
  ,,,,,,,,,,,R =, (tf  *,(时间+ self.k1  1),/, (tf  +, K)), *, (qf  *,(时间+ self.k2  1),/,(时间+ qf  self.k2))
  ,,,,,,,,,,,BM25_score =, W  *, R
  ,,,,,,,,,,,BM25_scores [doc_id],=, BM25_scores (doc_id), +, BM25_score  if  doc_id  BM25_scores  else  BM25_score拷贝
  ,
  ,,,#,对所有得分按从大到小的顺序排列,返回结果
  ,,,BM25_scores =,排序(BM25_scores.items (),, key =, lambda 项目:,项目[1])
  ,,,BM25_scores.reverse ()
  ,,,return  BM25_scores 

看完了这篇文章,相信你对“python搜索模块的查询方法”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

python搜索模块的查询方法