hvtham commited on
Commit
3067b08
·
1 Parent(s): c8fbc0f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -16
app.py CHANGED
@@ -28,37 +28,40 @@ def checkPaper(publication_name):
28
  "as_sitesearch": "github.com"
29
  }
30
 
 
31
  params["q"] = publication_name
32
-
33
  search = GoogleSearch(params)
 
34
  results = search.get_dict()
35
-
36
- for result in results["organic_results"]:
37
- print(f"Title: {result['title']}\nSummary: {result['snippet']}\nLink: {result['link']}\n")
38
-
39
- #get top 3:
40
-
41
- top3_result=results["organic_results"][0:3]
42
- has_github = False
43
  backup_link = None
44
- threshold = 0.5 #total number keyword in snippet >= 50% -> ok
45
- for result in top3_result:
 
 
 
 
46
  word_list = publication_name.split(' ')
47
  len_word_list = len(word_list)
48
  count = 0
 
49
  if "https://github.com/" in result['link']:
50
  for word in word_list:
51
  if word in result['snippet']:
52
  count+=1
53
  if count >= count/len_word_list:
54
- has_github = True
55
  backup_link = result['link']
56
  break
57
-
58
- if has_github == False:
59
- return "This paper doesn't have source code in github!"
60
  else:
61
- return "This paper has source code in github!\n" + backup_link
62
 
63
  import gradio as gr
64
 
 
28
  "as_sitesearch": "github.com"
29
  }
30
 
31
+ # q ở đây là query. Ở bước này, tiến hành gán input mà người dùng nhập vào vào trong param đã khởi tạo ở trên
32
  params["q"] = publication_name
33
+ # Ở bước này, tiến hành search bằng thư viện GoogleSearch đã import ở trên, với tham số là param sau khi đã cập nhập câu query q
34
  search = GoogleSearch(params)
35
+ # Tiến hành lưu kết quả tìm được vào results, để từ đó có thể dễ dàng truy xuất khi cần thiết
36
  results = search.get_dict()
37
+ # Lấy top 5 kết quả search ra đầu tiên dưới dạng json
38
+ top5_result=results["organic_results"][0:5]
39
+ # Bây giờ sẽ tạo 2 biến, biến thứ nhất là github_link, biến này sẽ kiểm tra xem là kết quả tìm được trong top5 đó có link github hay không? nếu có thì sẽ lưu thông tin vào backup_link
40
+ github_link = False
 
 
 
 
41
  backup_link = None
42
+ # Tổng số từ khoá trong việc tìm kiếm nếu trên 70% thì sẽ cho ra kết quả.
43
+ # Số 70% ở đây là một con số có thể thay đổi được, chưa có thống kê cụ thể sử dụng số nào thì hiệu quả cao hơn
44
+ threshold = 0.7
45
+ #Chạy vòng for để tìm kiếm link github trong top5 đã lấy ở trên
46
+ for result in top5_result:
47
+ # Tách các từ trong tên bài báo nhập vào ở trên. Mục tiêu là để ở bước so sánh mình sẽ lấy từng từ ra dò vào kết quả cho nhanh chóng
48
  word_list = publication_name.split(' ')
49
  len_word_list = len(word_list)
50
  count = 0
51
+ # Trong các kết quả trả về, nếu không có link github thì bỏ qua, còn nếu có link github thì sẽ tiến hành kiểm tra xem từng từ được tách ở trên so với từ trong link git trùng khớp được bao nhiêu phần trăm. Trên 70% như đã khai báo ở trên là được.
52
  if "https://github.com/" in result['link']:
53
  for word in word_list:
54
  if word in result['snippet']:
55
  count+=1
56
  if count >= count/len_word_list:
57
+ github_link = True
58
  backup_link = result['link']
59
  break
60
+ # Kiểm tra xem biến check link git đã là true hay chưa, nếu là true thì là có link, còn không thì không có link
61
+ if github_link == False:
62
+ return "Currently, the github link for the entered article title has not been found. Please check back later!"
63
  else:
64
+ return backup_link + " | Here is the link github found based on your input. Please check the link above."
65
 
66
  import gradio as gr
67