Port over Turkish changes

This commit is contained in:
ines 2018-03-24 17:31:07 +01:00
parent 6173c4aaa6
commit f1446b0257
4 changed files with 317 additions and 120 deletions

22
spacy/lang/tr/examples.py Normal file
View File

@ -0,0 +1,22 @@
# coding: utf8
from __future__ import unicode_literals
"""
Example sentences to test spaCy and its language models.
>>> from spacy.lang.tr.examples import sentences
>>> docs = nlp.pipe(sentences)
"""
sentences = [
"Neredesin?",
"Neredesiniz?",
"Bu bir cümledir.",
"Sürücüsüz araçlar sigorta yükümlülüğünü üreticilere kaydırıyor.",
"San Francisco kaldırımda kurye robotları yasaklayabilir."
"Londra İngiltere'nin başkentidir.",
"Türkiye'nin başkenti neresi?",
"Bakanlar Kurulu 180 günlük eylem planınııkladı.",
"Merkez Bankası, beklentiler doğrultusunda faizlerde değişikliğe gitmedi."
]

View File

@ -0,0 +1,31 @@
# coding: utf8
from __future__ import unicode_literals
from ...attrs import LIKE_NUM
#Thirteen, fifteen etc. are written separate: on üç
_num_words = ['bir', 'iki', 'üç', 'dört', 'beş', 'altı', 'yedi', 'sekiz',
'dokuz', 'on', 'yirmi', 'otuz', 'kırk', 'elli', 'altmış',
'yetmiş', 'seksen', 'doksan', 'yüz', 'bin', 'milyon',
'milyar', 'katrilyon', 'kentilyon']
def like_num(text):
text = text.replace(',', '').replace('.', '')
if text.isdigit():
return True
if text.count('/') == 1:
num, denom = text.split('/')
if num.isdigit() and denom.isdigit():
return True
if text.lower() in _num_words:
return True
return False
LEX_ATTRS = {
LIKE_NUM: like_num
}

View File

