Mucize
gibi bir şey! Bilgisayarım konuşmayı
sökmeye başladı...
İnsan
konuşmasında önemli bir aşama cümlelerin özne ve nesne
ayrımını
yapmaktır. Eylemi kimin neye yaptığını
ayırt etmek.
Özne
nesne ayıran LANGANA programımın ilk çıktıları aşağıda...
Özne
ile nesneyi ayırt etmek için gerekli bütün unsurları
anlıyor
LANGANA.
En
basitten zora doğru özne ayrımını şöyle özetleyebiliriz.
Fiil.
Özne.
Özne
- Fiil.
Nesne
- Fiil.
Özne
- Nesne - Fiil.
Özne
- Nesne - Fiilimsi - Fiil.
Virgül
ve diğer birleştiriciler:
Özne
, Özne - Fiil.
Nesne,
Nesne - Fiil.
vb.
Kullanacağım
bazı algoritmalar:
-Eğer
bir so(SUBJ/OBJECT) takısız ise:
Fiilin -i transitive ise : NESNE
değil is : ÖZNE
-Eğer
bir so takılı ise:
takı isim tamlaması sonlandırıcısı ve
fiil transitive ise ÖZNE.
takı i hali takısı ise -nı, -mı vb NESNE
-Eğer
so bir fiilimsiden önce gelen son so ise NESNE.
-Eğer
iki tane takısız so varsa önce gelen ÖZNE.
İşte
bir kaç örnek aşağıda: Steibeck'in
Fareler ve İnsanlara Dair kitabının
ilk
1000 cümlesini aşağıdaki linkten bulabilirsiniz.
Sanırım
bir süre sonra ilk 1000 cümleyi:
Çünkü [ben] {seni} bilirim,
bir susadın mı,
{çirkef}
de olsa içersin
aşağıdaki cümlenin yukarıdaki işlenmiş
şeklinde source forge'da yayınlayacağım.
NOT: LANGANAe ingilizce için yaptığım kelime
tipi çalışmasında 1 milyon satırlık
Webter sözlüğünü parse etmem gerekiyor. Şu anda VWXYZ harflerini bitirdim. U ile
uğraşıyorum.
PArse ettiğim toplam satır sayısı 50 bini aştı. Yani 1/20 = %5'teyim.
Webster'in güzelliği kullandığım Türkçe
sözlüğe göre eski ama çok detaylı, tekil
çoğul ne isterseniz bilgi olarak var.
SENTENCE
NO = 41 ********************************************************
buf_verbose_list()------------------------------------------------------------
Çünkü ben seni bilirim,
bir susadın mı,
çirkef
de olsa içersin
buf_struct_only_list()------------------------------------------------------------
SENTENCE(==>CONJUNCTSUB(
41 0 çünkü
41 1 ben
begso ending-ext=null
41 2 sen
i begso ending-ext=i
41 3 bil
irim --------------------verbExt
,SUB(
41 4 bir
41 5 susa
dın --------------------verbExt
41 6 mı
,SUB(
41 7 çirkef
begso ending-ext=null
==>CONJUNCTSUB(
41 8 de
41 9 ol
sa --------------------verbExt
41 10 iç
ersin --------------------verbExt
.END-SENTENCE)
41 11
buf_sub_struct_list()------------------------------------------------------------
41 0 SENTENCE(==>CONJUNCTSUB(
41 0 0 11711 Bağlaç null Çünkü null null null null null null
ÖZNE-NESNE
=====> ben
ARS
i=1 k=1
41 1 0 5991 Zamir null ben null null null null null null
ÖZNE-NESNE
=====> seni
ARS
i=2 k=1
41 2 0 77114 Zamir null sen pronounExt i +i null null null
41 3 0 6814 Fiil -i bil verbExt irim ::-ir:*im null null null
41 4 ,SUB(
41 4 0 6880 İsim null bir null null null null null null
41 5 0 47467 Fiil nsz susa verbExt dın ::-dı:*n null null null
41 6 0 77138 Soru null mı null null null null null null
41 7 ,SUB(
ÖZNE-NESNE
=====> çirkef
ARS
i=7 k=1
41 7 0 11213 İsim null çirkef null null null null null null
41 8 ==>CONJUNCTSUB(
41 8 0 11734 Bağlaç null de null null null null null null
41 9 0 38929 Fiil nsz ol verbExt sa ::-sa: null null null
41 10 0 24056 Fiil -i iç verbExt ersin ::-er:*sin null null null
41 11 .END-SENTENCE)
SENTENCE
NO = 40 ********************************************************
buf_verbose_list()------------------------------------------------------------
Akmayan bir su oldu mu hiç içmemelisin Lennie
buf_struct_only_list()------------------------------------------------------------
SENTENCE(
SUB(
40 0 ak
mayan ------------nounFromVerb
40 1 bir
begso
40 2 su
endso ending-ext=null
40 3 oldu
40 4 mu
40 5 hiç
40 6 iç
memelisin --------------------verbExt
40 7 lennie
begso ending-ext=null
.END-SENTENCE)
40 8
buf_sub_struct_list()------------------------------------------------------------
40 0 SENTENCE(
SUB(
40 0 0 1311 Fiil nsz,-e Ak nounFromVerbExt mayan -maya-n null null null
ÖZNE-NESNE
=====> bir su
ARS
i=1 k=2
40 1 0 6880 İsim null bir null null null null null null
40 2 0 47231 İsim null su null null null null null null
40 3 0 38892 Zarf null oldu null null null null null null
40 4 0 77140 Soru null mu null null null null null null
40 5 0 22845 Zarf null hiç null null null null null null
40 6 0 24056 Fiil -i iç verbExt memelisin ::-memeli:*sin null null null
ÖZNE-NESNE
=====> Lennie
ARS
i=7 k=1
40 7 0 0 Özelİsim null Lennie null null null null null null
40 8 .END-SENTENCE)
SENTENCE
NO = 250 ********************************************************
buf_sub_struct_list()------------------------------------------------------------
250 0 SENTENCE(
SUB(
250 0 0 37999 Zamir null Ne null null null null null null
250 1 0 57957 İsim null zaman null null null null null null
...
buf_verbose_list()------------------------------------------------------------
Ne zaman elime alıp okşasam,
hemen parmaklarımı ısırırlardı,
ben
de birazcık kafalarını çimdiklerdim,
sonra bir
de bakardım
ki,
ölmüşler
buf_struct_only_list()------------------------------------------------------------
SENTENCE(
SUB(
250 0 ne
250 1 zaman
250 2 el
ime
250 3 al
ıp ------------gerundFromVerb
250 4 okşa
sam --------------------verbExt
,SUB(
250 5 hemen
250 6 parmak
larımı begso ending-ext=larımı
250 7 ısır
ırlardı --------------------verbExt
,SUB(
250 8 ben
begso ending-ext=null
==>CONJUNCTSUB(
250 9 de
250 10 birazcık
250 11 kafa
larını begso ending-ext=larını
250 12 çimdikle
rdim --------------------verbExt
,SUB(
250 13 sonra
250 14 bir
==>CONJUNCTSUB(
250 15 de
250 16 bak
ardım --------------------verbExt
==>CONJUNCTSUB(
250 17 ki
,SUB(
250 18 öl
müşler --------------------verbExt
.END-SENTENCE)
250 19
SENTENCE
NO = 668 ********************************************************
buf_verbose_list()------------------------------------------------------------
Böyle çiftliklerde insan,
hiçbir zaman ne kimsenin konuştuğunu dinler ne
de kimseye bir şey sorar
buf_struct_only_list()------------------------------------------------------------
SENTENCE(
SUB(
668 0 böyle
668 1 çiftlik
lerde
668 2 insan
begso ending-ext=null
,SUB(
668 3 hiçbir
668 4 zaman
668 5 ne
668 6 kimse
nin
668 7 konuş
tuğunu begso ending-ext=tuğunu------------nounFromVerb
668 8 dinle
r --------------------verbExt
668 9 ne
==>CONJUNCTSUB(
668 10 de
668 11 kimse
ye
668 12 bir
begso
668 13 şey
endso ending-ext=null
668 14 sor
ar --------------------verbExt
.END-SENTENCE)
668 15
buf_sub_struct_list()------------------------------------------------------------
668 0 SENTENCE(
SUB(
668 0 0 7801 Sıfat null Böyle null null null null null null
668 1 0 11050 İsim null çiftlik nounExt lerde #ler%%%&de null null null
ÖZNE-NESNE
=====> insan
ARS
i=2 k=1
668 2 0 25138 İsim null insan null null null null null null
668 3 ,SUB(
668 3 0 22846 Sıfat null hiçbir null null null null null null
668 4 0 57957 İsim null zaman null null null null null null
668 5 0 37999 Zamir null ne null null null null null null
668 6 0 30488 Zamir null kimse pronounExt nin +ni+n null null null
ÖZNE-NESNE
=====> konuştuğunu
ARS
i=7 k=1
668 7 0 31317 Fiil nsz konuş nounFromVerbExt tuğunu -tu-ğ-un-u null null null
668 8 0 13722 Fiil -i dinle verbExt r ::-r: null null null
668 9 0 37999 Zamir null ne null null null null null null
668 10 ==>CONJUNCTSUB(
668 10 0 11734 Bağlaç null de null null null null null null
668 11 0 30488 Zamir null kimse pronounExt ye +ye null null null
ÖZNE-NESNE
=====> bir şey
ARS
i=12 k=2
668 12 0 6880 İsim null bir null null null null null null
668 13 0 48595 İsim null şey null null null null null null
668 14 0 46760 Fiil -i,-e,-den sor verbExt ar ::-ar: null null null
668 15 .END-SENTENCE)
SENTENCE
NO = 946 ********************************************************
buf_verbose_list()------------------------------------------------------------
Lennie büyük bir istekle Georgea doğru
eğilerek:
Gidelim George,
dedi
buf_struct_only_list()------------------------------------------------------------
SENTENCE(
SUB(
946 0 lennie
begso ending-ext=null
946 1 büyük
946 2 bir
946 3 istek
le
946 4 george
a
946 5 doğru
946 6 eğil
erek ------------gerundFromVerb
:SUB(?
946 7 gid
elim --------------------verbExt
946 8 george
begso ending-ext=null
,SUB(
946 9 de
di --------------------verbExt
.END-SENTENCE)
946 10
buf_sub_struct_list()------------------------------------------------------------
946 0 SENTENCE(
SUB(
ÖZNE-NESNE
=====> Lennie
ARS
i=0 k=1
946 0 0 0 Özelİsim null Lennie null null null null null null
946 1 0 8384 Sıfat null büyük null null null null null null
946 2 0 6880 İsim null bir null null null null null null
946 3 0 25543 İsim null istek nounExt le %%%&le null null null
946 4 0 0 Özelİsim null George nounExt a %%%&a null null null
946 5 0 14144 Sıfat null doğru null null null null null null
946 6 0 15571 Fiil nsz eğil gerundFromVerbExt erek ;;-er;.ek null null null
946 7 :SUB(?
946 7 0 19913 Fiil -den,-e Gid verbExt elim ::-elim: null null null
ÖZNE-NESNE
=====> George
ARS
i=8 k=1
946 8 0 0 Özelİsim null George null null null null null null
946 9 ,SUB(
946 9 0 12648 Fiil de verbExt di ::-di: null null null
946 10 .END-SENTENCE)