728x90

"나는 밥을 먹었다"

여기서 "나는", "밥을", "먹었다"는 각각 토큰이다. 이때 바이그램은 두 개의 연속된 토큰을 묶은 것이다.

즉, 이전 토큰과 다음 토큰을 쌍으로 묶어 문맥을 파악하게 된다.

 

  • "나는"과 "밥을"은 바이그램으로 묶이면 ("나는", "밥을")이 된다.
  • "밥을"과 "먹었다"는 바이그램으로 묶이면 ("밥을", "먹었다")가 된다.

 

이때 `tokens[:-1]`와 `tokens[1:]`을 사용하면 바이그램을 생성할 수 있다. "나는", "밥을", "먹었다"를 토큰 리스트로 표현하면 다음과 같다.

 

 

tokens = ["나는", "밥을", "먹었다"] 

 

  • tokens[:-1]는 ["나는", "밥을"]이 되고, 이전 토큰이 이전 단어를 나타낸다.
  • tokens[1:]는 ["밥을", "먹었다"]가 되고, 다음 토큰이 다음 단어를 나타낸다.

 

이렇게 두 리스트를 zip 함수를 사용하여 쌍(pair)로 묶으면 바이그램이 생성된다.

728x90

+ Recent posts