2012-02-17 3 views
1

wordnet의 상위어를 인식하고 있지만 모든 용어에 의미가 있기 때문에 단어의 문맥상의 의미를 찾기 위해 Lesk 알고리즘을 사용해야합니다.wordnet을 사용하여 Java에서 단어의 뿌리 찾기

과정에서 나는 question을보아야합니다. 대답으로 speicified 되었습니다이 알고리즘을 구현하려고합니다.

하지만 내 주요 문제가

"두 노드 사이의 노드의 수의 역의 제품을"발견에 어떻게 두 단어 사이의 노드의 수를 찾을 수 있습니까. 내가 단어 응용 프로그램을 가지고가는 경우 : 내가 hypernyms를 사용하려고하면

, 그것은 계층 구조

예에서 현재 단어보다 한 단계 위에있는 단어의 집합을 반환합니다. 워드 넷은 6 의미를 제시하고 각각의 의미를 내가 계층의 다음 단어로 고려해야 할 단어 계층

for the 1th meaning of application the hypernyms are 
request petition postulation 
for the 2th meaning of application the hypernyms are 
use usage utilization utilisation employment exercise 
for the 3th meaning of application the hypernyms are 
program programme computer program computer programme 
for the 4th meaning of application the hypernyms are 
manual labor manual labour 
for the 5th meaning of application the hypernyms are 
remedy curative cure therapeutic 
for the 6th meaning of application the hypernyms are 
effort elbow grease exertion travail sweat 

지금의 다음 단계로 고려해야 이제 단어 루트 단어의 집합이 있습니다 거리를 찾기 위해 루트에 내장되어 있습니까?

내가 긴급한 필요 당신이 연결 알고리즘은 나에게 혼란 조금 보인다

답변

1

에서 오전, 도와주세요. 나는 당신이 질문을 한 다른 사람과 같은 목적을 가지고 있다고 가정합니다 : 한 단어에 대해 적절한 동의어를 찾으십시오. 이 작업은 두 단계로 나눌 수 있습니다

  1. 동의어

하더라도 얻을 당신이 감각으로 끝낼 수 있도록, 동의어를 찾을거야

  • 명확하게 단어 첫 번째 단계는 Lesk algorithm, simplified version 또는 alternatives 중 하나를 사용하여 먼저 수행해야합니다. 그렇다면 그 의미에 대한 상위어 만 있습니다.

    은 노드 거리를 (적어도 Lesk의 일부로) 계산할 필요가 없습니다. 가장 가능성있는 의미를 찾으려면 각각의 용어를 비교하면됩니다. 명확하지 않거나 질문을 올바르게받지 못했다면 주저하지 말고 의견을 말하십시오.

  • +0

    감사합니다 ..하지만 단어에서 뿌리까지 내 경로를 추적해야한다면 probem이 무엇인지, 각 레벨마다 많은 상위 기호를 갖게 될 것입니다. 예를 들어, 애플리케이션이라는 단어에 대해 컨텍스트에서 컴퓨터). 이제 다음 단계는 컴퓨터가 될 것입니다. 이것은 차례로 3-4 개의 상위 기호를 갖습니다. (wordnet은 기계, 계산기를 제공합니다). 지금 이걸 어떻게 모호합니까 ... 나는 모호한 문장을 가지고 있지 않습니다. – CTsiddharth

    +0

    정말요? 각각의 _sense_ (즉, 프로그램으로서의 애플리케이션)에 대하여, 워드 넷은 오직 직접 상위 문자만을 갖는다. 이 상위 문자가 여러 단어 (synset이라고도 함)로 표시된다는 것은 당신에게 중요하지 않아야하며 여전히 하나의 직접 상위 문자입니다. 여기를 참조하십시오 : http://wordnetweb.princeton.edu/perl/webwn?o2=&o0= 1 O8 = 1 O1 = 1 O7 = O5 = O9 = O6 = 03 = O4 = S = 출원 I = 5 H = 000100000 # C 상속 hypernyms (여전히 단 하나의 사슬)에서 여기 : HTTP : //wordnetweb.princeton. edu/perl/webwn? o2 = & o0 = 1 & o8 = 1 & o1 = 1 & o7 = & o5 = & o9 = & o6 = & o3 = & o4 = & r = 1 & s = 응용 프로그램 & i = 5 & h = 0001010000 # c – Vladtn

    +0

    배열을 반환 한 이후로 나는 그들이 다른 상위어라고 생각했습니다. 이제 나는 첫 번째 대위법을 맹렬히 지키고 진행할 것입니다. 그 확인은 ? – CTsiddharth

    관련 문제