2016년 6월 3일 금요일

문서간 유사율 측정 방식 알고리즘 - Dice coefficient

프로그램 개발하다 두 String 간의 유사도를 측정하는  어플리케이션을 개발하게 되었는데 단순 측정용으로 많이들 사용하는 Dice coefficient 알고리즘을 도입하여 사용했습니다.

다음은 어플리케이션 사용 고객에게서 받은 질의에 답한 내용인데, 이해에 도움이 될것 같아 블로그에 옮깁니다.

==== 답변 내용  ====

안녕하세요. OOO OO 님.

저희가 사용하는 문서 중복율 체크 로직은 문서간 유사도 측정 방식중 하나인 Dice coefficient 알고리즘을 사용합니다.

Wiki는 아래 URL 참조..

https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient

원문에 나와있듯이 Dice coefficient 로직은 문서내의 모든 문자를 Bigram set 으로 만들어 공식에 대입하여 유사도를 측정합니다.

형태소 분석이나 단어의 의미와는 전혀 상관없는 단순 측정 방식이죠..

예를들어 "night" 이라는 단어와 "nacht" 라는 단어의 유사도 산출시 25%의 유사도를 말하는 기준은 원문에 잘 나와있지만 아래 그림을 참고 하시면 이해가 쉬울것 같습니다.




아래는 유사율이 나오는 공식을 잘 설명해 줍니다.





아래 그림은 테스트용 원문으로 유사율 비교시 나오는 결과 입니다. 붉은색으로 표기된 부분이 원문과 차이 있는 부분.





업무에 참고하시기 바랍니다.




2016년 1월 19일 화요일

폴딩키 제작 (스포티지 R)

사용하는 스포티지 R 폴딩키가 노후되어서 버튼이 마몰되는 상태까지 벌어졌..

그래서 폴딩키 교체를 알아보던중, 오토큐나 현기차 정품 부품매장을 이용하면 가격이 꽤 나가더군요. 

게다가 스페어로 하나 더 복사하려면 까다로운 인증절차 에다 엄청난 대기시간 까지...

그래서 손수 제작하기로 하고 인터넷 쇼핑몰에서 KIA 스포티지 폴딩 호환키를 구매했습니다.

검색어는 각각의 쇼핑몰에서 폴딩키 로 검색하면 제조업체별로 주르륵 나오네요.


가운데가 주문한 스알 폴딩키. 왼쪽 정품에 비해 외관상 별다른 차이가 안느껴질 정도..



일단 정품키 해체작업에 들어갑니다. 위 사진과 같이 덮개 부분을 떼어냅니다. 

키의 모서리부분 과 접촉틈 사이를 커팅 나이프로 긇고 얇은 1자 드라이버로 홈을 벌리면 어렵지 않습니다.






다음 안쪽의 PCB 덮개를 양옆의 홈부분을 나이프로 긁어주어 접촉부분을 약하게 만든 다음 떼어냅니다.










위사진과 같이 드라이버를 사용해도 됩니다.










힘을 줬더니 덮개 가운데가 약간 파손된 모습.  어차피 기존 키는 버릴것이니 약간 파손이 되어도 상관 없습니다.









정품 폴딩키 완전분해 모습.











요 스프링이 사실 폴딩키제작의 처음부터 끝입니다. 뭔가 거창하게 되어있을줄 알았더만..












PCB 판도 완전히 벗겨 냅니다.












새로 주문한 폴딩키에 그림처럼 자동차키, PCB 판을 끼워 넣습니다.

수동 자동차키는 고정버튼을 누르면 손쉽게 올라올수 있도록 스프링을 1바퀴에서 2바퀴 정도로 돌린다음 장착합니다.








이런식으로 내부 고정핀을 이용,  PCB 판을 고정시키고 스프링이 고정되게 키부분을 손으로 잡고...










나머지 부분을 잡아 끼우면 서서히 모습이 완성되갑니다.












이제 후면 전지 덮개부분을 끼우고 동봉되온 나사로 조이면...






뚜껑닫고 나사조이고...








조립후 각 기능들이 제대로 작동되는지 테스트는 필수.




다음 제조사 엠블렘(스티커)을 붙이면 제작 완료.