Type-Token Ratio (TTR)
Type-Token Ratio (TTR)
ํ ์ค ์์ฝ
ํ ์คํธ์์ โ๋ค์ํ ๋จ์ด (Type)โ์ โ์ ์ฒด ๋จ์ด (Token)โ์ ๋น์จ๋ก ์ดํ ๋ค์์ฑ์ ์ธก์ ํ๋ ์งํ.
์ฌ์ด ์ค๋ช
TTR์ โ์ผ๋ง๋ ๋ค์ํ ๋จ์ด๋ฅผ ์ฌ์ฉํ๋๊ฐโ๋ฅผ ์ธก์ ํ๋ค.
ํต์ฌ ๊ฐ๋ :
- Type (์ ํ): ์ค๋ณต ์ ๊ฑฐํ ๊ณ ์ ๋จ์ด ์
- Token (ํ ํฐ): ์ ์ฒด ๋จ์ด ์ (์ค๋ณต ํฌํจ)
์ฌ์ด ์์:
ํ ์คํธ A (์ดํ ๋ค์์ฑ ๋ฎ์):
"๋๋ ํ๊ต์ ๊ฐ๋ค. ๋๋ ์ง์ ๊ฐ๋ค. ๋๋ ์น๊ตฌ ์ง์ ๊ฐ๋ค."
Token (์ ์ฒด ๋จ์ด): 12๊ฐ
Type (๊ณ ์ ๋จ์ด): ๋๋, ํ๊ต์, ๊ฐ๋ค, ์ง์, ์น๊ตฌ = 5๊ฐ
TTR = 5/12 = 0.42
ํ ์คํธ B (์ดํ ๋ค์์ฑ ๋์):
"๋๋ ํ๊ต์ ๊ฐ๋ค. ์ฒ ์๋ ๋์๊ด์ผ๋ก ํฅํ๋ค. ์ํฌ๋ ๊ณต์์ ์ฐ์ฑ
ํ๋ค."
Token (์ ์ฒด ๋จ์ด): 12๊ฐ
Type (๊ณ ์ ๋จ์ด): ๋๋, ํ๊ต์, ๊ฐ๋ค, ์ฒ ์๋, ๋์๊ด์ผ๋ก, ํฅํ๋ค, ์ํฌ๋, ๊ณต์์, ์ฐ์ฑ
ํ๋ค = 9๊ฐ
TTR = 9/12 = 0.75
๊ณ์ฐ ๋ฐฉ๋ฒ:
TTR = (๊ณ ์ ๋จ์ด ์) / (์ ์ฒด ๋จ์ด ์)
๋ฒ์: 0~1
- 0์ ๊ฐ๊น์: ๊ฐ์ ๋จ์ด ๋ฐ๋ณต (๋จ์กฐ๋ก์)
- 1์ ๊ฐ๊น์: ๋ชจ๋ ๋จ์ด๊ฐ ๋ค๋ฆ (๋ค์ํจ)
ํต์ฌ ํฌ์ธํธ
- 0~1 ๋ฒ์: 1์ ๊ฐ๊น์ธ์๋ก ์ดํ๊ฐ ๋ค์ํจ
- ํ ์คํธ ๊ธธ์ด ์์กด์ฑ: ๊ธด ํ ์คํธ์ผ์๋ก TTR ๋ฎ์์ง๋ ๊ฒฝํฅ (ํ๊ณ)
- ์ดํ ํ๋ถ์ฑ: ์๋ฌธ ๋ฅ๋ ฅ, ์ธ์ด ๋ฐ๋ฌ ์์ค ์งํ
- ๋์ด๋ ๊ด๋ จ: ์ผ๋ฐ์ ์ผ๋ก TTR ๋์ผ๋ฉด ์ฝ๊ธฐ ์ด๋ ค์
๊ด๋ จ ๊ฐ๋
- Flesch-Kincaid Grade Level - ํจ๊ป ์ธ์ด์ ๋ณต์ก์ฑ ์ธก์
- Curriculum Learning - TTR๋ก ํ ์คํธ ๋์ด๋ ๋ถ๋ฅ
- Perplexity (PPL) - AI๊ฐ ๋๋ผ๋ ํ ์คํธ ๋์ด๋
- Entropy (์ํธ๋กํผ) - ๋จ์ด ๋ถํฌ์ ๋ถํ์ค์ฑ (TTR๊ณผ ์ ์ฌ ๊ฐ๋ )
R4 ์ฐ๊ตฌ์์์ ์ญํ
TTR์ R4 ์ฐ๊ตฌ์ D1 (์ธ์ด์ ๋ณต์ก์ฑ) ๊ณ์ฐ์ ์ฌ์ฉ๋๋ค.
D1 ๊ณ์ฐ ๋ฐฉ๋ฒ (๋ณต์ต):
def compute_linguistic_complexity(text):
# 1. Flesch-Kincaid Grade Level
fk_grade = flesch_kincaid_grade(text) # 40% ๊ฐ์ค์น
# 2. Type-Token Ratio (์ดํ ๋ค์์ฑ)
tokens = tokenize(text)
ttr = len(set(tokens)) / len(tokens) # 30% ๊ฐ์ค์น โ ์ฌ๊ธฐ!
# 3. ์ข
์์ ๋น์จ
subordinate_ratio = count_subordinate_clauses(text) / len(sentences) # 30% ๊ฐ์ค์น
# ์ข
ํฉ
D1 = 0.4 ร normalize(fk_grade) + 0.3 ร ttr + 0.3 ร subordinate_ratio
return D1
์ TTR์ด ์ค์ํ๊ฐ?
์ดํ ๋ค์์ฑ์ ํ ์คํธ ๋์ด๋์ ์ค์ํ ์งํ:
๋ฎ์ TTR (0.3~0.5):
- ๊ฐ์ ๋จ์ด ๋ฐ๋ณต
- ๋จ์ํ ํํ
- ์ฌ์ด ํ
์คํธ
์: "๋๋ ๊ฐ๋ค. ๋๋ ๊ฐ๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๋ค."
์ค๊ฐ TTR (0.5~0.7):
- ์ ๋นํ ์ดํ ๋ค์์ฑ
- ์ผ๋ฐ์ ํ
์คํธ
์: ๋ด์ค ๊ธฐ์ฌ, ์ผ๋ฐ ์ค๋ช
๋ฌธ
๋์ TTR (0.7~0.9):
- ๋ค์ํ ์ดํ ์ฌ์ฉ
- ๋ณต์กํ ํํ
- ์ด๋ ค์ด ํ
์คํธ
์: ํ์ ๋
ผ๋ฌธ, ๋ฌธํ ์ํ
๋์ด๋ ๋ถ๋ฅ์ ํ์ฉ:
OpenOrca-KO ๋ฐ์ดํฐ์
๋ถ์:
์ฌ์ด ๋ฐ์ดํฐ: TTR < 0.5, D1 ๋ฎ์
์ค๊ฐ ๋ฐ์ดํฐ: TTR 0.5~0.7, D1 ์ค๊ฐ
์ด๋ ค์ด ๋ฐ์ดํฐ: TTR > 0.7, D1 ๋์
ZPD Window ์ ์ฉ:
ํ์ฌ ๋ชจ๋ธ์ด TTR 0.6 ํ
์คํธ๋ฅผ ์ ์ดํดํจ
โ ZPD ๋ฒ์: TTR 0.6~0.75 ์ ํ
โ TTR < 0.5๋ ๋๋ฌด ์ฌ์ (์ ์ธ)
โ TTR > 0.8์ ๋๋ฌด ์ด๋ ค์ (์ ์ธ)
TTR์ ํ๊ณ์ ๋์:
๋ฌธ์ : ํ ์คํธ๊ฐ ๊ธธ์๋ก TTR ๋ฎ์์ง
์งง์ ํ
์คํธ (20๋จ์ด): TTR = 0.9 ๊ฐ๋ฅ
๊ธด ํ
์คํธ (1000๋จ์ด): TTR = 0.5 ์ ๋
โ ๊ธธ์ด๊ฐ ๋ค๋ฅธ ํ
์คํธ ๋น๊ต ์ด๋ ค์
๋์: ์ ๊ทํ๋ TTR ๋ณํ ์ฌ์ฉ
- MATTR (Moving Average TTR): ์ผ์ ์๋์ฐ(์: 100๋จ์ด)๋ง๋ค ๊ณ์ฐ
- Root TTR: โ(Type / Token)
- R4 ์ฐ๊ตฌ์์๋ ๋น์ทํ ๊ธธ์ด์ ํ ์คํธ๋ง ๋น๊ต
๋ ์์๋ณด๊ธฐ
- Lexical Diversity: TTR์ ํ์ ์ ์ฉ์ด
- Yuleโs K: TTR์ ๋์ ์งํ (๊ธธ์ด ๋ ๋ฆฝ์ )
- MTLD (Measure of Textual Lexical Diversity): ์ต์ ์งํ
- ์๋ ์ธ์ด ๋ฐ๋ฌ ์ฐ๊ตฌ์์ TTR ํ์ฉ (์ฐ๋ น๋ณ TTR ์ฆ๊ฐ)
- ์๋ฌธ ํ๊ฐ: TTR ๋์ = ๋ ํ๋ถํ ํํ๋ ฅ
- ๊ธฐ๊ณ ๋ฒ์ญ ํ๊ฐ: TTR๋ก ๋ฒ์ญ ํ์ง ์ธก์
- ํ๊ตญ์ด TTR: ์กฐ์ฌ, ์ด๋ฏธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง