Weka java API를 사용하여 문서 분류를하려고합니다.StringToWordVector()의 출력 해석 - Weka
다음은 데이터 파일의 내 디렉토리 구조입니다.
+- text_example
|
+- class1
| |
| 3 html files
|
+- class2
| |
| 1 html file
|
+- class3
|
3 html files
'TextDirectoryLoader'로 만든 'arff'파일이 있습니다. 그런 다음 filter.setOutputWordCounts(true)
과 함께 만들어진 arff 파일에 StringToWordVector
필터를 사용합니다.
다음은 필터가 적용된 출력의 샘플입니다. 나는 명확한 것들을 얻을 필요가있다.
@attribute </form> numeric
@attribute </h1> numeric
.
.
@attribute earth numeric
@attribute easy numeric
이 거대한 목록은 초기 html 파일의 내용을 토큰 화해야합니다. 권리?
그리고 내가 가진
, 처음 3 개 항목에 대한 클래스 속성이 존재하지 않는 이유@data
{1 2,3 2,4 1,11 1,12 7,..............}
{10 4,34 1,37 5,.......}
{2 1,5 6,6 16,...}
{0 class2,34 11,40 15,.....,4900 3,...
{0 class3,1 2,37 3,40 5....
{0 class3,1 2,31 20,32 17......
{0 class3,32 5,42 1,43 10.........
? (class1이 있어야합니다). 앞에 오는 0은 {0 class2, ..}, {0 class3 ..}에서와 같은 의미입니다. 예를 들어 class3 폴더의 세 번째 html 파일에서 정수 32로 식별되는 단어가 5 번 나타납니다. 그냥 32라는 단어 (토큰)를 얻으려면 어떻게해야합니까?
피쳐 벡터의 크기를 어떻게 줄일 수 있습니까? 모든 특징 벡터를 같은 크기로 만들 필요가 없습니까? (트레이닝 세트에서 가장 자주 사용되는 용어를 말하고 나중에 테스트에 관해서는 100 개의 용어 만 사용하는 것을 고려해보십시오. 이렇게하면 완전히 새로운 단어가 생기면 어떻게 될까요? 테스트 단계에서 분류자가 무시할 것인가?).
여기에 뭔가가 있습니까? 나는 Weka가 처음이야.
다른 사람이 나에게 StringToWordVector
필터로 만든이 벡터를 사용하는 방법을 설명 할 수 있다면 정말 감사드립니다. (학습 데이터, 차원 축소와 어휘를 만드는처럼 웨카 코드 내에서 발생하는 것들이다?)
예 답변을 직접 배웠을 때 ans가 약간 늦었습니다. 그러나 당신의 대답에 감사 드리며 나는 그것을 받아들입니다. 안녕하세요, weka에서 libsvm (래퍼)을 사용하여 하나의 클래스 분류에 대한 경험이 있습니까? 나는 일종의 그것과 붙어있다 – KillBill
@ user601 아니, 미안. 나는 Weka에서 libsvm을 사용하지 않았다. 호기심에서 벗어나 : 혹시 기계 학습/데이터 마이닝 주제에 관한 논문을 쓰고 있습니까? – Malhelo
예 저는 텍스트 분류와 관련된 수석 졸업 논문을 쓰고 있습니다. 비슷한 것을하고 있습니까? – KillBill