검색어 입력폼

[JAVA 프로그램]유사도 비교 모델 소스 (유클리디언 거리 계산, Vector Space Model)

저작시기 2006.10 | 등록일 2006.10.03 파일확장자 JAVA (java) | 가격 500원

소개글

텍스트 정보 검색에 있어서 질의어와 문서간의 유사도 측정을 위해 가장 기본적으로 사용되는 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]);

참고 자료

없음
다운로드 맨위로