İçeriğe geç

Segmentler ve iç içe metin seçimleri

Geliştirme · 1.0.0

Yayın

Doküman
1.0.0
Uygulama
1.0.0
Şema
1
Veri
tr-latn-1

Bu sayfa

Uygulama
1.0.0
Şema
1
Veri
tr-segments-1

tr-segments-1, kaynakta önceden işaretlenmiş 16.986 cümle içi seçimi taşır. 9.604 cümlede 16.718 ayrı konum ve 2.610 parent bağı vardır. Segment, core cümleyi bölmez veya yeniden yazmaz. Tek kelime, tırnak içi konuşma, Arapça ibare veya uzun bir cümlenin alt ifadesi olabilir. Terkip ve lügat anlamı değildir.

Kaynak seçimleri semantik olarak yeniden yorumlanmaz. Aynı konuma bağlı iki ayrı kaynak segmenti iki ayrı ID olarak korunur. Parent, aynı cümlede kapsanan alt seçimi belirtir; bir atıf veya cümleler arası anlam ilişkisi değildir. Bu release seçimin niyetini, tüm anlamlı ifadelerin kapsandığını veya compound sınırlarına uyduğunu iddia etmez. Anlam etiketlerinin olmaması yayın engeli değildir.

Yapı İşlev
structural_control.structural_releases Kabul edilmiş segment paketinin sabit kimliği.
structural_control.segments Sabit segment ID, seçim ID ve özgün kayıt tanığı.
structural_control.segment_bindings Canonical cümle, ilk/son token kullanımı, parent ID, seviye ve kaynak ID.
anchor_control.text_selections Segmentin seçtiği metin bütünü.
anchor_control.text_selection_members Seçimin sıralı span üyeleri; bu pakette bir üyeli.
anchor_control.text_spans Cümledeki tam Unicode scalar sınırı ve metin tanığı.

parent_segment_id canonical segment ID’sidir. Aynı release ve cümleye foreign key ile bağlıdır. Publisher parent kapsamasını, seviye artışını ve token konumlarını doğrular. Seviye her parent adımında arttığı için döngü kabul edilmez. Segment ve bağlar değiştirilemez; düzeltmeler bu paketin ID’lerini yerinde silerek veya yeniden üreterek yapılmaz.

Eski legacy_segment_crosswalk tablosu legacy DB üzerinden yayın yoluna aittir. Public kurulum, bütün legacy provenance tablolarını taşımak yerine segment_bindings kullanır. Paket orijinal satırların tüm kimlik ve hash alanlarını korur; kurulum bunları doğrular, ancak gereksiz eski çalışma tablolarını doldurmaz.

Beşinci Söz’deki “O, devlet işidir. Bana ne?” derdi. cümlesinde şu seçimler vardır:

Kaynak ID Seçim Token aralığı Parent kaynak ID
614777 O, devlet işidir. Bana ne 0..4 Yok
614778 O, devlet işidir 0..2 614777
614779 Bana ne 3..4 614777

Token konumları sıfır tabanlı, iki ucu dahil; scalar sınırları [start,end) biçimindedir. Dış tırnak ve sondaki noktalama segment sınırının dışında kalabilir; core metinde hiçbir karakter silinmez. Ana metin yine core reconstructor’dan gelir.

SQL ile seçimleri okumak (auditor veya yetkili bakım bağlantısı):

select s.id, b.parent_segment_id, b.level, b.token_start_position,
b.token_end_position, span.start_scalar, span.end_scalar, s.selection_id
from structural_control.segment_bindings b
join structural_control.segments s on s.id = b.segment_id
join anchor_control.text_selection_members member
on member.selection_id = s.selection_id
join anchor_control.text_spans span on span.id = member.span_id
where b.sentence_id = 'a4851f02-a469-5a9e-89aa-378332f09123'
order by b.token_start_position, b.token_end_position desc, s.id;

Core ve shared-anchor altyapısı kurulu olmalıdır. Yeni migration uygulandıktan sonra:

Terminal window
make db-install-segments
MUNDERECAT_DATABASE_URL_FILE=/secure/path/database-url make db-remote-install-segments

Standart db-install-data, db-install-structure ve remote karşılıkları bu paketi de kurar. Kurulu DB için reset gerekmez. Tekrar çalıştırma aynı kayıtları çoğaltmaz; doğrulanmış envanter mevcutsa paket tekrar indirilmez ve gönderilmez. Kurulum, hash ve boyutu doğrulanmış artifact’ı R2’den indirir, COPY ile geçici tabloya yükler ve tek transaction içinde yayınlar. Source ve row tanıkları, canonical token sınırları, anchor metni ve parent kapsaması kontrol edilir. Tüm corpus tekrar taranmaz. Mevcut reader deployment pointer’ı değiştirilmez.

Descriptor: data/releases/tr-segments-1.json. Stable structural release: 62c96d0d-1258-5c82-bed7-33ef6d01d786. Sıkıştırılmış public paket: 5.613.445 byte; core metninin ikinci kopyası içermez.

Terminal window
node scripts/releases/build-segment-release.mjs \
--source-root /absolute/accepted/source --output /absolute/output \
--published-at YYYY-MM-DD
node scripts/releases/publish-structural-release.mjs \
--release-id tr-segments-1 --package /absolute/output/package-ROOT
make db-segment-test

Builder mevcut canonical paketi paketler; kaynak Markdown veya legacy DB’den segmentleri yeniden üretmez. Descriptor repoda, content-addressed artifact R2’de saklanır. Eski paketler veya başka release prefix’leri değiştirilmez. Bu çalışma DB ve dağıtım katmanıdır; frontend segment seçimi ve public content API operasyonu ayrı bir geliştirmedir. Mevcut okuma ekranı değişmez.