2012-05-24 4 views
3

다음 링크에서 나는 약간의 아이디어를 얻었다. 나는 그것이 올바르게하고 있는지 또는 잘못된 길에 있는지 묻고 싶다. 내가 틀린 길에 있다면, 나를 안내 해주십시오.텍스트 분류 (감상) 용 libsvm

링크
Using libsvm for text classification c#
How to use libsvm for text classification?

내 방식

먼저
는 각 단어

예를 들어

sample word count form training set 
|-----|-----------| 
|  | counts | 
|-----|-----|-----| 
|text | +ve | -ve | 
|-----|-----|-----| 
|this | 3 | 3 | 
|forum| 1 | 0 | 
|is | 10 | 12 | 
|good | 10 | 5 | 
|-----|-----|-----| 
,369에 대한 maping 목록을 만들기 세트 각 훈련의 단어 수를 계산개

긍정적 인 학습 데이터

this forum is good 

이렇게 훈련 세트는

+1 1:3 2:1 3:10 4:10 

이 모두가 내가 위의 링크에서받은 단지 무엇을 할 것이다.
도와주세요.

답변

4

당신이 올바르게하고 있습니다.

당신의 laben이 "+1"이라고 불리는 이유를 모르겠습니다. 간단한 정수 (문서 "+ ve"참조)가되어야하지만, 모두가가는 길입니다.

문서 분류를 위해 많은 기능을 처리하도록 특별히 설계된 liblinear를 살펴볼 수 있습니다.

+0

다른 것은, 내 샘플 단어 수 지수와 내 훈련 워드 인덱스 일치 인덱스는 교육 단어에서 일하기 때문에 "이 포럼을 좋은가 "아니면 표본 단어 수의 지수인가? 또한 한 단어가 반복되는 경우 어떻게해야합니까? "이 포럼은 매우 좋음"과 같이 "매우"단어의 수가 3이면 새로운 교육이 무엇이 될 것입니까? – bunkdeath

+0

우선, Stackoverflow에 대한 질문이 아니지만, : 당신이 옳았는지 모르겠지만 기본적으로 당신은 SVM에 넣은 기능 세트 (= 속성이있는 문서)가 필요합니다. 각 세트는 첫 번째 또는 두 번째 문서 클래스 (1 또는 2)에 속합니다. 그런 다음 지원 벡터 머신은 이들 사이의 여백을 계산하여 두 세트로 나눕니다. 분류되지 않은/알려지지 않은 문서로 svm을 먹이면 분류 된 세트가 속한 것인지 확인하고 결과를 반환합니다 (위키피디아를 읽어야합니다). –

+0

기능/속성을 얻으려면 단어를 ID에 매핑하는 사전을 만들 수 있습니다. 당신의 예제 에서처럼 "this"라는 단어는 id 1, "forum"-2 등을가집니다. 물론 모든 문서에 대해 동일한 단어 <-> ID 연결을 사용하므로 중앙 집중식 사전이 필요합니다. –