Alt sınıf | Kanonik (bilgisayar bilimi) |
---|
Olarak dil , rootization veya desuffixation kendi içine çekimleri dönüştürülmesine yönelik bir yöntem olup radikali veya kök. Bir kelimenin kökü, kelimenin önek(ler)i ve sonek(ler)i, yani kökü çıkarıldıktan sonra kalan kısmıdır. Dili konuşanların olağan kullanımından kaynaklanan bir terime karşılık gelen lemmanın aksine , kök genellikle yalnızca bu tür bir analizden kaynaklanan bir terime karşılık gelir. Örneğin, arama kelimesi , bu kökün kendisine yapılan bir göndermeden ayrı olarak kullanılan bir terime karşılık gelmeyen bir araştırma köküne sahiptir. Özel durumlarda, kök sıradan bir kelime terimiyle örtüşebilir. Bu örneğin alın kökünü veren frontal durumudur .
Bunu yapmak için kullanılan teknikler genel bir listesi dayanmaktadır eklerin kabul dilin (ekleri, önekler, ekleri içermemelidir, circumfixes) ve rootization bir dizi / deuffixation kuralları inşa önsel , onun kökünü bulmak için bir kelime verilir imkan veren.
Bir bilgisayar köklendirme programına köklendirme makinesi denir. En iyi bilinen algoritmalar Julie Beth Lovins (in) (1968) ve Martin Porter (in) (1980) tarafından geliştirilmiştir. Köklendirme, örneğin makine çevirisi, bilgi alma (varlık tanıma) ve arama motoru indeksleme gibi doğal dil işleme uygulamalarında sık görülen bir işlemdir .
Örneğin, İngilizce olarak, "bir rootization balıkçılık", " avlanır ", " balık " ve " balıkçı " "verir balık ". Gibi yalnızca kelimeler endekste tutuldu Bir arama yalnızca kelime "içeren belgelere atıfta sırasında, imkansız olurdu balıkçılık " arayarak " fisher ". Köklenme sayesinde, aynı kökü paylaştıklarını ve aynı sözlüğün a priori bir parçası olduklarını biliyoruz.
Tersine, köklenme de bir hata kaynağıdır. Örneğin İngilizce'de " üniversite " ve " evren " kelimeleri aynı köke (" evren ") sahiptir, ancak bu iki kelimeyi kullanan belgeler bile çok ince bir ilişkiye sahip olabilir.
Bu çeşitli köklendirme algoritmaları iki aşamada ilerler: kelimelerden mümkün olan en uzun önceden tanımlanmış sonların çıkarılmasını içeren bir deuffixation adımı ve elde edilen köklere önceden tanımlanmış sonları ekleyen bir yeniden kodlama adımı. Lovins'in algoritması iki adımı ayrı ayrı yapar, ancak Porter'ın algoritması her iki adımı da aynı anda yapar.
Porter'ın algoritması tarafından sağlanan köklerin mutlaka doğru biçimbirimler olmadığına dikkat etmek önemlidir.
Literatürde iki ana kökleştirici ailesi mevcuttur: algoritmik kökleştiriciler ve sözlük kullananlar.
Algoritmik bir kökleştirici genellikle daha hızlı olacak ve bilinmeyen kelimelerden kök çıkarmayı mümkün kılacaktır (bir anlamda karşılaştığı tüm kelimeler onun tarafından bilinmemektedir). Ancak, olmaması gereken kelimeleri bir araya toplayarak (aşırı köklenme) daha yüksek bir hata oranına sahip olacaktır. Sözlük yaklaşımı bilinen kelimelerde hata yapmaz, listelemediği kelimelerde hata üretir. Ayrıca daha yavaştır ve sözlükte karşılık gelen kökü aramadan önce son eklerin kaldırılmasını gerektirir.Porter tarafından geliştirilen algoritma, birbirini izleyen yedi aşamaya (çoğulların ve fiillerin üçüncü tekil şahısta işlenmesi, geçmiş zamanın ve ilerlemenin işlenmesi, ...) sınıflandırılan yaklaşık elli köklendirme / son ek çıkarma kuralından oluşur. Analiz edilecek kelimeler tüm aşamalardan geçer ve onlara birden fazla kural uygulanabilmesi durumunda her zaman en uzun eki içeren kelime seçilir. Köklendirme / desuffixation, aynı adımda, yeniden kodlama kuralları ile eşlik edilir. Böylece, örneğin, "sorun", aşamalı -ing'den işaretleyici son eki kaldırıldığında "sorun" olur ve daha sonra "bl" olur "ble" kuralı uygulanarak "sorun" a dönüştürülür. Bu algoritma ayrıca, bir son ekin kaldırılması gereken koşulları belirten beş bağlam kuralı içerir. Örneğin -ing ile biten sadece kökte en az bir sesli harf varsa kaldırılacaktır. Bu şekilde, "sıkıntı", gördüğümüz gibi "sıkıntı" haline gelirken, "şarkı söylemek", "şarkı söylemek" olarak kalacaktır.
Porter'ın algoritmasının ayrıntılarıYa bir ünlüyü temsil eder ('y' bir ünsüzden önce geliyorsa bir sesli harf olarak kabul edilir), bir ünsüzü temsil eder; ve ya bir sesli harf dizisini temsil eden , bir dizi ünsüz harfi temsil eden, o halde İngilizce'deki bir kelime aşağıdaki 4 biçimden biri olabilir:
burada ile temsil edilebilir ya da burada, bir kelimenin bir önlem olarak adlandırılır. Farklı değerler farklı kelimeler sunar:
Deuffixation / kökleştirme kuralları şu şekilde ifade edilir, yani bir kelime ile biterse ve önek koşulu sağlıyorsa, o zaman ekin yerine şu şekilde gelir.
Boole operatörlerini kullanmak mümkündür: ve, veya değil
Aşama 1 |
NS |
|
okşama → |
B |
|
besleme → besleme, kararlaştırıldı → |
|
vs |
|
mutlu → mutlu, gökyüzü → gökyüzü |
|
2. adım |
|
ilişkisel → |
|
Aşama 3 |
|
üçlü → |
|
4. Adım |
|
canlanma → canlanma |
|
Adım 5 |
|
vesayet → probat, oran → oran |
Bu algoritmayı 2 kelime ile test edin: Genellemeler ve Osilatörler
genellemeler 1. adım: Genelleştirme 2. Adım: Genelleştirin 3. Adım: Genel 4. adım: Genel osilatörler 1. adım: Osilatör 2. adım: Salınım 4. adım: Salınım Adım 5: OsilPorter'ın algoritması özgürce dağıtılır ve birçok dilde uygulanmıştır. 2000 yılında Martin Porter, algoritmasının birkaç dilde kendi uygulamasını sağladı çünkü diğerleri hafif kusurlar içeriyordu. Porter'ın algoritması İngilizce için verimli ancak Fransızca için pek uygun değil. Bu nedenle, Fransızca için başka bir algoritma geliştirilmiştir.
Porter'ın algoritması gibi, Carry'nin algoritması da işlenecek kelimelerin art arda geçtiği çeşitli aşamalarda gerçekleşir. Kurallara göre, ayrıştırıcı listeden bir sonek tanıdığında, onu kaldırır veya dönüştürür. Burada da en uzun ek, uygulanacak kuralı belirler.
Fransız morfolojisi çalışması için taşıma kuralları önerilmiştir ve bunlar GALILEI proje sitesinden (Generic Analyzer and Listener for Indexed and Linguistics Entities of Information) ücretsiz olarak indirilebilir.
Paice / Husk algoritması, algoritmik kök ayırıcılar ailesine aittir. Kökleri çıkarmak için bir dizi kurala dayanır ve dahası bu kuralları kodun dışında saklar. Böylece, kodu yeniden yazmadan, bazı düzenlemelerle (her dil için, kabul edilen ünlülerin listesi ve kök geçerlilik kurallarının sağlanması gerekir) yeni bir dili başka bir kurallar dizisinden aynı şekilde ele almak mümkündür. Böylece algoritma, yeni bir dilin yönetimine daha kolay taşınabilir.
Bu algoritma 1980'lerde Lancaster Üniversitesi'nde Chris Paice tarafından geliştirildi ve daha sonra Pascal, C, PERL ve Java ile kodlandı.
Paice / Husk algoritmasının uygulanması, girdi olarak sağlanan kelimeye uygulanabilir kök çıkarma kurallarını kullanacak ve önerilen kökün kabul edilebilirliğini doğrulayacak bir dizi fonksiyondan oluşur.
Köklendirme ve lemmatizasyon birbirine çok benzer iki kavramdır, ancak temel farklılıklar vardır:
Arama motorları, bilgi erişimini iyileştirmek için kök ayırıcılar kullanır. Bir sorgu veya belgedeki anahtar kelimeler, orijinal kelimelerden ziyade kökleriyle temsil edilir. Böylece, bir terimin çeşitli varyantları, sözlüğün boyutunu, yani bir dizi belgeyi temsil etmek için gerekli olan farklı terimlerin sayısını azaltan tek bir temsili biçimde birlikte gruplandırılabilir. Küçük bir sözlük boyutu hem alandan hem de yürütme süresinden tasarruf sağlar. Ancak stemmerlerin kullanılması da hassasiyeti düşürür.
(fr) Bu makale , içeriğinin GFDL lisansı altında kullanılmasına izin veren Ücretsiz Çevrimiçi Bilişim Sözlüğü'nden alıntılar içermektedir .