介绍
小编给大家分享一下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搜索模块的查询方法”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!