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