사전 학습된 bert 이용해서 두 문단의 유사도를 측정하려고 하는데, 전혀 다른 두 문단을 넣어도 유사도가 0.94로 높게 나오네. Chat gpt에서 얻은 코든데
이거 도움 좀 줘
익명(124.49)
2024-12-01 16:08
추천 0
댓글 9
다른 게시글
-
일본인들이 제일 무서운 이유슈퍼막코더(126.156) | 24.12.01추천 0
-
차라리 우울하고 싶어 [7]주아(jua1347) | 24.12.01추천 0
-
대학 졸업생 메달 판정법발명도둑잡..(aerohong) | 24.12.01추천 1
-
아침 점심발명도둑잡..(aerohong) | 24.12.01추천 0
-
사회실험 나도 해볼까?! 2천원 들고 백반집 가기??익명(123.213) | 24.12.01추천 0
-
휘몰아친 '옥씨부인전', 노비 임지연 처절한 생존기발명도둑잡..(aerohong) | 24.12.01추천 0
-
ERP 신입은 어디 들어가는게 best임? [15]익명(221.155) | 24.12.01추천 1
-
40번 넘게 절도까지 하며 여성BJ에 8억원 후원한 남성발명도둑잡..(aerohong) | 24.12.01추천 0
-
실제 프로젝트 개발은 그냥 노가다인가요? [3]익명(58.233) | 24.12.01추천 0
-
모에 연합군 기본수칙과 강의 자료- [1]익명(121.172) | 24.12.01추천 1
전혀 다른 두 문단의 예시 한번 올려봐봐
하... 그리고 새끼야 윈도우에 캡처 버튼은 갖다 버렸어? 이걸 핸드폰으로 찍고 있네
나는 달달한 케이크를 좋아하지만 그녀는 아니다. 그녀는 단 것을 좋아하지 않는다. 저번 주에 내가 초콜렛을 그녀에게 선물했지만 그녀는 고마워하지 않았다. // 이거랑 // 3월 창원국제사격장에서 열린 2024 파리 올림픽 사격 국가대표 선발전 여자 공기소총 부문에서 종합 1위로 올림픽 진출 티켓을 따냈다. 사격 시작 후 약 3년 만이다. // 이게 유사도 코사인 유사도 95퍼센트임
명쾌한 해답은 아니다만 니가 쓴 bert-base-uncased 모델은 한글은 학습되어있지가 않다. 그래서 한글을 입력 받으면 임베딩할때 대충 임의의 토큰으로 처리를 하거든? 두 문장 전부 한글이다보니 두 문장 대부분이 임의의 토큰으로 처리가 되고 코사인 유사도 검사는 토큰화가 진행된 이후에 검사를 하는거니깐 결국 서로 비슷하다고 판단해서 코사인 유사도가 높게 나오는거지
쉽게 말해 모델이 문장을 볼때 모르는 부분은 ## 으로 처리를 해버리는데 두 문장 전부 죄다 모르니까 죄다 ## 처리를 해버리는거고 결국 ## 밖에 없는 두 문장은 상당히 유사하다고 판단해버리는거지
이에 대한 해결책으로 한글 학습이 되어있는 skt ko-bert 모델을 가저다 사용하거나 아니면 문자열 유사도 검사인 fuzzywuzzy.ratio 메서드를 사용해봐라
from fuzzywuzzy import fuzz # 두 문장 정의 sentence1 = "나는 달달한 케이크를 좋아하지만 그녀는 아니다. 그녀는 단 것을 좋아하지 않는다. 저번 주에 내가 초콜렛을 그녀에게 선물했지만 그녀는 고마워하지 않았다." sentence2 = "3월 창원국제사격장에서 열린 2024 파리 올림픽 사격 국가대표 선발전 여자 공기소총 부문에서 종합 1위로 올림픽 진출 티켓을 따냈다. 사격 시작 후 약 3년 만이다." # Fuzz ratio로 유사도 계산 similarity_score = fuzz.ratio(sentence1, sentence2) print(f"Fuzz Ratio Similarity: {similarity_score}%")
고맙다 ㄹㅇ 너 덕분에 살았다
굿럭