@ -10,16 +10,12 @@ acep
adamakıllı adamakıllı
adeta adeta
ait ait
altmýþ
altmış
altý
altı
ama ama
amma amma
anca anca
ancak ancak
arada arada
artýk artık
aslında aslında
aynen aynen
ayrıca ayrıca
@ -29,46 +25,82 @@ açıkçası
bana bana
bari bari
bazen bazen
bazý
bazı bazı
bazısı
bazısına
bazısında
bazısından
bazısını
bazısının
başkası başkası
baţka başkasına
başkasında
başkasından
başkasını
başkasının
başka
belki belki
ben ben
bende
benden benden
beni beni
benim benim
beri beri
beriki beriki
beþ berikinin
beş berikiyi
beţ berisi
bilcümle bilcümle
bile bile
bin
binaen binaen
binaenaleyh binaenaleyh
bir
biraz biraz
birazdan birazdan
birbiri birbiri
birbirine
birbirini
birbirinin
birbirinde
birbirinden
birden birden
birdenbire birdenbire
biri biri
birine
birini
birinin
birinde
birinden
birice birice
birileri birileri
birilerinde
birilerinden
birilerine
birilerini
birilerinin
birisi birisi
birisine
birisini
birisinin
birisinde
birisinden
birkaç birkaç
birkaçı birkaçı
birkaçına
birkaçını
birkaçının
birkaçında
birkaçından
birkez birkez
birlikte birlikte
birçok birçok
birçoğu birçoğu
birþey birçoğuna
birþeyi birçoğunda
birçoğundan
birçoğunu
birçoğunun
birşey birşey
birşeyi birşeyi
birţey
bitevi bitevi
biteviye biteviye
bittabi bittabi
@ -96,6 +128,11 @@ buracıkta
burada burada
buradan buradan
burası burası
burasına
burasını
burasının
burasında
burasından
böyle böyle
böylece böylece
böylecene böylecene
@ -106,8 +143,34 @@ büsbütün
bütün bütün
cuk cuk
cümlesi cümlesi
cümlesine
cümlesini
cümlesinin
cümlesinden
cümlemize
cümlemizi
cümlemizden
çabuk
çabukça
çeşitli
çok
çokları
çoklarınca
çokluk
çoklukla
çokça
çoğu
çoğun
çoğunca
çoğunda
çoğundan
çoğunlukla
çoğunu
çoğunun
çünkü
da da
daha daha
dahası
dahi dahi
dahil dahil
dahilen dahilen
@ -124,19 +187,17 @@ denli
derakap derakap
derhal derhal
derken derken
deđil
değil değil
değin değin
diye diye
diđer
diğer diğer
diğeri diğeri
doksan diğerine
dokuz diğerini
diğerinden
dolayı dolayı
dolayısıyla dolayısıyla
doğru doğru
dört
edecek edecek
eden eden
ederek ederek
@ -146,7 +207,6 @@ edilmesi
ediyor ediyor
elbet elbet
elbette elbette
elli
emme emme
en en
enikonu enikonu
@ -168,10 +228,10 @@ evvelce
evvelden evvelden
evvelemirde evvelemirde
evveli evveli
eđer
eğer eğer
fakat fakat
filanca filanca
filancanın
gah gah
gayet gayet
gayetle gayetle
@ -197,6 +257,10 @@ haliyle
handiyse handiyse
hangi hangi
hangisi hangisi
hangisine
hangisine
hangisinde
hangisinden
hani hani
hariç hariç
hasebiyle hasebiyle
@ -207,17 +271,27 @@ hem
henüz henüz
hep hep
hepsi hepsi
hepsini
hepsinin
hepsinde
hepsinden
her her
herhangi herhangi
herkes herkes
herkesi
herkesin herkesin
herkesten
hiç hiç
hiçbir hiçbir
hiçbiri hiçbiri
hiçbirine
hiçbirini
hiçbirinin
hiçbirinde
hiçbirinden
hoş hoş
hulasaten hulasaten
iken iken
iki
ila ila
ile ile
ilen ilen
@ -240,43 +314,55 @@ iyicene
için için
işte işte
iţte
kadar kadar
kaffesi kaffesi
kah kah
kala kala
kanýmca kanımca
karşın karşın
katrilyon
kaynak kaynak
kaçı kaçı
kaçına
kaçında
kaçından
kaçını
kaçının
kelli kelli
kendi kendi
kendilerinde
kendilerinden
kendilerine kendilerine
kendilerini
kendilerinin
kendini kendini
kendisi kendisi
kendisinde
kendisinden
kendisine kendisine
kendisini kendisini
kendisinin
kere kere
kez kez
keza keza
kezalik kezalik
keşke keşke
keţke
ki ki
kim kim
kimden kimden
kime kime
kimi kimi
kiminin
kimisi kimisi
kimisinde
kimisinden
kimisine
kimisinin
kimse kimse
kimsecik kimsecik
kimsecikler kimsecikler
külliyen külliyen
kýrk
kýsaca
kırk
kısaca kısaca
kısacası
lakin lakin
leh leh
lütfen lütfen
@ -289,13 +375,10 @@ međer
meğer meğer
meğerki meğerki
meğerse meğerse
milyar
milyon
mu mu
mı mı
nasýl mi
nasıl nasıl
nasılsa nasılsa
nazaran nazaran
@ -304,6 +387,8 @@ ne
neden neden
nedeniyle nedeniyle
nedenle nedenle
nedenler
nedenlerden
nedense nedense
nerde nerde
nerden nerden
@ -332,32 +417,27 @@ olduklarını
oldukça oldukça
olduğu olduğu
olduğunu olduğunu
olmadı
olmadığı
olmak olmak
olması olması
olmayan
olmaz
olsa olsa
olsun olsun
olup olup
olur olur
olursa olursa
oluyor oluyor
on
ona ona
onca onca
onculayın onculayın
onda onda
ondan ondan
onlar onlar
onlara
onlardan onlardan
onlari
onlarýn
onları onları
onların onların
onu onu
onun onun
ora
oracık oracık
oracıkta oracıkta
orada orada
@ -365,9 +445,26 @@ oradan
oranca oranca
oranla oranla
oraya oraya
otuz
oysa oysa
oysaki oysaki
öbür
öbürkü
öbürü
öbüründe
öbüründen
öbürüne
öbürünü
önce
önceden
önceleri
öncelikle
öteki
ötekisi
öyle
öylece
öylelikle
öylemesine
öz
pek pek
pekala pekala
peki peki
@ -379,8 +476,6 @@ sahi
sahiden sahiden
sana sana
sanki sanki
sekiz
seksen
sen sen
senden senden
seni seni
@ -393,6 +488,27 @@ sonra
sonradan sonradan
sonraları sonraları
sonunda sonunda
şayet
şey
şeyden
şeyi
şeyler
şu
şuna
şuncacık
şunda
şundan
şunlar
şunları
şunların
şunu
şunun
şura
şuracık
şuracıkta
şurası
şöyle
şimdi
tabii tabii
tam tam
tamam tamam
@ -400,8 +516,8 @@ tamamen
tamamıyla tamamıyla
tarafından tarafından
tek tek
trilyon
tüm tüm
üzere
var var
vardı vardı
vasıtasıyla vasıtasıyla
@ -429,84 +545,16 @@ yaptığını
yapılan yapılan
yapılması yapılması
yapıyor yapıyor
yedi
yeniden yeniden
yenilerde yenilerde
yerine yerine
yetmiþ
yetmiş
yetmiţ
yine yine
yirmi
yok yok
yoksa yoksa
yoluyla yoluyla
yüz
yüzünden yüzünden
zarfında zarfında
zaten zaten
zati zati
zira zira
çabuk
çabukça
çeşitli
çok
çokları
çoklarınca
çokluk
çoklukla
çokça
çoğu
çoğun
çoğunca
çoğunlukla
çünkü
öbür
öbürkü
öbürü
önce
önceden
önceleri
öncelikle
öteki
ötekisi
öyle
öylece
öylelikle
öylemesine
öz
üzere
üç
þey
þeyden
þeyi
þeyler
þu
þuna
þunda
þundan
þunu
şayet
şey
şeyden
şeyi
şeyler
şu
şuna
şuncacık
şunda
şundan
şunlar
şunları
şunu
şunun
şura
şuracık
şuracıkta
şurası
şöyle
ţayet
ţimdi
ţu
ţöyle
""".split()) """.split())

