2014-02-06 8 views
4

다음 두 세트가 있습니다. 아이디어는 내가 제공 한 몇 가지 메타 태그를 기반으로 뉴스 기사를 분류 할 수있게하는 것입니다. 예를 들어 나는 다음은 범죄 이야기로 분류해야한다 "판사" "5 년"을 가지고 기사를 얻을 때NLTK 분류 및 텍스트 블롭이있는 WordNet

train = [ 
      ('Honda', 'cars'), 
      ('Ford', 'cars'), 
      ('Volkswagen', 'cars'), 
      ('Courthouse', 'crime'), 
      ('Police', 'crime'), 
      ('Taurus', 'cars'), 
      ('Chevrolet', 'cars'), 
      ('Sonic', 'cars'), 
      ('Judge', 'crime'), 
      ('Jail', 'crime') 
      ] 
    test = [ 
      ('Porsche', 'cars'), 
      ('Toyota', 'cars'), 
      ('Arrest', 'crime'), 
      ('Prison', 'crime') 
      ] 

    cl = NaiveBayesClassifier(train) 

문제는 내가 실행할 때이 있다는 것입니다 :

for a, b in test: 
     print a, cl.classify(a) 

그것은 분류 모든 것 "자동차"

나는 여기서 의미 론적 유사성 비교를 놓치고 있다고 확신한다. 나는 텍스트 BLOB를 통해 WordNet을 사용하여 시도했다.

나는
word = Word("Volkswagen") 
for each in word.definitions: 
    print each 

를 실행하지만 그것은 나에게 어떤 결과를 제공하지 않습니다.

문제는 지금 :

가 어떻게 폭스 바겐은 Hyndai 또한 자동차는 것을 깨닫고 올바르게 분류 할 수 있도록 분류에 그 통합, 자동차이라고 말할 워드 넷을받을 수 있나요?

답변

1

WordNet®은 영어의 큰 어휘 데이터베이스이므로 자동차 브랜드 이름은 WordNet의 일부가 아니므로 Volkswagen이 WordNet의 자동차라는 것을 알 수 없습니다. 단어를 범주로 분류하려면 각 열차 및 테스트 예제에 대한 기능 벡터를 만들어야합니다.

1

이 문제에 대한 여러 측면이 있습니다, 당신은 아마 하나씩을해야합니다

. "내가 여기에 의미 론적 유사성을 비교 한 말이냐 확신"

"의미 상 유사성"은 고려할 수있는 많은 개선 사항 중 하나 일뿐입니다. "의미 론적 유사성"에 대해서도 모델에 포함 할 수있는 여러 가지 방법이 있지만 현재 NaiveBayes 기반 솔루션을 약간 수정하기에 모든 방법이 간단하지는 않습니다. 가장 중요한 점은 여기에서는 "조기 최적화"를 잘못하고 있다는 것입니다. WordNet 일치 및 기타 등을 사용하여 복잡한 모델을 작성하기 전에 현재 솔루션이 실제로 부족한 지 확인하십시오.

"Arrest"라는 단어가없는 데이터 세트에서 NaiveBayes 분류기를 교육하면 발견 된 모델에 앞으로이 단어를 분류하는 데 문제가있을 수 있습니다. 그러나 매우 현실적인 교육 세트를 사용하면 테스트 기사에 익숙하지 않은 태그가 너무 자주없는 상황에서는 자신을 발견 할 수 없을 가능성이 있습니다.

현실적인 데이터 세트로 작업을 시작하면 분류기를 개선하기 위해 시도 할 수있는 간단하고 간단한 작업이 많이 있음을 빠르게 알게 될 것입니다 (우선 태그 철자를 수정하십시오). "의미 론적 유사성"비즈니스. 이는 성능을 너무 많이 향상시키지 않으면 서 다양한 방식으로 모델을 복잡하게 만듭니다.

하지만 결과가 좋지 않습니다.

다른 답변에서 언급했듯이 WordNet에는 단순히 "폭스 바겐"이라는 단어에 대한 정보가 없습니다.그렇게해도 입력에 포함 된 모든 단어가 "친숙한", "오타가없는", "잘 형성된"등으로 기대해서는 안됩니다. 당신이하고있는 일의 맥락에서, 뉴스 기사가 전체 주제를 인식 할 수있는 "익숙한"태그를 충분히 가지고 있기를 바랄뿐입니다.

는 어떻게하면 Hyndai는 자동차도 실현이에

제대로 가능한 대답을 분류 할 수 있도록 워드 넷이 분류에 그 통합, 폭스 바겐 차량이라고 말합니까 특정한 질문은 단어 협회의 그래프를 만들고, "Hyunday"- "Volkswagen"등의 다른 것들을 추가하고 분류 자에게 "k- 가장 가까운 이웃"모델과 같은 것을 사용하십시오.

그러나 이것을하면 "뉴스 기사를 태그별로 분류하는"원래 작업에서 벗어나 "Hynday"단어가 계속 실패합니다.)