초기 키워드를 기준으로 관련 단어 목록을 늘리는 방법은 무엇입니까?


19

최근 Google 스프레드 시트에서 사용할 수 있는 멋진 기능을 보았습니다 . "blue", "green", "yellow"와 같은 연속 된 셀에 몇 가지 관련 키워드를 작성하는 것으로 시작하면 유사한 키워드가 자동으로 생성됩니다 (이 경우 다른 색상). 이 YouTube 비디오 에서 더 많은 예제를보십시오 .

내 프로그램에서 이것을 재현하고 싶습니다. Freebase를 사용하려고 생각하고 다음과 같이 직관적으로 작동합니다.

  1. Freebase에서 주어진 단어의 목록을 검색하십시오.
  2. "공통 분모"를 찾아이를 바탕으로 거리 메트릭을 구성하십시오.
  3. "거리"를 기준으로 다른 개념을 원래 키워드와 순위를 정하십시오.
  4. 다음으로 가장 가까운 개념을 표시하십시오.

이 영역에 익숙하지 않기 때문에 내 질문은 다음과 같습니다.

  • 더 좋은 방법이 있습니까?
  • 각 단계에서 어떤 도구를 사용할 수 있습니까?

내 생각에 이것은 큰 코퍼스의 학습 주제를 기반으로한다는 것입니다.
tchakravarty 2016 년

설명을 찾으려면 Google Sets라는 기본 방법에 대한 논문이 있다고 생각합니다.
jamesmf

1
이 문제를 "쿼리 확장"이라고합니다.
Emre

답변:


15

word2vec 알고리즘은 비슷한 단어 목록에 대한 더 많은 요소를 검색 할 수있는 좋은 방법이 될 수 있습니다. 이전에 Wikipedia 기반 교육 데이터로 입증 된 감독되지 않은 "딥 러닝"알고리즘입니다 (도우미 스크립트는 Google 코드 페이지에 제공됨).

현재 CPython 구현이 있습니다. 이 튜토리얼 에 의해 Radim Řehůřek ,의 저자 Gensim 주제 모델링 라이브러리는 , 시작하는 훌륭한 장소입니다.

학습서 의 "단일 주제" 데모는 단일 단어와 유사한 단어를 검색하는 좋은 예입니다 ( '빨간색'또는 '노란색'을 검색해보십시오). 일련의 입력 단어와 전체적으로 가장 유사한 단어를 찾기 위해이 기술을 확장 할 수 있어야합니다.


5

Corpora에서 간단한 단어 동시 발생을 활용하는 빈도 기반 접근 방식을 고려 했습니까? 적어도 그것이 대부분의 사람들이 이것에 사용하는 것을 보았습니다. Manning and Schütze의 저서에서 간략하게 다룰 수 있다고 생각하며, 대학원 학교에서 숙제로이 같은 것을 기억하는 것 같습니다 ...

여기에 더 많은 배경 : http://nlp.stanford.edu/IR-book/html/htmledition/automatic-thesaurus-generation-1.html

이 단계의 경우 :

"거리"를 기준으로 다른 개념을 원래 키워드와 순위를 정하십시오.

살펴볼 수있는 몇 가지 시맨틱 유사성 메트릭이 있습니다. 다음은 WordNet에서 이러한 유사성 메트릭 중 몇 가지를 사용하여 클래스 프로젝트를 위해 작성한 슬라이드에 대한 링크입니다. http://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/greenbacker-WordNet-Similarity. pdf


3

이것은 범위가 숙제 과제에서 Google 규모 프로젝트에 따라 다를 수있는 좋은 문제 중 하나입니다.

실제로 단어의 동시 발생 (예 : 조건부 확률)으로 시작할 수 있습니다. 가장 인기있는 단어이기 때문에 대부분의 단어 와 관련된 중지 단어 목록을 빠르게 찾을 수 있습니다. 조건부 확률 리프트를 사용하면 중지 단어를 처리하지만 관계가 적은 수 (대부분의 경우)로 오류가 발생하기 쉽습니다. Jacard를 사용해 볼 수도 있지만 대칭이기 때문에 찾을 수없는 많은 관계가 있습니다.

그런 다음 기본 단어에서 가까운 거리에만 나타나는 관계를 고려할 수 있습니다. 일반적인 말뭉치 (예 : Wikipedia)와 사용자 별 (예 : 이메일)을 기반으로 관계를 고려할 수 있습니다.

모든 조치가 양호하고 다른 조치보다 우위에있을 때, 곧 관련성 조치가 많이있을 것입니다.

이러한 조치를 결합하기 위해 문제를 분류 문제로 줄이고 싶습니다.

파리 단어의 데이터 세트를 작성하고 "관련됨"으로 레이블을 지정해야합니다. 큰 레이블이 지정된 데이터 세트를 빌드하기 위해 다음을 수행 할 수 있습니다.

  • 긍정적 인 단어로 알려진 관련 단어 (예 : 오래된 위키 백과 범주)를 사용하십시오.
  • 관련성이없는 것으로 알려진 대부분의 단어는 관련이 없습니다.

그런 다음 가지고있는 모든 측정 값을 쌍의 기능으로 사용하십시오. 지금 당신은 감독 분류 문제의 영역에 있습니다. 데이터 세트에서 분류자를 작성하고 필요에 따라 평가 한 후 요구에 맞는 유사성 측정 값을 얻으십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.