From b9c88ca4c0856224c8d18fd8f2ccc4b4b5fc8f48 Mon Sep 17 00:00:00 2001 From: mxr612 Date: Thu, 16 May 2024 19:17:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E8=B0=83=E7=94=A8ll?= =?UTF-8?q?m=E5=81=9A=E8=AF=AD=E4=B9=89=E6=96=B9=E5=90=91=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- file_load.py | 27 +++++++++++++++++++-------- main.py | 2 -- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/file_load.py b/file_load.py index 88baaab..25e3942 100644 --- a/file_load.py +++ b/file_load.py @@ -9,9 +9,7 @@ from sklearn.metrics.pairwise import cosine_similarity from openai import OpenAI -os.environ["OPENAI_API_KEY"]= "sk-PRJ811XeKzEy20Ug3dA98a34Af8b40B5816dE15503D33599" -os.environ["OPENAI_BASE_URL"]= "http://154.9.28.247:3000/v1/" -client = OpenAI() +client = OpenAI(api_key="sk-PRJ811XeKzEy20Ug3dA98a34Af8b40B5816dE15503D33599",base_url="http://154.9.28.247:3000/v1/") def batch(): scales = os.listdir("Scales") @@ -44,6 +42,17 @@ def old_type(str): with open(str,"w") as file: file.write(json.dumps(new)) +def liguistic(a:str,b:str): + completion = client.chat.completions.create( + model="large", + messages=[ + {"role": "system", "content": "请严格按照要求回答,不要有多余解释。\n判断这两句话的语意是否相反,相反返回True,否则返回False。"}, + {"role": "user", "content": a+'\n'+b} + ] + ) + print(completion.choices[0].message.content) + return 'True' in completion.choices[0].message.content + def calc_similarity(scale): item=[] vec=[] @@ -56,6 +65,9 @@ def calc_similarity(scale): que=[] for i,v in enumerate(simi): for j in range(0,i): + if liguistic(scale[item[i]],scale[item[j]]): + simi[i][j]*=-1 + print("Opposite:",scale[item[i]],scale[item[j]]) que.append({"from":item[j], "to":item[i], "similarity":simi[i][j]}) return que @@ -96,14 +108,13 @@ def correlation(): if i!=j: try: que[i,j]=data[i].corr(data[j]) - if i in rev: - que[i,j]*=-1 - if j in rev: - que[i,j]*=-1 + # if i in rev: + # que[i,j]*=-1 + # if j in rev: + # que[i,j]*=-1 que[j,i]=que[i,j] except: pass else: break return que - diff --git a/main.py b/main.py index 04ce001..b92956a 100644 --- a/main.py +++ b/main.py @@ -20,8 +20,6 @@ for i in similarity: s+=str(i["similarity"])+','+str(correlation[i["from"],i["to"]])+'\n' x.append(i["similarity"]) y.append(correlation[i["from"],i["to"]]) - if(i['similarity']>0.5 and correlation[i['from'],i['to']]<-0.5): - print(i,correlation[i['from'],i['to']]) except: pass