Longest subword matching

heekyung·2024년 9월 28일
0

찾아볼 단어 Unhappiness다.
1. Unhappiness를 vocabulary에서 찾아본다.
없다, fallback
2. Longest possible subword로 happiness를 찾아본다.
없다, fallback
3. Longest possible subword happi를 찾는다.
happi를 찾았다. (toknizer's vocab에따라 2번에서 happiness가 나올 수 있는듯)
4. 다음으로 ness를 찾고
5. 마지막으로 un을 찾는다.

print(
  f"un, {tokenizer('un')['input_ids'][1:-1]}\n",
  f"happy, {tokenizer('happy')['input_ids'][1:-1]}\n",
  f"happi, {tokenizer('happi')['input_ids'][1:-1]}\n",
  f"ness, {tokenizer('ness')['input_ids'][1:-1]}\n",
  f"unhappiness, {tokenizer('unhappiness')['input_ids'][1:-1]}\n",
)
_______________________________________
un, [4895]
happy, [3407]
happi, [5292, 9397, 2072]
ness, [23384]
unhappiness, [4895, 3270, 9397, 9961]

같은 단어도 longest subword일때와 standalone word일때 token은 달라진다.

profile
수신제가치국평천하

0개의 댓글