View File

@ -3,11 +3,6 @@ from __future__ import unicode_literals
from ...symbols import ORTH, NORM from ...symbols import ORTH, NORM
# These exceptions are mostly for example purposes hoping that Turkish
# speakers can contribute in the future! Source of copy-pasted examples:
# https://en.wiktionary.org/wiki/Category:Turkish_language
_exc = { _exc = {
"sağol": [ "sağol": [
{ORTH: "sağ"}, {ORTH: "sağ"},
@ -16,11 +11,112 @@ _exc = {
for exc_data in [ for exc_data in [
{ORTH: "A.B.D.", NORM: "Amerika Birleşik Devletleri"}]: {ORTH: "A.B.D.", NORM: "Amerika Birleşik Devletleri"},
{ORTH: "Alb.", NORM: "Albay"},
{ORTH: "Ar.Gör.", NORM: "Araştırma Görevlisi"},
{ORTH: "Arş.Gör.", NORM: "Araştırma Görevlisi"},
{ORTH: "Asb.", NORM: "Astsubay"},
{ORTH: "Astsb.", NORM: "Astsubay"},
{ORTH: "As.İz.", NORM: "Askeri İnzibat"},
{ORTH: "Atğm", NORM: "Asteğmen"},
{ORTH: "Av.", NORM: "Avukat"},
{ORTH: "Apt.", NORM: "Apartmanı"},
{ORTH: "Bçvş.", NORM: "Başçavuş"},
{ORTH: "bk.", NORM: "bakınız"},
{ORTH: "bknz.", NORM: "bakınız"},
{ORTH: "Bnb.", NORM: "Binbaşı"},
{ORTH: "bnb.", NORM: "binbaşı"},
{ORTH: "Böl.", NORM: "Bölümü"},
{ORTH: "Bşk.", NORM: "Başkanlığı"},
{ORTH: "Bştbp.", NORM: "Baştabip"},
{ORTH: "Bul.", NORM: "Bulvarı"},
{ORTH: "Cad.", NORM: "Caddesi"},
{ORTH: "çev.", NORM: "çeviren"},
{ORTH: "Çvş.", NORM: "Çavuş"},
{ORTH: "dak.", NORM: "dakika"},
{ORTH: "dk.", NORM: "dakika"},
{ORTH: "Doç.", NORM: "Doçent"},
{ORTH: "doğ.", NORM: "doğum tarihi"},
{ORTH: "drl.", NORM: "derleyen"},
{ORTH: "Dz.", NORM: "Deniz"},
{ORTH: "Dz.K.K.lığı", NORM: "Deniz Kuvvetleri Komutanlığı"},
{ORTH: "Dz.Kuv.", NORM: "Deniz Kuvvetleri"},
{ORTH: "Dz.Kuv.K.", NORM: "Deniz Kuvvetleri Komutanlığı"},
{ORTH: "dzl.", NORM: "düzenleyen"},
{ORTH: "Ecz.", NORM: "Eczanesi"},
{ORTH: "ekon.", NORM: "ekonomi"},
{ORTH: "Fak.", NORM: "Fakültesi"},
{ORTH: "Gn.", NORM: "Genel"},
{ORTH: "Gnkur.", NORM: "Genelkurmay"},
{ORTH: "Gn.Kur.", NORM: "Genelkurmay"},
{ORTH: "gr.", NORM: "gram"},
{ORTH: "Hst.", NORM: "Hastanesi"},
{ORTH: "Hs.Uzm.", NORM: "Hesap Uzmanı"},
{ORTH: "huk.", NORM: "hukuk"},
{ORTH: "Hv.", NORM: "Hava"},
{ORTH: "Hv.K.K.lığı", NORM: "Hava Kuvvetleri Komutanlığı"},
{ORTH: "Hv.Kuv.", NORM: "Hava Kuvvetleri"},
{ORTH: "Hv.Kuv.K.", NORM: "Hava Kuvvetleri Komutanlığı"},
{ORTH: "Hz.", NORM: "Hazreti"},
{ORTH: "Hz.Öz.", NORM: "Hizmete Özel"},
{ORTH: "İng.", NORM: "İngilizce"},
{ORTH: "Jeol.", NORM: "Jeoloji"},
{ORTH: "jeol.", NORM: "jeoloji"},
{ORTH: "Korg.", NORM: "Korgeneral"},
{ORTH: "Kur.", NORM: "Kurmay"},
{ORTH: "Kur.Bşk.", NORM: "Kurmay Başkanı"},
{ORTH: "Kuv.", NORM: "Kuvvetleri"},
{ORTH: "Ltd.", NORM: "Limited"},
{ORTH: "Mah.", NORM: "Mahallesi"},
{ORTH: "mah.", NORM: "mahallesi"},
{ORTH: "max.", NORM: "maksimum"},
{ORTH: "min.", NORM: "minimum"},
{ORTH: "Müh.", NORM: "Mühendisliği"},
{ORTH: "müh.", NORM: "mühendisliği"},
{ORTH: "MÖ.", NORM: "Milattan Önce"},
{ORTH: "Onb.", NORM: "Onbaşı"},
{ORTH: "Ord.", NORM: "Ordinaryüs"},
{ORTH: "Org.", NORM: "Orgeneral"},
{ORTH: "Ped.", NORM: "Pedagoji"},
{ORTH: "Prof.", NORM: "Profesör"},
{ORTH: "Sb.", NORM: "Subay"},
{ORTH: "Sn.", NORM: "Sayın"},
{ORTH: "sn.", NORM: "saniye"},
{ORTH: "Sok.", NORM: "Sokak"},
{ORTH: "Şb.", NORM: "Şube"},
{ORTH: "Şti.", NORM: "Şirketi"},
{ORTH: "Tbp.", NORM: "Tabip"},
{ORTH: "T.C.", NORM: "Türkiye Cumhuriyeti"},
{ORTH: "Tel.", NORM: "Telefon"},
{ORTH: "tel.", NORM: "telefon"},
{ORTH: "telg.", NORM: "telgraf"},
{ORTH: "Tğm.", NORM: "Teğmen"},
{ORTH: "tğm.", NORM: "teğmen"},
{ORTH: "tic.", NORM: "ticaret"},
{ORTH: "Tug.", NORM: "Tugay"},
{ORTH: "Tuğg.", NORM: "Tuğgeneral"},
{ORTH: "Tümg.", NORM: "Tümgeneral"},
{ORTH: "Uzm.", NORM: "Uzman"},
{ORTH: "Üçvş.", NORM: "Üstçavuş"},
{ORTH: "Üni.", NORM: "Üniversitesi"},
{ORTH: "Ütğm.", NORM: "Üsteğmen"},
{ORTH: "vb.", NORM: "ve benzeri"},
{ORTH: "vs.", NORM: "vesaire"},
{ORTH: "Yard.", NORM: "Yardımcı"},
{ORTH: "Yar.", NORM: "Yardımcı"},
{ORTH: "Yd.Sb.", NORM: "Yedek Subay"},
{ORTH: "Yard.Doç.", NORM: "Yardımcı Doçent"},
{ORTH: "Yar.Doç.", NORM: "Yardımcı Doçent"},
{ORTH: "Yb.", NORM: "Yarbay"},
{ORTH: "Yrd.", NORM: "Yardımcı"},
{ORTH: "Yrd.Doç.", NORM: "Yardımcı Doçent"},
{ORTH: "Y.Müh.", NORM: "Yüksek mühendis"},
{ORTH: "Y.Mim.", NORM: "Yüksek mimar"}]:
_exc[exc_data[ORTH]] = [exc_data] _exc[exc_data[ORTH]] = [exc_data]
for orth in ["Dr."]: for orth in [
"Dr.", "yy."]:
_exc[orth] = [{ORTH: orth}] _exc[orth] = [{ORTH: orth}]