﻿1
00:00:06,450 --> 00:00:09,540
- Let's take a look at
subword based tokenization.

2
00:00:09,540 --> 00:00:11,610
Understanding why subword
based tokenization is

3
00:00:11,610 --> 00:00:13,980
interesting requires
understanding the flaws

4
00:00:13,980 --> 00:00:17,340
of word based and corrector
based tokenization.

5
00:00:17,340 --> 00:00:18,780
If you haven't seen the first videos

6
00:00:18,780 --> 00:00:22,020
on word based and character
based tokenization

7
00:00:22,020 --> 00:00:23,130
we recommend you check them

8
00:00:23,130 --> 00:00:24,780
out before looking at this video.

9
00:00:27,840 --> 00:00:31,493
Subword based tokenization
lies in between character based

10
00:00:31,493 --> 00:00:35,280
and word based tokenization algorithms.

11
00:00:35,280 --> 00:00:37,410
The idea is to find a middle ground

12
00:00:37,410 --> 00:00:39,486
between very large vocabularies

13
00:00:39,486 --> 00:00:42,600
a large quantity of out vocabulary tokens

14
00:00:42,600 --> 00:00:45,360
and a loss of meaning
across very similar words

15
00:00:45,360 --> 00:00:48,630
for word based tokenizers
and very long sequences

16
00:00:48,630 --> 00:00:51,330
as well as less meaningful
individual tokens.

17
00:00:51,330 --> 00:00:53,133
For character based tokenizers.

18
00:00:54,840 --> 00:00:57,960
These algorithms rely on
the following principle.

19
00:00:57,960 --> 00:01:00,000
Frequently used words should not be split

20
00:01:00,000 --> 00:01:01,500
into smaller subwords

21
00:01:01,500 --> 00:01:03,433
while rare words should be decomposed

22
00:01:03,433 --> 00:01:05,103
into meaningful subwords.

23
00:01:06,510 --> 00:01:08,460
An example is the word dog.

24
00:01:08,460 --> 00:01:11,190
We would like to have our
tokenizer to have a single ID

25
00:01:11,190 --> 00:01:12,600
for the word dog rather

26
00:01:12,600 --> 00:01:15,363
than splitting it into
correctors D O and G.

27
00:01:16,650 --> 00:01:19,260
However, when encountering the word dogs

28
00:01:19,260 --> 00:01:22,710
we would like our tokenize to
understand that at the root

29
00:01:22,710 --> 00:01:24,120
this is still the word dog.

30
00:01:24,120 --> 00:01:27,030
With an added S, that
slightly changes the meaning

31
00:01:27,030 --> 00:01:28,923
while keeping the original idea.

32
00:01:30,600 --> 00:01:34,080
Another example is a complex
word like tokenization

33
00:01:34,080 --> 00:01:37,140
which can be split into
meaningful subwords.

34
00:01:37,140 --> 00:01:37,973
The root

35
00:01:37,973 --> 00:01:40,590
of the word is token and
-ization completes the root

36
00:01:40,590 --> 00:01:42,870
to give it a slightly different meaning.

37
00:01:42,870 --> 00:01:44,430
It makes sense to split the word

38
00:01:44,430 --> 00:01:47,640
into two, token as the root of the word,

39
00:01:47,640 --> 00:01:49,950
labeled as the start of the word

40
00:01:49,950 --> 00:01:52,530
and ization as additional
information labeled

41
00:01:52,530 --> 00:01:54,393
as a completion of the word.

42
00:01:55,826 --> 00:01:58,740
In turn, the model will
now be able to make sense

43
00:01:58,740 --> 00:02:01,080
of token in different situations.

44
00:02:01,080 --> 00:02:04,602
It will understand that the
word's token, tokens, tokenizing

45
00:02:04,602 --> 00:02:08,760
and tokenization have a
similar meaning and are linked.

46
00:02:08,760 --> 00:02:12,450
It's will also understand that
tokenization, modernization

47
00:02:12,450 --> 00:02:16,200
and immunization, which
all have the same suffixes

48
00:02:16,200 --> 00:02:19,383
are probably used in the
same syntactic situations.

49
00:02:20,610 --> 00:02:23,130
Subword based tokenizers
generally have a way to

50
00:02:23,130 --> 00:02:25,890
identify which tokens are a start of word

51
00:02:25,890 --> 00:02:28,443
and which tokens complete start of words.

52
00:02:29,520 --> 00:02:31,140
So here token as the start

53
00:02:31,140 --> 00:02:35,100
of a ward and hash hash
ization as completion of award.

54
00:02:35,100 --> 00:02:38,103
Here, the hash hash prefix
indicates that ization is part

55
00:02:38,103 --> 00:02:41,013
of award rather than the beginning of it.

56
00:02:41,910 --> 00:02:43,110
The hash hash comes

57
00:02:43,110 --> 00:02:47,013
from the BERT tokenizer based
on the word piece algorithm.

58
00:02:47,850 --> 00:02:50,700
Other tokenizes use other
prefixes which can be

59
00:02:50,700 --> 00:02:52,200
placed to indicate part of words

60
00:02:52,200 --> 00:02:55,083
like in here or start of words instead.

61
00:02:56,250 --> 00:02:57,083
There are a lot

62
00:02:57,083 --> 00:02:58,740
of different algorithms that can be used

63
00:02:58,740 --> 00:03:00,090
for subword tokenization

64
00:03:00,090 --> 00:03:02,670
and most models obtaining
state-of-the-art results

65
00:03:02,670 --> 00:03:03,780
in English today

66
00:03:03,780 --> 00:03:06,663
use some kind of subword
tokenization algorithms.

67
00:03:07,620 --> 00:03:10,953
These approaches help in
reducing the vocabulary sizes

68
00:03:10,953 --> 00:03:13,636
by sharing information
across different words

69
00:03:13,636 --> 00:03:15,960
having the ability to have prefixes

70
00:03:15,960 --> 00:03:18,630
and suffixes understood as such.

71
00:03:18,630 --> 00:03:20,700
They keep meaning across
very similar words

72
00:03:20,700 --> 00:03:23,103
by recognizing similar
tokens, making them up.

