丽水查重代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.7KB

  1. import mysql_pool
  2. import heapq
  3. import uuid
  4. import os
  5. os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
  6. from modelscope.pipelines import pipeline
  7. from modelscope.utils.constant import Tasks
  8. def check_demo():
  9. batch_no = str(uuid.uuid4())
  10. mysql = mysql_pool.ConnMysql()
  11. data = mysql.sql_select_many("""select * from test_pro_info_new where super_unit LIKE '%农%'""")
  12. # 全部的项目信息
  13. # pro_map = []
  14. # for ap1 in data:
  15. # print(type(ap1.get("base_proj_intro")))
  16. # # pro_list.append((ap.get("base_proj_name"), ap.get("base_proj_intro")))
  17. # pro_map[ap1.get("base_proj_intro")] = ap1.get("base_proj_name")
  18. # 获取模型
  19. model_id = "damo/nlp_corom_sentence-embedding_chinese-tiny"
  20. semantic_cls = pipeline(Tasks.sentence_embedding, model=model_id)
  21. for pro in data:
  22. # try:
  23. pro_info_list = []
  24. # print(pro.get("base_area_code")[0:4])
  25. for ap in data:
  26. # if ap.get("base_proj_intro") != pro.get("base_proj_intro") and ap.get("base_area_code")[0:4] == pro.get("base_area_code")[0:4]:
  27. if ap.get("base_proj_intro") != pro.get("base_proj_intro"):
  28. pro_info_list.append(str(ap.get("base_proj_intro")).replace('\n', ''))
  29. inputs = {
  30. "source_sentence": [
  31. pro.get("base_proj_intro")
  32. ],
  33. "sentences_to_compare": pro_info_list
  34. }
  35. result = semantic_cls(input=inputs)
  36. print(result)
  37. arr = result["scores"]
  38. top_3 = heapq.nlargest(3, arr)
  39. for ele in top_3:
  40. idx = arr.index(ele)
  41. # print(pro_info_list[idx])
  42. for ele1 in data:
  43. if ele1.get("base_proj_intro") == pro_info_list[idx]:
  44. mysql.sql_change_msg(
  45. """insert into test_pro_check (pro_name, pro_info, check_pro_name, check_pro_info, batch_no, score, pro_area, check_pro_area, pro_set_year, check_pro_set_year, create_time) value("%s" ,"%s", "%s", "%s", "%s", "%f", "%s", "%s", "%s", "%s", now())""" % (
  46. pro.get("base_proj_name"), pro.get("base_proj_intro"), ele1.get("base_proj_name"), pro_info_list[idx], batch_no, ele, pro.get("base_area_name"), ele1.get("base_area_name"), pro.get("base_proj_set_year"), ele1.get("base_proj_set_year")))
  47. break
  48. # except Exception:
  49. # mysql.sql_change_msg(
  50. # """insert into test_pro_check (pro_name, pro_info, batch_no, score, pro_area, pro_set_year, create_time) value("%s" ,"%s", "%s", "%f", "%s", "%s", now())""" % (
  51. # pro.get("base_proj_name"), pro.get("base_proj_intro"), batch_no, 0, pro.get("base_area_name"), pro.get("base_proj_set_year")))
  52. if __name__ == "__main__":
  53. check_demo()