Ana içeriğe geç

Eşikleri değiştir

Pencere boyları, eşikler ve örneklem sayıları FeatureParams içinde durur.

Kullanım

import turkish_linguistic_features as tlf

# metin: öğreticideki üç tümcelik örnek (5, 13 ve 7 sözcük)
p = tlf.FeatureParams(short_sent_threshold=3, long_sent_threshold=12)
oz = tlf.analyze(metin, lang="tr", params=p)

FeatureParams bir dataclass'tır; vermediğiniz alanlar varsayılanda kalır. Tümce eşiklerinin varsayılanı sabit bir sayı değil, dilin kalibre edilmiş değeridir — aşağıda.

Çıktı (short_sent_ratio, long_sent_ratio):

varsayılan (TR 4/17): short=0.0      long=0.0
elle (3/12)         : short=0.0      long=0.333333

Aynı metin, farklı eşik, farklı sayı. Üç tümcenin biri 12 sözcüğü geçiyor; 17'yi geçen yok.

Bütün alanlar

Alan Varsayılan Etkilediği
mattr_window 50 mattr
mtld_threshold 0.72 mtld
mtld_min_tokens 100 mtld
hdd_sample_size 42 hdd
msttr_segment_size 100 msttr
vocd_sample_min 35 vocd_d
vocd_sample_max 50 vocd_d
vocd_num_samples 100 vocd_d
vocd_num_runs 3 vocd_d
vocd_min_tokens 50 vocd_d
vocd_random_seed 42 vocd_d
heaps_min_tokens 300 heaps_beta
heaps_step 50 heaps_beta
brunet_w_a 0.172 brunet_w
verb_suffix_window 50 zeyrek_verb_suffix_diversity
short_sent_threshold TR 4 · EN 8 short_sent_ratio
long_sent_threshold TR 17 · EN 32 long_sent_ratio
max_parse_depth 20 parse_depth_mean

Tümce eşikleri dile göre uygulanır

Tablodaki tek sayı olmayan iki alan bunlar. Sebep tipolojik: Türkçe tümceler İngilizce tümcelerden kısa, aynı eşik iki dile uymuyor.

Dil short long
Türkçe 4 17
İngilizce 8 32

Değerler gazete köşe yazılarında, varsayılan tümce kuralı ve varsayılan sözcükle ölçülen tümce uzunluğu dağılımının 15. ve 85. yüzdeliğinden türetildi (TR: 197.990 tümce; EN: 52.745 tümce). Yöntem: Eşik kalibrasyonu.

Hangi öznitelik hangi parametreden etkilenir

tlf.describe_feature("mattr")["params"]
('mattr_window',)

Boş demet () dönerse o öznitelik hiçbir parametreye bağlı değildir.

mattr_window neden 50

Covington & McFall (2010) üslup analizi için 500 öneriyor. Kütüphanenin varsayılanı 50 — onda biri, çünkü pencere boyu aynı zamanda alt sınırdır: mattr en az 2 × window sözcük ister. 500 olsaydı 1000 sözcükten kısa hiçbir metin sayı üretemezdi.

Künye bu ayrımı açıkça yazar. 500 istiyorsanız:

p = tlf.FeatureParams(mattr_window=500)