우선 Naive Bayes가 적합하지 않을 것입니다. 그것은 입력들 사이의 독립성 (따라서 "순진")과 문장의 단어들이 매우 의존적이라고 가정합니다.
그러나 실험을 시작하기 위해 알고리즘으로 NB를 사용한다고 가정하면 두 가지 옵션이 있습니다.
부끄럽지 않은 : 많은 NB 분류기
이것은 대안적인 접근법 일 것입니다. 입력 벡터로 관찰 된 모든 단어의 코 루푸스를 만드십시오. 출력 벡터로 관찰되는 모든 태그에서 코퍼스를 만듭니다. 여러 개의 출력을 가진 NB 분류기는 각각 하나의 출력을 가진 여러 개의 NB 분류기를 사용하는 것과 같습니다 (사용중인 소프트웨어 프레임 워크에서 구현하기 쉬운 방법). 주어진 입력 (단어)이 1
해당 단어가 존재하고 해당 단어가 존재 0
하지 않는 경우 각 요소를 학습 샘플로 취급하십시오 . 출력에 동일한 이진 체계를 사용하십시오.
이 무차별 공격은 NB 분류기를 데이터에 적용하고 여전히 남은 거대한 분류자를 채굴하기 위해 의미를 찾을 수있게합니다.
더 우아한 : 데이터 처리
하나의 다중 클래스 NB 분류기로 실행하려는 경우이 방법을 사용하는 것이 좋습니다.
여기서 목표는 각 태그 세트를 단일 클래스에 맵핑하는 방법을 알아내는 것입니다. 나는 일종의 클러스터링 체계 나 네트워크 분석 (아마도 ""살인 "]에 연결된 ["연예인 "]이 태그를 하나의 단일 클러스터에 현명하게 매핑 할 수있는 세그먼트 ["분화 장소 "가 될 수 있음)가있을 것이라고 확신한다. 태그를 노드로 취급하고 지정된 태그 두 개를 링크로 취급하는 경우 커뮤니티 감지 알고리즘 (여기서 시작한 곳)을 살펴보고 싶을 것입니다. 그러나 무언가 작동하고 싶다면 태그 목록을 데이터 세트에서 가장 일반적으로 볼 수있는 태그로만 변환하는 태그를 해킹하는 것으로 충분합니다.
이 방법은 데이터 정리 작업을 프론트로드하고 NB 분류기의 출력을 이해하기 쉽게 만듭니다.