ahmetaa / zemberek-nlp

NLP tools for Turkish.
Other
1.14k stars 208 forks source link

Create SingleAnalysis instance from string & Uncompressed Ambiguity Model #254

Open aysnrgenc opened 4 years ago

aysnrgenc commented 4 years ago

Merhaba, 2 konuda yardımlarınıza ihtiyacım var:

1) PerceptronAmbiguityResolver'ı eğitmek(train) için kullanılan data/gold/gold1.txt dosyasını inceledim. Bu dosya formatına uygun, yeni bir dataset etiketlemeye çalışıyorum.

Etiketleyeceğim cümleleri, öncelikle projenizde yer alan eğitilmiş analyzer'a verdim. Analyzer sonuçları üzerinde düzeltme/ekleme yaparak gold data işaretlemesi yapıyorum.

Örnek: S:Adının Muhammed Ali Rızai olduğunu ... Adının [ad:Noun] ad:Noun+A3sg+ın:P2sg+ın:Gen [ad:Noun] ad:Noun+A3sg+ı:P3sg+nın:Gen Muhammed [Muhammed:Noun,Prop] muhammed:Noun+A3sg Ali [ali:Adj] ali:Adj [Ali:Noun,Prop] ali:Noun+A3sg* .....

Bu cümleyi zemberek analyzer'a verdiğimde, "Ali" kelimesi için sadece [ali:Adj] ali:Adj analiz sonucunu çıkardı. [Ali:Noun,Prop] ali:Noun+A3sg* analiz sonucunu ben ekledim ve doğru sonuç olduğunu gösteren "*" ibaresini sonuna ekledim. Ayrıca "Ali" kelimesini "proper.dict" dosyasına da ekledim.

Etiketlediğim yeni dataset ile bir model eğitmek istediğim de (PerceptronAmbiguityResolverTrainer kullanıyorum) ise eklediğim yeni analiz sonuçları için SingleAnalysis instance'ı üretmem gerekiyor.

Class: https://github.com/ahmetaa/zemberek-nlp/blob/master/morphology/src/main/java/zemberek/morphology/ambiguity/PerceptronAmbiguityResolverTrainer.java 237-243 if bloğundaki: analysisMap: pretrained model'in analiz sonuçları (Ali için [Ali:Noun,Prop] ali:Noun+A3sg sonucunu üretmiyor) s.correctAnalysis: [Ali:Noun,Prop] ali:Noun+A3sg analysisMap, s.correctAnalysis'i içermediğinden dolayı bu cümle göz ardı ediliyor.

Yeni eklediğim analiz sonuçları için, SingleAnalysis instance nasıl yaratabilirim ? Input: string, "[Ali:Noun,Prop] ali:Noun+A3sg" Ouput: SingleAnalysis instance

2) Modelinizi eğitmek için kullandığınız verisetlerinin çoğuna ("www.aljazeera.com.tr-rule-result.txt", "wowturkey.com-rule-result.txt", "open-subtitles-tr-2018-rule-result.txt","sak.train","sak.test", "sak.dev" "www.haberturk.com-rule-result.txt","www.cnnturk.com-rule-result.txt") ulaşamadım. Bu yüzden eğittiğiniz modeli yeni etiketlenen dataset ile güncellemek istiyorum. Bu yüzden ambiguity modelinizin, sıkıştırılmamış (compressed) olmayan halini paylaşabilir misiniz ?

Yardımlarınız için teşekkür ederim

Ayşenur Genç Uzun

mdakin commented 3 years ago

@ahmetaa vaktin olunca cevap yazabilir misin?