중화사전망 - 중국어 사전 - 텍스트 분류 방법은 무엇입니까?
텍스트 분류 방법은 무엇입니까?
텍스트 분류 응용 프로그램: 일반적인 스팸 인식, 감정 분석
텍스트 분류 방향: 주로 두 가지 분류, 다중 분류 및 다중 레이블 분류가 있습니다
텍스트 분류 방법: 전통적인 기계 학습 방법 (베이지안, SVM 등). ) 및 심화 학습 방법 (fastText, TextCNN 등 ).
이 글의 사고: 주로 텍스트 분류의 처리 과정과 주요 방법을 소개한다. 독자들이 텍스트 분류를 처리할 때 어떤 방향으로 시작하는지, 어떤 문제에 초점을 맞추고, 다른 장면에 대해 어떤 방법을 취해야 하는지 이해하도록 노력하라. (존 F. 케네디, 독서명언)
텍스트 분류 처리는 대략 텍스트 사전 처리, 텍스트 피쳐 추출 및 분류 모델 구성으로 나눌 수 있습니다. 중국어 텍스트 사전 처리는 영어 텍스트 처리 및 분류에 비해 핵심 기술입니다.
중국어 분사는 중국어 텍스트 분류의 핵심 기술이다. 특징의 세분성은 단어의 세분성보다 훨씬 낫다. 그 분류 알고리즘은 대부분 어순정보를 고려하지 않고, 단어의 세분성에 기반한 N 메타문법 정보의 손실이 너무 많다. 다음은 중국어 분사 기술을 간단히 요약해 보겠습니다. 문자열 일치를 기반으로 한 분사, 이해를 바탕으로 한 분사, 통계 기반 분사 [1] 입니다.
1, 문자열 일치를 기반으로 한 분사 방법:
절차: 이것은 사전 기반 중국어 분사이며, 핵심은 먼저 통일된 사전표를 만드는 것이다. 문장에 분사가 필요할 때, 먼저 문장을 여러 부분으로 나누고, 각 부분은 사전과 일일이 대응한다. 단어가 사전에 있으면 분사가 성공하고, 그렇지 않으면 성공할 때까지 계속 분할 일치를 한다.
핵심: 사전, 분사 규칙, 일치 순서가 핵심입니다.
분석: 장점은 속도가 빠르고, 시간 복잡성은 O(n) 로 유지될 수 있고, 실현은 간단하고, 효과는 받아들일 수 있다는 것입니다. 그러나 애매모호함과 모르는 단어를 처리할 때는 효과가 좋지 않다.
2. 이해를 바탕으로 한 분사 방법: 이해를 바탕으로 한 분사 방법은 컴퓨터가 문장에 대한 이해를 시뮬레이션하여 단어를 인식하는 효과를 얻는 것이다. 그 기본 사상은 분사와 동시에 구문과 의미 분석을 하고 구문과 의미 정보를 이용하여 모호성을 처리하는 것이다. 일반적으로 분사 하위 시스템, 구문 의미 하위 시스템 및 일반 제어 섹션의 세 부분으로 구성됩니다. 총통제부의 조율 하에 분사 하위 시스템은 단어와 문장에 대한 구문 의미 정보를 얻어 분사의 모호성, 즉 인간이 문장을 이해하는 과정을 시뮬레이션할 수 있다. 이런 분사 방법은 대량의 언어 지식과 정보를 필요로 한다. 중국어 지식의 개괄성과 복잡성으로 인해 다양한 언어 정보를 기계가 직접 읽을 수 있는 형식으로 구성하기가 어렵기 때문에, 현재 이해를 바탕으로 한 분사 시스템은 아직 실험 단계에 있다.
3, 통계 기반 단어 세분화 방법:
과정: 통계적으로 분사는 확률 최대화 문제, 즉 문장을 분할하는 것이다. 코퍼스 기반, 인접 단어로 구성된 단어의 확률을 통계하다. 인접한 단어가 더 많이 나타날수록 확률이 높아진다. 따라서 분사는 확률값에 따라 진행되므로 완전한 코퍼스가 중요하다.
주요 통계 모델은 N-gram, 숨겨진 마르코프 모델, 최대 엔트로피 모델 (ME), 조건부 임의 필드 모델 (CRF) 등입니다.
1, 분사: 중국어 임무 분사는 필수이며, 일반적으로 제패 분사를 사용하며, 업계 선두주자입니다.
2. 단어 비활성화: 비활성화 단어 사전을 만듭니다. 현재 비활성화어에 관한 사전은 약 2000 권이며, 비활성화어는 주로 부사, 형용사, 접속사를 포함한다. 불용 목록을 유지하는 것은 실제로 피쳐 추출 프로세스이며 본질적으로 피쳐 선택의 일부입니다.
3. 품사 표기: 분사를 판단한 후의 품사 (동사 명사 형용사 부사 ......) 는 스트리트 파이터 분사를 사용할 때 매개변수를 설정하여 얻을 수 있다.
텍스트 분류의 핵심은 텍스트에서 텍스트 특징을 반영하는 주요 특징을 추출하고 피쳐와 범주 간의 매핑을 캡처하는 방법입니다. 따라서 피쳐 엔지니어링은 매우 중요하며 네 부분으로 구성될 수 있습니다.
1, bag 모델을 기반으로 한 특징 표현: 단어 단위 (Unigram) 로 구성된 bag 는 수만 차원에 이를 수 있습니다. 이진 및 삼원 모델을 고려하면 bag 의 크기가 수십만 명에 이를 수 있으므로 bag 모델을 기반으로 한 피쳐 표현은 일반적으로 매우 희소합니다.
(1) 패키지 피쳐에는 다음과 같은 세 가지 방법이 있습니다.
(2) 장단점:
2. 포함된 피쳐 표현: 단어 벡터를 통해 텍스트의 특징을 계산합니다. (주로 에세이 텍스트)
4. 작업 자체에 기반한 특징: 주로 특정 작업을 위해 설계되었습니다. 데이터에 대한 우리의 관찰과 인식을 통해 우리는 잠재적으로 유용한 특징을 발견할 수 있을 것이다. 경우에 따라 이러한 수동 피쳐는 최종 분류 효과를 크게 향상시킵니다. 예를 들어, 긍정적인 의견과 부정적인 의견을 분류하는 작업의 경우 부정적인 단어의 수는 강력한 1 차원 특징입니다.
5. 특징 융합: 피쳐 차원이 높고 데이터 패턴이 복잡한 경우 비선형 모델 (예: 유행하는 GDBT, XG Boost) 을 사용하는 것이 좋습니다. 피쳐 차원이 낮고 데이터 패턴이 간단한 경우 LR 과 같은 간단한 선형 모형을 사용하는 것이 좋습니다.
6, 테마 기능:
LDA (문서의 주제): 문서 컬렉션에 t 개의 주제가 있다고 가정할 수 있으며, 한 문서는 하나 이상의 주제에 속할 수 있습니다. LDA 모델을 통해 문서가 주제에 속할 확률을 계산하여 DxT 매트릭스를 계산할 수 있습니다. LDA 기능은 문서 태그와 같은 작업에서 잘 작동합니다.
LSI (문서의 잠재적 의미): 문서의 잠재적 의미는 문서 분해-단어 빈도 매트릭스를 통해 계산되며 LDA 와 유사하며 문서의 잠재적 특징입니다.
이 부분은 요점이 아니다. 기존 기계 학습 알고리즘에서 분류에 사용할 수 있는 모든 모델 (예: NB 모델, 임의 산림 모델 (RF), SVM 분류 모델, KNN 분류 모델 및 신경망 분류 모델) 을 사용할 수 있습니다.
업계가 스팸을 식별하기 위해 이 모델을 사용하기 때문에 베이시안 모델을 강조한다 [2].
1, fastText 모델: fastText 는 word2vec 의 저자인 Mikolov 가 페이스북: 효율적인 텍스트 분류의 금낭 묘책 [3] 이후 16 년 7 월 발표한 논문이다.
모델 구조:
개선 사항: 주의 메커니즘은 자연어 처리 분야에서 일반적으로 사용되는 모델링 장기 메모리 메커니즘으로, 각 단어가 결과에 기여하는 것을 시각화할 수 있으며 기본적으로 Seq2Seq 모델의 표준이 되었습니다. 사실, 텍스트 분류는 어떤 의미에서 특별한 Seq2Seq 로 이해될 수 있기 때문에 최근에야 주의력 메커니즘을 도입하는 것을 고려하고 있다.
프로세스:
전방 및 후방 RNN 은 각 단어의 전방 및 후방 컨텍스트를 나타내는 데 사용됩니다.
단어의 표현은 단어 벡터와 앞뒤 컨텍스트 벡터가 연결된 형태가 됩니다.
분명히 모델은 가장 중요한 것이 아닙니다. 좋은 모델 디자인은 좋은 결과를 얻는 데 매우 중요하며 학계의 관심의 초점이기도 합니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 예술명언) 그러나 실제로 모델의 작업량은 비교적 적은 시간을 차지합니다. 두 번째 부분에서는 CNN/RNN 과 그 변종의 다섯 가지 모델을 소개하지만 실제로 CNN 을 통해서만 중국어 텍스트 분류 작업에서 매우 좋은 결과를 얻을 수 있습니다. 우리의 실험 테스트에 따르면 RCNN 은 약 1% 의 정확도를 높였지만 그다지 두드러지지 않았다. 가장 좋은 방법은 TextCNN 모델을 사용하여 전체 작업 효과를 최상으로 조정한 다음 모델을 개선하는 것입니다.
데이터 이해: 심도 있는 학습을 적용하는 데는 더 이상 번거롭고 비효율적인 인공특성공학이 필요하지 않다는 장점이 있지만, 단지 블랙박스로만 생각한다면 인생을 자주 의심할 수밖에 없다. (윌리엄 셰익스피어, 햄릿, 공부명언) 반드시 당신의 데이터를 이해해야 합니다. 전통적인 방법이든 심화 학습 방법이든 데이터감은 항상 중요하다는 것을 명심하세요. Badcase 분석에 주의하여 당신의 데이터가 적합한지, 왜 옳은지, 아니면 틀렸는지 알아보세요.
하이퍼매개 변수 조정: 네트워크 매개 변수 조정 기술을 자세히 배울 수 있습니다. 열을 알고 있습니다
반드시 dropout 을 사용해야 합니다. 데이터 양이 매우 적거나 bn 과 같은 더 나은 정규화 방법을 사용할 수 있습니다. 사실, 우리는 다른 매개 변수의 dropout 을 시도했습니다. 가장 좋은 것은 0.5 입니다. 따라서 컴퓨팅 자원이 제한되어 있다면 기본값 0.5 가 좋은 선택입니다.
당신은 softmax loss 일 필요는 없습니다: 그것은 당신의 데이터에 달려 있습니다. 작업이 여러 범주에서 상호 배타적이지 않은 경우 여러 이진 분류자를 교육해 볼 수 있습니다. 즉, 문제를 여러 클래스가 아닌 다중 레이블로 정의할 수 있습니다. 조정 후 정확도가 > 1% 향상되었습니다.
범주 불균형: 기본적으로 많은 장면에서 검증된 결론입니다. 만약 손실이 특정 범주에 의해 주도된다면 전체적으로 부정적인 것입니다. Booststrap 과 같은 방법으로 샘플의 무중력을 조정해 보는 것이 좋습니다.
교육 쇼크 방지: 기본적으로 임의 샘플링 요소를 추가하여 가능한 한 데이터를 iid 에 배포해야 합니다. 기본 셔플 메커니즘은 교육 결과를 더욱 안정적으로 만듭니다. 교육 모델이 여전히 매우 불안정한 경우 학습률 또는 mini_batch_size 조정을 고려해 보십시오.
알 수 있는 문자 다중 태그 분류 대회, 1 위 소개 사이트:
NLP 대회 챔피언 요약: 300 만 명의 다중 레이블 텍스트 분류 작업 (심층 학습 소스 코드 포함)
20 17 은 칸산컵이 출전에서 2 위까지 알고 있다.