약 3000 개의 문서에서 구조화되지 않은 텍스트 데이터를 추출했으며이 데이터를이 문서를 분류하는 데 사용하려고합니다.NLTK : 벡터화 후 기능 감소
그러나 정지 문자 &을 제거하고 데이터를 lemmatize 한 후에도 카운트 벡터화는 64000 개 이상의 피쳐를 생성합니다.
이러한 많은 기능에는 임의의 숫자와 같은 불필요한 토큰이나 다른 언어의 텍스트가 들어 있습니다. 내가 사용하고
라이브러리는 다음과 같습니다
- 토큰 화 : PUNKT (NLTK)
- POS 태그 : 펜 Treebank (NLTK)
- 원형 화 : 워드 넷 (NLTK)
- 벡터화 : CountVectorizer (sk-learn)
누구든지 내 분류자를 훈련하기 위해 기능의 수를 줄일 수있는 방법을 제안 할 수 있습니까?
카운트 벡터화가 항상 상당한 신체의 모든 종류의 기능의 엄청난 금액을 생성합니다. 이를 제한하기 위해 어휘 목록을 제공해야합니다. 좋은 어휘 목록을 만드는 것은 그 자체로 좋은 문제입니다. – Arne
정확합니다. 이 특별한 문제의 문제점은, 저에게는 그것이 미지의 영역에 있다는 것입니다. 그래서 나는 찾아야 만하는 단어에 대해서 확신조차하지 못한다. – prashantarya
문서를 식별/분류하기 위해 단어를 중요하게 만드는 것을 배우고 싶다면'tf/idf' 알고리즘을 살펴보기 바란다. CountVectorizer가 가중치를 위해 내부적으로 사용하는 것일 수도 있지만, 단어 선택 방법에 대해 잘 알고 있다면 코퍼스에서 가장 중요한 단어의 목록을 만들 수 있어야합니다. 그게 당신 문제를 해결할 수 있을까요? – Arne