2012-08-03 3 views
9

비슷한 키워드 세트로 구문이나 키워드를 일치시켜야하는 프로젝트를 진행하고 있습니다. 나는 같은 의미 론적 분석을 수행 할 필요가있다.유사한 의미 또는 의미를 가진 구와 일치시키는 데 사용할 NLP 도구

예 :

관련 QT
싼 건강 보험
저렴한 건강 보험 적은
저렴한 건강 보험

공통의 의미에 대한
저렴한 비용으로 의료 보험
건강 보험

저렴한 의료 보험

여기에서 일반적인 의미 열의 단어는 관련 QT 열 아래 일치해야합니다. 나는 똑같은 일을 할 수있는 많은 도구와 기술을 보았다. S-Match는 매우 유망한 것처럼 보였지만 Java가 아닌 Python으로 작업해야합니다. 또한 잠복 성 시맨틱 분석은 좋아 보이지만 나는 키워드 매칭보다는 키워드 기반의 문서 분류에 대해 더 많이 생각한다고 생각합니다. 나는 NLTK에 다소 익숙하다. 누군가 내가 어떤 방향으로 나아가 야하고 어떤 도구를 사용해야하는지에 대한 통찰력을 줄 수 있습니까?

+0

프로젝트의 범위는 어디까지입니까에서 파이썬 구현 - http://clic.cimec.unitn.it/composes/toolkit/installation.html

  • 비글 (http://www.indiana.edu/~clcl/BEAGLE/Jones_Mewhort_PR.pdf)에서 파이썬 구현 - http://radimrehurek.com/gensim/tutorial.html
  • 해부 (http://clic.cimec.unitn.it/composes/toolkit/introduction.html)에서 파이썬 구현? 몇 가지 핵심 키워드 또는 감각을 다루는 경우 손으로 단어 등가 클래스를 지정하기는 쉽습니다 (예 : '저렴한 의료 보험'을 의미하는 단어 목록). – dmh

  • +0

    약 200000 단어의 그룹에서 저가의 건강 보험과 같은 의미 론적으로 유사한 단어를 추출해야합니다. 나는 클러스터에서 의미 론적으로 유사한 단어를 일치시킬 센터 (단어)를 생성하기 위해 이러한 단어에 초기 알고리즘을 실행 한 후에 클러스터링을 적용해야한다고 생각합니다. 모든 절차는 감독되지 않습니다. –

    답변

    0

    저는 Wordnet.을 살펴 보겠습니다. 수십만 단어에 대한 진정한 동의어와 다른 단어 관계를 제공 할 것입니다. nltk 태그를 지정했기 때문에 : Wordnet에 대한 바인딩을 제공하며이를 도메인 별 솔루션의 기초로 사용할 수 있습니다.

    여전히 NLTK에있는 NLTK 책 에있는 introduction의 토론과 NLTK 책의 기반 인 nltk.text.ContextIndex의 토론을 확인하십시오. (꽤 간단하지만 여전히 필요한 모든 것일 수도 있습니다.)

    3

    큰 단어가있는 경우이 단어가있는 곳에서 모델을 학습하여 각 단어를 벡터로 나타낼 수 있습니다. 예를 들어, word2vec의 "skip-gram 및 CBOW 모델"을 통해 심층 학습을 사용할 수 있습니다. gensim software package

    word2vec 모델에서 각 단어는 벡터로 표시되므로 사이의 의미 상 유사성을 측정 할 수 있습니다. th 단어를 나타내는 벡터의 코사인을 측정하여 두 단어. 시맨틱 유사한 단어가 예를 들어, 높은 코사인 유사도를 가져야한다 :

    또한

    model.similarity('cheap','inexpensive') = 0.8 
    

    (값은 단지 설명을 위해 구성된다.), 즉 상대적으로 적은 수 (합계 내 실험에서 즉, 3 개 또는 4 단어까지) 예를 들어, 의미를 보존 :. 다시

    vector1 = model['cheap']+model['health']+model['insurance'] 
    vector2 = model['low']+model['cost']+model['medical']+model['insurance'] 
    
    similarity(vector1,vector2) = 0.7 
    

    (단지 그림)

    당신이 의미 론적 유사성을 사용할 수 있습니다 클러스터를 생성하기위한 수단으로 단어 사이를 측정하십시오.

    1

    잠재적 의미 분석은 "문서"를 의미 할 때 기본적으로 1보다 긴 단어 집합을 의미합니다. 문서와 다른 문서 사이, 단어와 다른 단어 사이의 유사성을 계산하는 데 사용할 수 있습니다. 또는 단어와 문서 사이. 따라서 선택한 응용 프로그램에 확실히 사용할 수 있습니다.유용 할 수 있습니다

    다른 알고리즘은 다음과 같습니다

    관련 문제