[JAVA 프로그램]유사도 비교 모델 소스 (유클리디언 거리 계산, Vector Space Model)
- 최초 등록일
- 2006.10.03
- 최종 저작일
- 2006.10
JAVA
- 가격 1,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
텍스트 정보 검색에 있어서 질의어와 문서간의 유사도 측정을 위해 가장 기본적으로 사용되는 Vector Space Model의 Cosine coefficiency 유사도 비교 계산법과, 영상 정보 검색 및 기타 분야에서 유사도 비교를 위해 사용되는 유클리디언 거리 계산법을 Java 프로그램을 통해서 구현한 것입니다.
이론적인 수학식은 기본적으로 알고 계셔야 코드가 쉽게 이해될 것입니다.
수식을 코드로 바꾼 단순한 프로그램입니다.
컴파일 실행환경
Java Development Kit 1.4 이상에서 컴파일 하시면 됩니다.
컴파일 : javac -classpath . Similarity.java
실행 : java -classpath . Similairty
본문내용
public class Similarity {
public static void main(String args[]) {
Similarity sim = new Similarity();
sim.run();
}
public void run() {
//질의 벡터
double query[] = new double[]{1,1,1};
//문서 벡터
double doc[][] = new double[][] {{1,1,1},{1,0,1}};
//유클리디언 거리 계산
euclideanDist(query,doc);
//Vector Space Model, Cosine coefficiency
cosine(query,doc);
}
// Vector Space Model, Cosine coefficiency
public void cosine(double query[], double doc[][]) {
System.out.println("Vector Space Model");
int i,j;
// n개의 문서에 대해서
for(i=0;i<doc.length;i++) {
double numerator = 0;
double denominator1 = 0;
double denominator2 = 0;
double result = 0;
// 쿼리 한 개와 n개의 문서에 대한 유사도를 계산한다.
for(j=0;j<doc[i].length;j++) {
//분자
numerator += (doc[i][j]*query[j]);
참고 자료
없음