텍스트 분류 예제

NLTK는 그 뒤에 큰 커뮤니티가 자연어 처리 (NLP)에 초점을 맞춘 인기있는 라이브러리입니다. 단락을 문장으로 나누고, 단어를 분할하고, 그 단어의 연설 부분을 인식하는 것과 같은 텍스트를 기계가 이해할 수 있도록 모든 종류의 유용한 도구를 제공하기 때문에 텍스트 분류에 매우 편리합니다. Weka는 와이카토 대학에서 개발한 기계 학습 라이브러리로 분류, 회귀, 클러스터링 및 데이터 시각화와 같은 많은 도구가 포함되어 있습니다. Weka의 알고리즘 컬렉션을 데이터 집합에 직접 적용하기 위한 그래픽 사용자 인터페이스와 자체 Java 코드에서 이러한 알고리즘을 호출하는 API를 제공합니다. RTE를 분류 작업으로 취급할 수 있으며 각 쌍에 대한 True/False 레이블을 예측하려고 합니다. 이 작업에 대한 성공적인 접근 방식에는 구문 분석, 의미 론적 및 실제 지식의 조합이 포함될 것으로 보이지만 RTE의 많은 초기 시도는 텍스트와 텍스트 간의 유사성에 따라 얕은 분석으로 합리적으로 좋은 결과를 얻었습니다. 단어 수준에서 가설. 이상적인 경우, 우리는 수란이있는 경우, 가설에 의해 표현 된 모든 정보도 텍스트에 존재해야한다고 기대할 것입니다. 반대로, 텍스트에서 없는 가설에 있는 정보가 있으면 수반이 없습니다. 이러한 값을 찾으려면 sklearn.metrics 라이브러리에서 classification_report, confusion_matrix 및 accuracy_score 유틸리티를 사용할 수 있습니다. 이렇게 하려면 다음 스크립트를 실행합니다: 기능 추출 기능을 보강하여 이 음성 변환 기에서 단어 길이, 포함된 음절 수 또는 접두사와 같은 다양한 다른 단어 내부 기능을 활용할 수 있습니다. 그러나 기능 추출기에서 대상 단어를 보는 한 단어가 나타나는 컨텍스트에 종속된 기능을 추가할 수 없습니다.

그러나 문맥 기능은 종종 올바른 태그에 대한 강력한 단서를 제공합니다 – 예를 들어, “fly”라는 단어를 태그 할 때 이전 단어가 “a”라는 것을 알면 동사가 아닌 명사로 작동하고 있음을 확인할 수 있습니다. 분류자, 정확도를 평가하는 데 사용할 수 있는 가장 간단한 메트릭은 분류자에 올바르게 레이블이 지정된 테스트 집합의 입력 비율을 측정합니다. 예를 들어 80개의 이름을 포함하는 테스트 세트에서 올바른 이름을 60번 예측하는 이름 성별 분류기의 정확도는 60/80 = 75%입니다. 함수 nltk.classify.accuracy()는 주어진 테스트 세트에서 분류기 모델의 정확도를 계산합니다: 심층 신경망은 숨겨진 계층이 단순한 sigmoid 또는 relu보다 훨씬 더 복잡한 작업을 수행하는 더 복잡한 신경망입니다. 활성화. 텍스트 분류 문제에는 다양한 유형의 딥 러닝 모델을 적용할 수 있습니다. 자동 텍스트 분류에는 세 가지 유형의 시스템으로 그룹화할 수 있는 여러 가지 접근 방식이 있습니다. 그러나 경우에 따라 특정 결과를 얻기 위해 사용자의 요구에 맞는 분류자를 교육하는 것이 유용합니다. 이렇게 하면 분류기가 도메인 및 데이터에서 학습하고 고유한 기준을 사용하여 문서를 분류할 수 있습니다. 부스팅 모델은 트리 기반 모델의 또 다른 유형의 앙상블 모델 부분입니다. Boosting는 주로 편견을 줄이는 기계 학습 앙상블 메타 알고리즘이며, 감독 된 학습의 차이와 약한 학습자를 강력한 학습기로 변환하는 기계 학습 알고리즘 제품군입니다. 약한 학습자는 실제 분류와 약간만 상관관계가 있는 분류자로 정의됩니다(무작위 추측보다 예제에 레이블을 지정할 수 있음).

텍스트 분류를 사용하면 이 모델에 대해 자세히 알아보기하여 사용자가 표준 영어, 이모티콘 또는 Goku 참조를 작성했는지 여부는 상관 없습니다. 알고리즘은 입력 구와 출력 사이의 통계 적 관계를 찾고 있습니다. 1성급 및 2성급 리뷰와 더 밀접한 상관 관계를 맺는다면 알고리즘은 “비승인의 모양”이모티콘이 무엇인지 전혀 알지 못하더라도 이를 선택합니다.