전통문화대전망 - 전통 미덕 - NLP 기본 사항 및 요약
NLP 기본 사항 및 요약
는 인기 있는 자연어 처리 라이브러리, 자체 코퍼스, 분류, 분사 등 많은 기능을 가지고 있으며, 외국 사용자가 많으며, 중국어와 유사한 지바 처리 라이브러리 < P > 가 단어 시퀀스에 확률을 할당하는 모델을 언어 모델이라고 합니다. < P > 일반적으로 언어 모델은 임의의 단어 시퀀스에 대해 이 시퀀스가 한 문장일 확률을 계산할 수 있는 모델입니다. 또는 언어 모델은 단어 시퀀스의 다음 단어가 무엇인지 예측할 수 있습니다.
* * n-gram Language Models * *
n-gram 모델은 확률 기반 판별 모델인 LM (language model) 의 일반적인 통계 언어 모델입니다 주어진 어휘 집합 v, v 의 단어로 구성된 시퀀스 S =? W1, WT? VN, 통계 언어 모델은 이 시퀀스에 확률 P(S) 를 부여하여 S 가 자연어의 문법과 의미 규칙에 부합하는 신뢰도를 측정합니다. 한마디로 통계 언어 모델은 한 문장의 확률 크기를 계산하는 모델이다.
n-gram 모델은 단어 시퀀스가 트레이닝 세트에 나타나지 않아 발생하는 문제를 줄일 수 있습니다. 데이터 희소성 문제
n-gram 모델 문제
n-gram 모델에 대한 문제, 이 두 페이지 PPT 는
N-gram 모델이 현재 단어의 출현이 앞의 N-1 단어와만 관련이 있고 다른 어떤 단어와도 관련이 없다는 가정을 바탕으로 한 것으로 잘 알고 있습니다. 전체 문장의 확률은 각 단어의 발생 확률의 곱입니다. 이 확률들은 어료에서 직접 N 개의 단어가 동시에 나타나는 횟수를 집계하여 얻을 수 있다. 일반적으로 이진 Bi-Gram(N=2) 과 삼원 Tri-Gram(N=3).Bi-Gram 이 만족하는 가정은 마르코프 가정이다.
일반적으로 사용되는 N-Gram 모델은 Bi-Gram 과 Tri-Gram 입니다. 각각
bi-gram: p (t) = p (w1 | begin) p (w2 | w1) p (w3 | w2) * * * p ( Begin1) p (w3 | w2 w1) * * * p (wn | wn-1, wn-2)
위 확률을 계산하는 방법: P(w1|begin)= P(w2|w1)=w1,w2 동시 발생 횟수 /w1 발생 횟수. 이런 식으로 유추하다.
이러한 각 계산에 대한 예를 들어
위에서 볼 수 있는 Bi-Gram 계산 공식의 begin 은 일반적으로 < 를 추가합니다 S> 라벨.
N-gram 의 문제: < P > 작은 수의 예를 들어 설명하겠습니다. < P > 쥐가 정말 싫어요. 쥐가 못생겼어요. 아내를 사랑해요. 쥐가 싫어요.
' 나는 노인을 사랑한다' 라는 문장의 다음 글자를 예측하고 싶다. 우리는 각각 bigram 과 trigram 을 통해 예측한다. (
1) bigram 을 통해 P(w| 구) 를 계산하는데, 통계에 따르면' 쥐' 가 3 회,' 아내' 가 1 회 나타났고, 최대 우도 추정을 통해 P (마우스 | 노) =
2) trigram 을 통해 P(w| 노인을 사랑하는 것) 를 계산하는 것이다. 통계를 통해' 아내를 사랑하는 것' 만 한 번 나타났고, 최대 우도 추정을 통해 p (여자 | 노인을 사랑하는 것) =1, 을 구할 수 있다 분명히 이런 방식으로 예측한 결과는 더욱 합리적이다. < P > 질문 1: N 이 향상됨에 따라 우리는 더 많은 사전 정보를 가지고 있어 다음 단어를 더 정확하게 예측할 수 있습니다. 그러나 이로 인해 N 이 너무 크면 일부 n-gram 이 한 번도 나타나지 않아 많은 예측 확률 결과가 이 되는 상황이 발생하기 쉽습니다. 이것이 희소성 문제입니다. 실제 사용에는 종종 bigram 또는 trigram 만 사용됩니다. (이 문제는 스무딩을 통해 참조 완화: /s/NvwB9H71JUivFyL_Or_ENA)
질문 2: 마지막 희소성 문제로 인해 N-gram 이 컨텍스트에 대한 장기적인 의존성을 얻을 수 없습니다. < P > 질문 3: n-gram 은 빈도 기반 통계로 충분한 일반화 능력이 없습니다.
n-gram 요약: 통계 언어 모델은 한 문장의 확률 값 크기를 계산하는 것이고, 전체 문장의 확률은 각 단어의 발생 확률의 곱이며, 확률 값이 클수록 문장이 더 합리적이라는 것을 나타냅니다. N-gram 은 현재 단어의 출현이 앞의 N-1 단어와만 관련이 있고 다른 어떤 단어와도 관련이 없는 전형적인 통계 언어 모델이다. 전체 문장의 확률은 각 단어의 발생 확률의 곱이다. 여기에는 많은 문제가 있습니다. 각 단어가 나타날 확률을 구하면 n 이 올라감에 따라 더 많은 사전 정보량을 가질 수 있어 현재 단어의 예측이 더 정확해집니다. 그러나 n 이 너무 크면 희소한 문제가 발생하여 많은 단어의 확률값이 이 되고 이 문제를 해결하기 위해 자주 사용되는 것은 bigram 이나 trigram 입니다. 이로 인해 N-이 발생합니다. 반면에 N-gram 은 단지 빈도에 근거한 통계일 뿐, 충분한 일반화 능력이 없다. < P > 신경망 언어 모델
23 년 Bengio 는 NNLM (Neural Network Language Model) 의 사상이 ngram 대신 이산변수 (고차원) 를 사용하는 단어 벡터의 개념을 제시하는 것이라고 제안했다. < P > 아래 그림과 결합하여 만든 언어 모델의 임무는 창 크기 내의 위를 기준으로 다음 단어를 예측하는 것이므로 다른 관점에서 보면 신경망 인코딩을 사용하는 n-gram 모델입니다. < P > 가장 간단한 신경 네트워크입니다. 입력 레이어, 내장 레이어, 숨겨진 레이어, 출력 레이어 등 4 개의 레이어로만 구성됩니다. (다른 관점에서 보면 신경 네트워크 인코딩을 사용하는 n-gram 모델입니다.) < P > 입력은 단어 시퀀스의 index 시퀀스입니다. 예를 들어 사전 (크기 "V") 에서는 index 가 1 이고 단어' 예' 입니다. 임베디드 레이어 (Embedding) 는 √v ∞ × k 크기의 행렬입니다 (참고: k 의 크기는 임의로 초기화된 단어 벡터에 해당하는 자체 설정, BP 에서 업데이트, 신경망 교육이 완료된 후 이 부분은 단어 벡터임) 에서 1, 2 번 숨겨진 레이어는 패치된 Embedding 레이어 출력을 입력으로 받아들이고, tanh 를 활성화 함수로 사용하고, 마지막으로 softmax 가 있는 출력 레이어, 출력 확률, 최적화 목표는 예측될 단어의 해당 softmax 값을 최대로 만드는 것입니다. < P > 단점: 이는 사전 공급 신경망을 통해 언어 모델을 훈련시키는 것이기 때문에, 그 중 매개변수가 너무 많은 계산량이 많고 softmax 의 계산량도 너무 크다는 것이 단점으로 드러난다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 스포츠명언) 한편 NNLM 은 직관적으로 신경망 코딩을 사용하는 n-gram 모델이며 장기적인 의존성 문제도 해결할 수 없다.
RNNLM
RNN 및 그 변종 네트워크를 통해 언어 모델을 교육합니다. 임무는 위에서 다음 단어를 예측하는 것입니다. NNLM 에 비해 RNN 을 사용하는 장점이 있습니다. RNN 은 시퀀스 데이터 처리에 자연스러운 장점이 있습니다. RNN 네트워크는 컨텍스트 창의 제한을 깨고 숨겨진 계층의 상태를 사용하여 전체 내역 컨텍스트 정보를 요약합니다. RNNLM 초 매개 변수가 적고 다재다능합니다. 그러나 RNN 의 그라데이션 분산 문제로 인해 더 긴 거리의 의존성 정보를 캡처하기가 어렵습니다.
Word2vec 의 CBOW 및 skip-gram. 여기서 CBOW 는 창 크기 내의 컨텍스트를 통해 중심 단어를 예측하는 반면 skip-gram 은 입력된 중심 단어를 통해 창 크기 내의 컨텍스트를 예측합니다.
Glove 는 통계 지식을 통해 단어 벡터
ELMO 를 교육하는 통계 언어 모델입니다. 다중 계층 양방향 LSTM (일반적으로 2 계층 사용) 을 사용하여 언어 모델을 교육합니다. 작업은 컨텍스트를 사용하여 현재 단어를 예측하는 것입니다. 위 정보는 정방향 LSTM 을 통해 얻을 수 있으며, 아래 정보는 역방향 LSTM 을 통해 얻을 수 있습니다.
GPT 는 Transformer 를 통해 언어 모델을 교육하는 것으로, 훈련된 언어 모델은 단방향입니다. 위에서 다음 단어 예측
BERT 는 Transformer 를 통해 MLM 이라는 진정한 양방향 언어 모델을 교육합니다. 훈련된 언어 모델은 컨텍스트에 따라 현재 단어를 예측합니다. < P > 위 부분에 대한 자세한 내용은 NLP 의 사전 교육편에서 < P > 언어 모델에 대한 평가 지표 < P > 구체적인 참조: 위치, SVD) 를 통해 해당 매트릭스의 하위 수준 근사치를 찾는 방법에 대해 자세히 설명합니다.
확률 PLSA (probability latent semantic analysis) 모델
확률 PLSA (probability latent semantic analysis) 모델은 실제로 LSA (잠재적 의미 분석) 모델의 몇 가지 단점을 극복하기 위한 것입니다 LSA 의 근본적인 문제 중 하나는 U k 와 V k 의 각 열을 하나의 주제로 볼 수 있지만, 각 열의 값은 거의 제한이 없는 실제 값으로 볼 수 있기 때문에 이러한 값이 무엇을 의미하는지 더 자세히 설명할 수 없고 확률의 관점에서 이 모델을 이해할 수 없다는 것입니다.
PLSA 모델은 생성 모델을 통해 LSA 에 확률적 해석을 제공합니다. 이 모델은 각 문서에 가능한 일련의 잠재적 주제가 포함되어 있다고 가정합니다. 문서의 각 단어는 허공에서 나오는 것이 아니라 이러한 잠재적 주제의 지도 아래 특정 확률로 생성됩니다. < P > PLSA 모델에서 주제는 실제로 단어의 확률 분포입니다. 각 주제는 다른 단어의 확률 분포를 나타내고 각 문서는 주제의 확률 분포로 볼 수 있습니다. 각 문서는 PLSA 가 제안한 생성 모델의 핵심 아이디어인 이러한 2 계층 확률 분포를 통해 생성됩니다.
PLSA 는 다음 방정식을 통해 D 와 W 의 공동 분포를 모델링했습니다.
이 모델의 *z * 수는 미리 지정된 하이퍼매개변수입니다. 위의 방정식에는 P (w, d) 의 두 가지 표현이 나와 있는데, 앞의 방정식에서 *d * 와 W 는 모두 주어진 *z * 의 전제하에 조건부 확률을 통해 생성되는데, 그것들은 비슷한 방식으로 생성되므로' 대칭' 이다. 다음 방정식에서는 먼저 D 를 지정한 다음 P (z | d) 에 따라 가능한 주제 Z 를 생성한 다음 P (w| z) 에 따라 가능한 단어 W 를 생성합니다. 이 방정식에서는 단어와 문서의 생성이 비슷하지 않기 때문에' 비대칭' 입니다.
위 그림은 PLSA 모형에서 비대칭 형식의 Plate Notation 표현을 보여 줍니다. 여기서 D 는 문서, Z 는 문서에 의해 생성된 주제, W 는 주제에 의해 생성된 단어를 나타냅니다. 이 모델에서 D 와 W 는 이미 관찰된 변수이고, Z 는 알 수 없는 변수 (잠재적인 화제를 나타냄) 입니다. < P > 새 문서의 경우 해당 P (d) 가 무엇인지 알 수 없으므로 PLSA 모델이 지정된 문서에서 생성 모델이지만 알 수 없는 새 문서를 생성할 수는 없습니다. 이 모델의 또 다른 문제는 문서 수가 증가함에 따라 P (z | d) 의 매개변수도 선형적으로 증가하여 교육 데이터 수에 관계없이 모델의 과잉 맞춤 문제가 발생하기 쉽다는 것입니다. 이 두 가지 점은 PLSA 모델이 더 광범위하게 사용되는 것을 제한하는 두 가지 큰 결함이 되었다.