Longest subword matching

heekyung·2024년 9월 28일

찾아볼 단어 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개의 댓글