인프런 커뮤니티 질문&답변

몽하님의 프로필 이미지
몽하

작성한 질문수

예제로 배우는 딥러닝 자연어 처리 입문 NLP with TensorFlow - RNN부터 BERT까지

실습 1 - Count에 기반한 N-Gram 언어 모델(Language Modelling) 실습

pad_both_ends 사용할 때 n은 왜 사용하나요?

작성

·

85

1

제목 그대로 pad_both_ends 사용할 때 n은 왜 사용하나요?

그냥 앞뒤로 붙여주면 될 것 같은데, 3을 넣으니 두개씩 붙던데 n값을 설정하는 이유가 있나요?

ngram의 n과 관련이 있나요?

답변 2

2

AISchool님의 프로필 이미지
AISchool
지식공유자

안녕하세요~. 반갑습니다.

말씀해주신대로 n-gram 처리를 위해서 pad_both_ends 함수에 n 인자값을 사용하게 됩니다.

예를 들어서 설명하면 n=3으로 설정하면 <s>, <s> 이렇게 2개가 앞에 붙어서 ['a','b','c'] 이런 텍스트가 있을때 이를 trigram으로 처리하고자 할경우

['<s>','<s>','a'],['<s>','a','b'],...

이런식으로 trigram이 묶이게 됩니다.

이때 만약에 trigram인데 n=2로 설정하면 <s> 이렇게 1개가 앞에 붙어서

['<s>','a','b'], ['a','b','c'],...

이런식으로 처리되어서 'a'만 단독으로 묶인 trigram을 만들지 못하게되기 때문에 맨앞에 있는 토큰과 맨 뒤에 있는 토큰이 단독으로 묶인 상황을 만들어주기 위해서 ngram에 맞게 n 인자값을 조정해서 사용하는 것입니다.

좋은 하루되세요.
감사합니다.

몽하님의 프로필 이미지
몽하
질문자

자세한 설명 감사합니다. ^^

1

저도 이부분 궁금합니다!

몽하님의 프로필 이미지
몽하

작성한 질문수

질문하기