문제

나는 단일 단어와 관련된 단어 (특히 물리적 객체)를 찾으려고 노력하고 있습니다. 예를 들어:

테니스: 테니스 라켓, 테니스 공, 테니스 신발

스누커: 스누커 큐, 스누커 볼, 분필

체스: 체스 보드, 체스 조각

책장: 책

나는 WordNet, 특히 Meronym Semantic 관계를 사용하려고 노력했습니다. 그러나이 방법은 아래 결과에 따라 일관성이 없습니다.

테니스: 서빙, 발리, 풋 오임, 설정 포인트, 반환, 이점

스누커: 아무것도 아님

체스: Chess Move, Checkerboard (자신의 상인 관계가 'Square'& 'Diagonal'을 보여줍니다)

책장: 선반

용어의 가중치에는 결국 가중치가 필요하지만 실제로는 문제가 아닙니다.

누구 든지이 작업을 수행하는 방법에 대한 제안이 있습니까?


그냥 업데이트 : Jeff와 Stompchicken의 답변을 모두 사용하여 끝났습니다.

Wikipedia에서 검색된 정보의 품질은 우수하며, 특히 (당연히) 관련 정보가 얼마나 많은지 ( '블로그'및 'iPod'과 같은 용어가 존재하지 않는 일부 Corpora와 비교할 때)

Wikipedia의 결과 범위가 가장 좋은 부분입니다. 이 소프트웨어는 (Brevity for Brevity)와 같은 용어를 일치시킬 수 있습니다.

  • 골프 : [공, 철, 티, 가방, 클럽
  • 사진 : [카메라, 영화, 사진, 예술, 이미지
  • 낚시 : [물고기, 그물, 갈고리, 함정, 미끼, 미끼, 막대

가장 큰 문제는 특정 단어를 물리적 인공물로 분류하는 것입니다. 기본 WordNet은 많은 용어 (예 : 'iPod'및 'Trampolining')가 존재하지 않기 때문에 신뢰할 수있는 자원이 아닙니다.

도움이 되었습니까?

해결책

나는 당신이 요구하는 것이 개념 사이의 의미 론적 관계의 원천이라고 생각합니다. 이를 위해 여러 가지 방법을 생각할 수 있습니다.

  1. 시맨틱 유사성 알고리즘. 이 알고리즘은 일반적으로 WordNet의 관계를 통한 트리 워크를 수행하여 두 용어와 관련된 실제 점수를 얻습니다. 이는 WordNet이 관심있는 개념을 얼마나 잘 모델링하는지에 의해 제한 될 것입니다. Wordnet :: 유사성 (Perl로 작성)는 꽤 좋습니다.
  2. 사용해보십시오 Opencyc 지식 기반으로. Opencyc는 '실제'사실에 대한 매우 큰 지식 기반 인 CYC의 오픈 소스 버전입니다. WordNet보다 훨씬 더 풍부한 세트 세트가 있어야합니다. 그러나 나는 OpencyC를 사용한 적이 없으므로 그것이 얼마나 완전한 지, 얼마나 쉽게 사용하기 쉬운 지 말할 수 없습니다.
  3. N- 그램 주파수 분석. Jeff Moser가 언급했듯이. 많은 양의 데이터에서 관계를 '발견'할 수 있지만 종종 시끄러운 결과를 얻을 수있는 데이터 중심의 접근 방식.
  4. 잠재적 의미 분석. 의미 적으로 관련된 단어 세트를 찾는 N-Gram 주파수 분석과 유사한 데이터 중심 접근법.

[...]

당신이하고 싶은 말로 판단하면, 마지막 두 가지 옵션이 성공할 가능성이 더 높다고 생각합니다. 관계가 WordNet에 있지 않으면 의미 론적 유사성이 작동하지 않으며 OpencyC는 많이 알지 못하는 것 같습니다. 스누커 그것이 존재한다는 사실 외에.

N- 그램과 LSA (또는 그와 비슷한 것)의 조합이 좋은 생각이라고 생각합니다. N- 그램 주파수는 개념이 목표 개념 (예 : 테니스 공)에 밀접하게 바인딩되는 것을 발견하고 LSA는 동일한 문장/문서 (예 : 순, 서빙)에 언급 된 관련 개념을 찾을 수 있습니다. 또한 명사에만 관심이있는 경우 명사 또는 명사 문구 만 포함하도록 출력을 필터링합니다 ( 부품 태그거) 결과를 향상시킬 수 있습니다.

다른 팁

첫 번째 경우, 당신은 아마도 n- 그램 여기서 n = 2 모든 위키 백과.

자세한 내용은 확인하십시오 이 관련 스택 오버플로 질문.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top