diff --git a/spacy/lang/ms/__init__.py b/spacy/lang/ms/__init__.py new file mode 100644 index 000000000..31a58a7e6 --- /dev/null +++ b/spacy/lang/ms/__init__.py @@ -0,0 +1,24 @@ +from .stop_words import STOP_WORDS +from .punctuation import TOKENIZER_SUFFIXES, TOKENIZER_PREFIXES, TOKENIZER_INFIXES +from .tokenizer_exceptions import TOKENIZER_EXCEPTIONS +from .lex_attrs import LEX_ATTRS +from .syntax_iterators import SYNTAX_ITERATORS +from ...language import Language, BaseDefaults + + +class MalayDefaults(BaseDefaults): + tokenizer_exceptions = TOKENIZER_EXCEPTIONS + prefixes = TOKENIZER_PREFIXES + suffixes = TOKENIZER_SUFFIXES + infixes = TOKENIZER_INFIXES + syntax_iterators = SYNTAX_ITERATORS + lex_attr_getters = LEX_ATTRS + stop_words = STOP_WORDS + + +class Malay(Language): + lang = "ms" + Defaults = MalayDefaults + + +__all__ = ["Malay"] diff --git a/spacy/lang/ms/_tokenizer_exceptions_list.py b/spacy/lang/ms/_tokenizer_exceptions_list.py new file mode 100644 index 000000000..9c2debbfd --- /dev/null +++ b/spacy/lang/ms/_tokenizer_exceptions_list.py @@ -0,0 +1,3902 @@ +MS_BASE_EXCEPTIONS = set( + """ +aba-aba +abah-abah +abal-abal +abang-abang +abar-abar +abong-abong +abrit-abrit +abrit-abritan +abu-abu +abuh-abuhan +abuk-abuk +abun-abun +acak-acak +acak-acakan +acang-acang +acap-acap +aci-aci +aci-acian +aci-acinya +aco-acoan +ad-blocker +ad-interim +ada-ada +ada-adanya +ada-adanyakah +adang-adang +adap-adapan +add-on +add-ons +adik-adik +adik-beradik +aduk-adukan +after-sales +agak-agak +agak-agih +agama-agama +agar-agar +age-related +agut-agut +air-air +air-cooled +air-to-air +ajak-ajak +ajar-ajar +aji-aji +akal-akal +akal-akalan +akan-akan +akar-akar +akar-akaran +akhir-akhir +akhir-akhirnya +aki-aki +aksi-aksi +alah-mengalahi +alai-belai +alan-alan +alang-alang +alang-alangan +alap-alap +alat-alat +ali-ali +alif-alifan +alih-alih +aling-aling +aling-alingan +alip-alipan +all-electric +all-in-one +all-out +all-time +alon-alon +alt-right +alt-text +alu-alu +alu-aluan +alun-alun +alur-alur +alur-aluran +always-on +amai-amai +amatir-amatiran +ambah-ambah +ambai-ambai +ambil-mengambil +ambreng-ambrengan +ambring-ambringan +ambu-ambu +ambung-ambung +amin-amin +amit-amit +ampai-ampai +amprung-amprungan +amung-amung +anai-anai +anak-anak +anak-anakan +anak-beranak +anak-cucu +anak-istri +ancak-ancak +ancang-ancang +ancar-ancar +andang-andang +andeng-andeng +aneh-aneh +angan-angan +anggar-anggar +anggaran-red +anggota-anggota +anggung-anggip +angin-angin +angin-anginan +angkal-angkal +angkul-angkul +angkup-angkup +angkut-angkut +ani-ani +aning-aning +anjang-anjang +anjing-anjing +anjung-anjung +anjung-anjungan +antah-berantah +antar-antar +antar-mengantar +ante-mortem +antek-antek +anter-anter +antihuru-hara +anting-anting +antung-antung +anyam-menganyam +anyang-anyang +apa-apa +apa-apaan +apel-apel +api-api +apit-apit +aplikasi-aplikasi +apotek-apotek +aprit-apritan +apu-apu +apung-apung +arah-arah +arak-arak +arak-arakan +aram-aram +arek-arek +arem-arem +ari-ari +artis-artis +aru-aru +arung-arungan +asa-asaan +asal-asalan +asal-muasal +asal-usul +asam-asaman +asas-asas +aset-aset +asmaul-husna +asosiasi-asosiasi +asuh-asuh +asyik-asyiknya +atas-mengatasi +ati-ati +atung-atung +aturan-aturan +audio-video +audio-visual +auto-brightness +auto-complete +auto-focus +auto-play +auto-update +avant-garde +awan-awan +awan-berawan +awang-awang +awang-gemawang +awar-awar +awat-awat +awik-awik +awut-awutan +ayah-anak +ayak-ayak +ayam-ayam +ayam-ayaman +ayang-ayang +ayat-ayat +ayeng-ayengan +ayun-temayun +ayut-ayutan +ba-bi-bu +back-to-back +back-up +badan-badan +bade-bade +badut-badut +bagi-bagi +bahan-bahan +bahu-membahu +baik-baik +bail-out +bajang-bajang +baji-baji +balai-balai +balam-balam +balas-berbalas +balas-membalas +bale-bale +baling-baling +ball-playing +balon-balon +balut-balut +band-band +bandara-bandara +bangsa-bangsa +bangun-bangun +bangunan-bangunan +bank-bank +bantah-bantah +bantahan-bantahan +bantal-bantal +banyak-banyak +bapak-anak +bapak-bapak +bapak-ibu +bapak-ibunya +barang-barang +barat-barat +barat-daya +barat-laut +barau-barau +bare-bare +bareng-bareng +bari-bari +barik-barik +baris-berbaris +baru-baru +baru-batu +barung-barung +basa-basi +bata-bata +batalyon-batalyon +batang-batang +batas-batas +batir-batir +batu-batu +batuk-batuk +batung-batung +bau-bauan +bawa-bawa +bayan-bayan +bayang-bayang +bayi-bayi +bea-cukai +bedeng-bedeng +bedil-bedal +bedil-bedilan +begana-begini +bek-bek +bekal-bekalan +bekerdom-kerdom +bekertak-kertak +belang-belang +belat-belit +beliau-beliau +belu-belai +belum-belum +benar-benar +benda-benda +bengang-bengut +benggal-benggil +bengkal-bengkil +bengkang-bengkok +bengkang-bengkong +bengkang-bengkung +benteng-benteng +bentuk-bentuk +benua-benua +ber-selfie +berabad-abad +berabun-rabun +beracah-acah +berada-ada +beradik-berkakak +beragah-agah +beragak-agak +beragam-ragam +beraja-raja +berakit-rakit +beraku-akuan +beralu-aluan +beralun-alun +beramah-ramah +beramah-ramahan +beramah-tamah +beramai-ramai +berambai-ambai +berambal-ambalan +berambil-ambil +beramuk-amuk +beramuk-amukan +berandai-andai +berandai-randai +beraneh-aneh +berang-berang +berangan-angan +beranggap-anggapan +berangguk-angguk +berangin-angin +berangka-angka +berangka-angkaan +berangkai-rangkai +berangkap-rangkapan +berani-berani +beranja-anja +berantai-rantai +berapi-api +berapung-apung +berarak-arakan +beras-beras +berasak-asak +berasak-asakan +berasap-asap +berasing-asingan +beratus-ratus +berawa-rawa +berawas-awas +berayal-ayalan +berayun-ayun +berbagai-bagai +berbahas-bahasan +berbahasa-bahasa +berbaik-baikan +berbait-bait +berbala-bala +berbalas-balasan +berbalik-balik +berbalun-balun +berbanjar-banjar +berbantah-bantah +berbanyak-banyak +berbarik-barik +berbasa-basi +berbasah-basah +berbatu-batu +berbayang-bayang +berbecak-becak +berbeda-beda +berbedil-bedilan +berbega-bega +berbeka-beka +berbelah-belah +berbelakang-belakangan +berbelang-belang +berbelau-belauan +berbeli-beli +berbeli-belian +berbelit-belit +berbelok-belok +berbenang-benang +berbenar-benar +berbencah-bencah +berbencol-bencol +berbenggil-benggil +berbentol-bentol +berbentong-bentong +berberani-berani +berbesar-besar +berbidai-bidai +berbiduk-biduk +berbiku-biku +berbilik-bilik +berbinar-binar +berbincang-bincang +berbingkah-bingkah +berbintang-bintang +berbintik-bintik +berbintil-bintil +berbisik-bisik +berbolak-balik +berbolong-bolong +berbondong-bondong +berbongkah-bongkah +berbuai-buai +berbual-bual +berbudak-budak +berbukit-bukit +berbulan-bulan +berbunga-bunga +berbuntut-buntut +berbunuh-bunuhan +berburu-buru +berburuk-buruk +berbutir-butir +bercabang-cabang +bercaci-cacian +bercakap-cakap +bercakar-cakaran +bercamping-camping +bercantik-cantik +bercari-cari +bercari-carian +bercarik-carik +bercarut-carut +bercebar-cebur +bercepat-cepat +bercerai-berai +bercerai-cerai +bercetai-cetai +berciap-ciap +bercikun-cikun +bercinta-cintaan +bercita-cita +berciut-ciut +bercompang-camping +berconteng-conteng +bercoreng-coreng +bercoreng-moreng +bercuang-caing +bercuit-cuit +bercumbu-cumbu +bercumbu-cumbuan +bercura-bura +bercura-cura +berdada-dadaan +berdahulu-dahuluan +berdalam-dalam +berdalih-dalih +berdampung-dampung +berdebar-debar +berdecak-decak +berdecap-decap +berdecup-decup +berdecut-decut +berdedai-dedai +berdegap-degap +berdegar-degar +berdeham-deham +berdekah-dekah +berdekak-dekak +berdekap-dekapan +berdekat-dekat +berdelat-delat +berdembai-dembai +berdembun-dembun +berdempang-dempang +berdempet-dempet +berdencing-dencing +berdendam-dendaman +berdengkang-dengkang +berdengut-dengut +berdentang-dentang +berdentum-dentum +berdentung-dentung +berdenyar-denyar +berdenyut-denyut +berdepak-depak +berdepan-depan +berderai-derai +berderak-derak +berderam-deram +berderau-derau +berderik-derik +berdering-dering +berderung-derung +berderus-derus +berdesak-desakan +berdesik-desik +berdesing-desing +berdesus-desus +berdikit-dikit +berdingkit-dingkit +berdua-dua +berduri-duri +berduru-duru +berduyun-duyun +berebut-rebut +berebut-rebutan +beregang-regang +berek-berek +berembut-rembut +berempat-empat +berenak-enak +berencel-encel +bereng-bereng +berenggan-enggan +berenteng-renteng +beresa-esaan +beresah-resah +berfoya-foya +bergagah-gagahan +bergagap-gagap +bergagau-gagau +bergalur-galur +berganda-ganda +berganjur-ganjur +berganti-ganti +bergarah-garah +bergaruk-garuk +bergaya-gaya +bergegas-gegas +bergelang-gelang +bergelap-gelap +bergelas-gelasan +bergeleng-geleng +bergemal-gemal +bergembar-gembor +bergembut-gembut +bergepok-gepok +bergerek-gerek +bergesa-gesa +bergilir-gilir +bergolak-golak +bergolek-golek +bergolong-golong +bergores-gores +bergotong-royong +bergoyang-goyang +bergugus-gugus +bergulung-gulung +bergulut-gulut +bergumpal-gumpal +bergunduk-gunduk +bergunung-gunung +berhadap-hadapan +berhamun-hamun +berhandai-handai +berhanyut-hanyut +berhari-hari +berhati-hati +berhati-hatilah +berhektare-hektare +berhilau-hilau +berhormat-hormat +berhujan-hujan +berhura-hura +beri-beri +beri-memberi +beria-ia +beria-ria +beriak-riak +beriba-iba +beribu-ribu +berigi-rigi +berimpit-impit +berindap-indap +bering-bering +beringat-ingat +beringgit-ringgit +berintik-rintik +beriring-iring +beriring-iringan +berita-berita +berjabir-jabir +berjaga-jaga +berjagung-jagung +berjalan-jalan +berjalar-jalar +berjalin-jalin +berjalur-jalur +berjam-jam +berjari-jari +berjauh-jauhan +berjegal-jegalan +berjejal-jejal +berjela-jela +berjengkek-jengkek +berjenis-jenis +berjenjang-jenjang +berjilid-jilid +berjinak-jinak +berjingkat-jingkat +berjingkik-jingkik +berjingkrak-jingkrak +berjongkok-jongkok +berjubel-jubel +berjujut-jujutan +berjulai-julai +berjumbai-jumbai +berjumbul-jumbul +berjuntai-juntai +berjurai-jurai +berjurus-jurus +berjuta-juta +berka-li-kali +berkabu-kabu +berkaca-kaca +berkaing-kaing +berkait-kaitan +berkala-kala +berkali-kali +berkamit-kamit +berkanjar-kanjar +berkaok-kaok +berkarung-karung +berkasak-kusuk +berkasih-kasihan +berkata-kata +berkatak-katak +berkecai-kecai +berkecek-kecek +berkecil-kecil +berkecil-kecilan +berkedip-kedip +berkejang-kejang +berkejap-kejap +berkejar-kejaran +berkelar-kelar +berkelepai-kelepai +berkelip-kelip +berkelit-kelit +berkelok-kelok +berkelompok-kelompok +berkelun-kelun +berkembur-kembur +berkempul-kempul +berkena-kenaan +berkenal-kenalan +berkendur-kendur +berkeok-keok +berkepak-kepak +berkepal-kepal +berkeping-keping +berkepul-kepul +berkeras-kerasan +berkering-kering +berkeritik-keritik +berkeruit-keruit +berkerut-kerut +berketai-ketai +berketak-ketak +berketak-ketik +berketap-ketap +berketap-ketip +berketar-ketar +berketi-keti +berketil-ketil +berketuk-ketak +berketul-ketul +berkial-kial +berkian-kian +berkias-kias +berkias-kiasan +berkibar-kibar +berkilah-kilah +berkilap-kilap +berkilat-kilat +berkilau-kilauan +berkilo-kilo +berkimbang-kimbang +berkinja-kinja +berkipas-kipas +berkira-kira +berkirim-kiriman +berkisar-kisar +berkoak-koak +berkoar-koar +berkobar-kobar +berkobok-kobok +berkocak-kocak +berkodi-kodi +berkolek-kolek +berkomat-kamit +berkopah-kopah +berkoper-koper +berkotak-kotak +berkuat-kuat +berkuat-kuatan +berkumur-kumur +berkunang-kunang +berkunar-kunar +berkunjung-kunjungan +berkurik-kurik +berkurun-kurun +berkusau-kusau +berkusu-kusu +berkusut-kusut +berkuting-kuting +berkutu-kutuan +berlabun-labun +berlain-lainan +berlaju-laju +berlalai-lalai +berlama-lama +berlambai-lambai +berlambak-lambak +berlampang-lampang +berlanggar-langgar +berlapang-lapang +berlapis-lapis +berlapuk-lapuk +berlarah-larah +berlarat-larat +berlari-lari +berlari-larian +berlarih-larih +berlarik-larik +berlarut-larut +berlawak-lawak +berlayap-layapan +berlebih-lebih +berlebih-lebihan +berleha-leha +berlekas-lekas +berlekas-lekasan +berlekat-lekat +berlekuk-lekuk +berlempar-lemparan +berlena-lena +berlengah-lengah +berlenggak-lenggok +berlenggek-lenggek +berlenggok-lenggok +berleret-leret +berletih-letih +berliang-liuk +berlibat-libat +berligar-ligar +berliku-liku +berlikur-likur +berlimbak-limbak +berlimpah-limpah +berlimpap-limpap +berlimpit-limpit +berlinang-linang +berlindak-lindak +berlipat-lipat +berlomba-lomba +berlompok-lompok +berloncat-loncatan +berlopak-lopak +berlubang-lubang +berlusin-lusin +bermaaf-maafan +bermabuk-mabukan +bermacam-macam +bermain-main +bermalam-malam +bermalas-malas +bermalas-malasan +bermanik-manik +bermanis-manis +bermanja-manja +bermasak-masak +bermati-mati +bermegah-megah +bermemek-memek +bermenung-menung +bermesra-mesraan +bermewah-mewah +bermewah-mewahan +berminggu-minggu +berminta-minta +berminyak-minyak +bermuda-muda +bermudah-mudah +bermuka-muka +bermula-mula +bermuluk-muluk +bermulut-mulut +bernafsi-nafsi +bernaka-naka +bernala-nala +bernanti-nanti +berniat-niat +bernyala-nyala +berogak-ogak +beroleng-oleng +berolok-olok +beromong-omong +beroncet-roncet +beronggok-onggok +berorang-orang +beroyal-royal +berpada-pada +berpadu-padu +berpahit-pahit +berpair-pair +berpal-pal +berpalu-palu +berpalu-paluan +berpalun-palun +berpanas-panas +berpandai-pandai +berpandang-pandangan +berpangkat-pangkat +berpanjang-panjang +berpantun-pantun +berpasang-pasang +berpasang-pasangan +berpasuk-pasuk +berpayah-payah +berpeluh-peluh +berpeluk-pelukan +berpenat-penat +berpencar-pencar +berpendar-pendar +berpenggal-penggal +berperai-perai +berperang-perangan +berpesai-pesai +berpesta-pesta +berpesuk-pesuk +berpetak-petak +berpeti-peti +berpihak-pihak +berpijar-pijar +berpikir-pikir +berpikul-pikul +berpilih-pilih +berpilin-pilin +berpindah-pindah +berpintal-pintal +berpirau-pirau +berpisah-pisah +berpolah-polah +berpolok-polok +berpongah-pongah +berpontang-panting +berporah-porah +berpotong-potong +berpotong-potongan +berpuak-puak +berpual-pual +berpugak-pugak +berpuing-puing +berpukas-pukas +berpuluh-puluh +berpulun-pulun +berpuntal-puntal +berpura-pura +berpusar-pusar +berpusing-pusing +berpusu-pusu +berputar-putar +berrumpun-rumpun +bersaf-saf +bersahut-sahutan +bersakit-sakit +bersalah-salahan +bersalam-salaman +bersalin-salin +bersalip-salipan +bersama-sama +bersambar-sambaran +bersambut-sambutan +bersampan-sampan +bersantai-santai +bersapa-sapaan +bersarang-sarang +bersedan-sedan +bersedia-sedia +bersedu-sedu +bersejuk-sejuk +bersekat-sekat +berselang-selang +berselang-seli +berselang-seling +berselang-tenggang +berselit-selit +berseluk-beluk +bersembunyi-sembunyi +bersembunyi-sembunyian +bersembur-semburan +bersempit-sempit +bersenang-senang +bersenang-senangkan +bersenda-senda +bersendi-sendi +bersenggang-senggang +bersenggau-senggau +bersepah-sepah +bersepak-sepakan +bersepi-sepi +berserak-serak +berseri-seri +berseru-seru +bersesak-sesak +bersetai-setai +bersia-sia +bersiap-siap +bersiar-siar +bersih-bersih +bersikut-sikutan +bersilir-silir +bersimbur-simburan +bersinau-sinau +bersopan-sopan +bersorak-sorai +bersuap-suapan +bersudah-sudah +bersuka-suka +bersuka-sukaan +bersuku-suku +bersulang-sulang +bersumpah-sumpahan +bersungguh-sungguh +bersungut-sungut +bersunyi-sunyi +bersuruk-surukan +bersusah-susah +bersusuk-susuk +bersusuk-susukan +bersutan-sutan +bertabur-tabur +bertahan-tahan +bertahu-tahu +bertahun-tahun +bertajuk-tajuk +bertakik-takik +bertala-tala +bertalah-talah +bertali-tali +bertalu-talu +bertalun-talun +bertambah-tambah +bertanda-tandaan +bertangis-tangisan +bertangkil-tangkil +bertanya-tanya +bertarik-tarikan +bertatai-tatai +bertatap-tatapan +bertatih-tatih +bertawan-tawan +bertawar-tawaran +bertebu-tebu +bertebu-tebukan +berteguh-teguh +berteguh-teguhan +berteka-teki +bertelang-telang +bertelau-telau +bertele-tele +bertembuk-tembuk +bertempat-tempat +bertempuh-tempuh +bertenang-tenang +bertenggang-tenggangan +bertentu-tentu +bertepek-tepek +berterang-terang +berterang-terangan +berteriak-teriak +bertikam-tikaman +bertimbal-timbalan +bertimbun-timbun +bertimpa-timpa +bertimpas-timpas +bertingkah-tingkah +bertingkat-tingkat +bertinjau-tinjauan +bertiras-tiras +bertitar-titar +bertitik-titik +bertoboh-toboh +bertolak-tolak +bertolak-tolakan +bertolong-tolongan +bertonjol-tonjol +bertruk-truk +bertua-tua +bertua-tuaan +bertual-tual +bertubi-tubi +bertukar-tukar +bertukar-tukaran +bertukas-tukas +bertumpak-tumpak +bertumpang-tindih +bertumpuk-tumpuk +bertunda-tunda +bertunjuk-tunjukan +bertura-tura +berturut-turut +bertutur-tutur +beruas-ruas +berubah-ubah +berulang-alik +berulang-ulang +berumbai-rumbai +berundak-undak +berundan-undan +berundung-undung +berunggas-runggas +berunggun-unggun +berunggut-unggut +berungkur-ungkuran +beruntai-untai +beruntun-runtun +beruntung-untung +berunyai-unyai +berupa-rupa +berura-ura +beruris-uris +berurut-urutan +berwarna-warna +berwarna-warni +berwindu-windu +berwiru-wiru +beryang-yang +besar-besar +besar-besaran +betak-betak +beti-beti +betik-betik +betul-betul +biang-biang +biar-biar +biaya-biaya +bicu-bicu +bidadari-bidadari +bidang-bidang +bijak-bijaklah +biji-bijian +bila-bila +bilang-bilang +bincang-bincang +bincang-bincut +bingkah-bingkah +bini-binian +bintang-bintang +bintik-bintik +bio-oil +biri-biri +biru-biru +biru-hitam +biru-kuning +bisik-bisik +biti-biti +blak-blakan +blok-blok +bocah-bocah +bohong-bohong +bohong-bohongan +bola-bola +bolak-balik +bolang-baling +boleh-boleh +bom-bom +bomber-bomber +bonek-bonek +bongkar-bangkir +bongkar-membongkar +bongkar-pasang +boro-boro +bos-bos +bottom-up +box-to-box +boyo-boyo +buah-buahan +buang-buang +buat-buatan +buaya-buaya +bubun-bubun +bugi-bugi +build-up +built-in +built-up +buka-buka +buka-bukaan +buka-tutup +bukan-bukan +bukti-bukti +buku-buku +bulan-bulan +bulan-bulanan +bulang-baling +bulang-bulang +bulat-bulat +buli-buli +bulu-bulu +buluh-buluh +bulus-bulus +bunga-bunga +bunga-bungaan +bunuh-membunuh +bunyi-bunyian +bupati-bupati +bupati-wakil +buru-buru +burung-burung +burung-burungan +bus-bus +business-to-business +busur-busur +butir-butir +by-pass +bye-bye +cabang-cabang +cabik-cabik +cabik-mencabik +cabup-cawabup +caci-maki +cagub-cawagub +caing-caing +cakar-mencakar +cakup-mencakup +calak-calak +calar-balar +caleg-caleg +calo-calo +calon-calon +campang-camping +campur-campur +capres-cawapres +cara-cara +cari-cari +cari-carian +carut-marut +catch-up +cawali-cawawali +cawe-cawe +cawi-cawi +cebar-cebur +celah-celah +celam-celum +celangak-celinguk +celas-celus +celedang-celedok +celengkak-celengkok +celingak-celinguk +celung-celung +cemas-cemas +cenal-cenil +cengar-cengir +cengir-cengir +cengis-cengis +cengking-mengking +centang-perenang +cepat-cepat +ceplas-ceplos +cerai-berai +cerita-cerita +ceruk-menceruk +ceruk-meruk +cetak-biru +cetak-mencetak +cetar-ceter +check-in +check-ins +check-up +chit-chat +choki-choki +cingak-cinguk +cipika-cipiki +ciri-ciri +ciri-cirinya +cirit-birit +cita-cita +cita-citaku +close-up +closed-circuit +coba-coba +cobak-cabik +cobar-cabir +cola-cala +colang-caling +comat-comot +comot-comot +compang-camping +computer-aided +computer-generated +condong-mondong +congak-cangit +conggah-canggih +congkah-cangkih +congkah-mangkih +copak-capik +copy-paste +corak-carik +corat-coret +coreng-moreng +coret-coret +crat-crit +cross-border +cross-dressing +crypto-ransomware +cuang-caing +cublak-cublak +cubung-cubung +culik-culik +cuma-cuma +cumi-cumi +cungap-cangip +cupu-cupu +dabu-dabu +daerah-daerah +dag-dag +dag-dig-dug +daging-dagingan +dahulu-mendahului +dalam-dalam +dali-dali +dam-dam +danau-danau +dansa-dansi +dapil-dapil +dapur-dapur +dari-dari +daru-daru +dasar-dasar +datang-datang +datang-mendatangi +daun-daun +daun-daunan +dawai-dawai +dayang-dayang +dayung-mayung +debak-debuk +debu-debu +deca-core +decision-making +deep-lying +deg-degan +degap-degap +dekak-dekak +dekat-dekat +dengar-dengaran +dengking-mendengking +departemen-departemen +depo-depo +deputi-deputi +desa-desa +desa-kota +desas-desus +detik-detik +dewa-dewa +dewa-dewi +dewan-dewan +dewi-dewi +dial-up +diam-diam +dibayang-bayangi +dibuat-buat +diiming-imingi +dilebih-lebihkan +dimana-mana +dimata-matai +dinas-dinas +dinul-Islam +diobok-obok +diolok-olok +direksi-direksi +direktorat-direktorat +dirjen-dirjen +dirut-dirut +ditunggu-tunggu +divisi-divisi +do-it-yourself +doa-doa +dog-dog +doggy-style +dokok-dokok +dolak-dalik +dor-doran +dorong-mendorong +dosa-dosa +dress-up +drive-in +dua-dua +dua-duaan +dua-duanya +dubes-dubes +duduk-duduk +dugaan-dugaan +dulang-dulang +duri-duri +duta-duta +dwi-kewarganegaraan +e-arena +e-billing +e-budgeting +e-cctv +e-class +e-commerce +e-counting +e-elektronik +e-entertainment +e-evolution +e-faktur +e-filing +e-fin +e-form +e-government +e-govt +e-hakcipta +e-id +e-info +e-katalog +e-ktp +e-leadership +e-lhkpn +e-library +e-loket +e-m1 +e-money +e-news +e-nisn +e-npwp +e-paspor +e-paten +e-pay +e-perda +e-perizinan +e-planning +e-polisi +e-power +e-punten +e-retribusi +e-samsat +e-sport +e-store +e-tax +e-ticketing +e-tilang +e-toll +e-visa +e-voting +e-wallet +e-warong +ecek-ecek +eco-friendly +eco-park +edan-edanan +editor-editor +editor-in-chief +efek-efek +ekonomi-ekonomi +eksekutif-legislatif +ekspor-impor +elang-elang +elemen-elemen +emak-emak +embuh-embuhan +empat-empat +empek-empek +empet-empetan +empok-empok +empot-empotan +enak-enak +encal-encal +end-to-end +end-user +endap-endap +endut-endut +endut-endutan +engah-engah +engap-engap +enggan-enggan +engkah-engkah +engket-engket +entah-berentah +enten-enten +entry-level +equity-linked +erang-erot +erat-erat +erek-erek +ereng-ereng +erong-erong +esek-esek +ex-officio +exchange-traded +exercise-induced +extra-time +face-down +face-to-face +fair-play +fakta-fakta +faktor-faktor +fakultas-fakultas +fase-fase +fast-food +feed-in +fifty-fifty +file-file +first-leg +first-team +fitur-fitur +fitur-fiturnya +fixed-income +flip-flop +flip-plop +fly-in +follow-up +foto-foto +foya-foya +fraksi-fraksi +free-to-play +front-end +fungsi-fungsi +gaba-gaba +gabai-gabai +gada-gada +gading-gading +gadis-gadis +gado-gado +gail-gail +gajah-gajah +gajah-gajahan +gala-gala +galeri-galeri +gali-gali +gali-galian +galing-galing +galu-galu +gamak-gamak +gambar-gambar +gambar-menggambar +gamit-gamitan +gampang-gampangan +gana-gini +ganal-ganal +ganda-berganda +ganjal-mengganjal +ganjil-genap +ganteng-ganteng +gantung-gantung +gapah-gopoh +gara-gara +garah-garah +garis-garis +gasak-gasakan +gatal-gatal +gaun-gaun +gawar-gawar +gaya-gayanya +gayang-gayang +ge-er +gebyah-uyah +gebyar-gebyar +gedana-gedini +gedebak-gedebuk +gedebar-gedebur +gedung-gedung +gelang-gelang +gelap-gelapan +gelar-gelar +gelas-gelas +gelembung-gelembungan +geleng-geleng +geli-geli +geliang-geliut +geliat-geliut +gembar-gembor +gembrang-gembreng +gempul-gempul +gempur-menggempur +gendang-gendang +gengsi-gengsian +genjang-genjot +genjot-genjotan +genjrang-genjreng +genome-wide +geo-politik +gerabak-gerubuk +gerak-gerik +gerak-geriknya +gerakan-gerakan +gerbas-gerbus +gereja-gereja +gereng-gereng +geriak-geriuk +gerit-gerit +gerot-gerot +geruh-gerah +getak-getuk +getem-getem +geti-geti +gial-gial +gial-giul +gila-gila +gila-gilaan +gilang-gemilang +gilap-gemilap +gili-gili +giling-giling +gilir-bergilir +ginang-ginang +girap-girap +girik-girik +giring-giring +go-auto +go-bills +go-bluebird +go-box +go-car +go-clean +go-food +go-glam +go-jek +go-kart +go-mart +go-massage +go-med +go-points +go-pulsa +go-ride +go-send +go-shop +go-tix +go-to-market +goak-goak +goal-line +gol-gol +golak-galik +gondas-gandes +gonjang-ganjing +gonjlang-ganjling +gonta-ganti +gontok-gontokan +gorap-gorap +gorong-gorong +gotong-royong +gresek-gresek +gua-gua +gual-gail +gubernur-gubernur +gudu-gudu +gula-gula +gulang-gulang +gulung-menggulung +guna-ganah +guna-guna +gundala-gundala +guntang-guntang +gunung-ganang +gunung-gemunung +gunung-gunungan +guru-guru +habis-habis +habis-habisan +hak-hak +hak-hal +hakim-hakim +hal-hal +halai-balai +half-time +hama-hama +hampir-hampir +hancur-hancuran +hancur-menghancurkan +hands-free +hands-on +hang-out +hantu-hantu +happy-happy +harap-harap +harap-harapan +hard-disk +harga-harga +hari-hari +harimau-harimau +harum-haruman +hasil-hasil +hasta-wara +hat-trick +hati-hati +hati-hatilah +head-mounted +head-to-head +head-up +heads-up +heavy-duty +hebat-hebatan +hewan-hewan +hexa-core +hidup-hidup +hidup-mati +hila-hila +hilang-hilang +hina-menghinakan +hip-hop +hiru-biru +hiru-hara +hiruk-pikuk +hitam-putih +hitung-hitung +hitung-hitungan +hormat-menghormati +hot-swappable +hotel-hotel +how-to +hubar-habir +hubaya-hubaya +hukum-red +hukuman-hukuman +hula-hoop +hula-hula +hulu-hilir +humas-humas +hura-hura +huru-hara +ibar-ibar +ibu-anak +ibu-ibu +icak-icak +icip-icip +idam-idam +ide-ide +igau-igauan +ikan-ikan +ikut-ikut +ikut-ikutan +ilam-ilam +ilat-ilatan +ilmu-ilmu +imbang-imbangan +iming-iming +imut-imut +inang-inang +inca-binca +incang-incut +industri-industri +ingar-bingar +ingar-ingar +ingat-ingat +ingat-ingatan +ingau-ingauan +inggang-inggung +injak-injak +input-output +instansi-instansi +instant-on +instrumen-instrumen +inter-governmental +ira-ira +irah-irahan +iras-iras +iring-iringan +iris-irisan +isak-isak +isat-bb +iseng-iseng +istana-istana +istri-istri +isu-isu +iya-iya +jabatan-jabatan +jadi-jadian +jagoan-jagoan +jaja-jajaan +jaksa-jaksa +jala-jala +jalan-jalan +jali-jali +jalin-berjalin +jalin-menjalin +jam-jam +jamah-jamahan +jambak-jambakan +jambu-jambu +jampi-jampi +janda-janda +jangan-jangan +janji-janji +jarang-jarang +jari-jari +jaring-jaring +jarum-jarum +jasa-jasa +jatuh-bangun +jauh-dekat +jauh-jauh +jawi-jawi +jebar-jebur +jebat-jebatan +jegal-jegalan +jejak-jejak +jelang-menjelang +jelas-jelas +jelur-jelir +jembatan-jembatan +jenazah-jenazah +jendal-jendul +jenderal-jenderal +jenggar-jenggur +jenis-jenis +jenis-jenisnya +jentik-jentik +jerah-jerih +jinak-jinak +jiwa-jiwa +joli-joli +jolong-jolong +jongkang-jangking +jongkar-jangkir +jongkat-jangkit +jor-joran +jotos-jotosan +juak-juak +jual-beli +juang-juang +julo-julo +julung-julung +julur-julur +jumbai-jumbai +jungkang-jungkit +jungkat-jungkit +jurai-jurai +kabang-kabang +kabar-kabari +kabir-kabiran +kabruk-kabrukan +kabu-kabu +kabupaten-kabupaten +kabupaten-kota +kaca-kaca +kacang-kacang +kacang-kacangan +kacau-balau +kadang-kadang +kader-kader +kades-kades +kadis-kadis +kail-kail +kain-kain +kait-kait +kakak-adik +kakak-beradik +kakak-kakak +kakek-kakek +kakek-nenek +kaki-kaki +kala-kala +kalau-kalau +kaleng-kalengan +kali-kalian +kalimat-kalimat +kalung-kalung +kalut-malut +kambing-kambing +kamit-kamit +kampung-kampung +kampus-kampus +kanak-kanak +kanak-kanan +kanan-kanak +kanan-kiri +kangen-kangenan +kanwil-kanwil +kapa-kapa +kapal-kapal +kapan-kapan +kapolda-kapolda +kapolres-kapolres +kapolsek-kapolsek +kapu-kapu +karang-karangan +karang-mengarang +kareseh-peseh +karut-marut +karya-karya +kasak-kusuk +kasus-kasus +kata-kata +katang-katang +kava-kava +kawa-kawa +kawan-kawan +kawin-cerai +kawin-mawin +kayu-kayu +kayu-kayuan +ke-Allah-an +keabu-abuan +kearab-araban +keasyik-asyikan +kebarat-baratan +kebasah-basahan +kebat-kebit +kebata-bataan +kebayi-bayian +kebelanda-belandaan +keberlarut-larutan +kebesar-hatian +kebiasaan-kebiasaan +kebijakan-kebijakan +kebiru-biruan +kebudak-budakan +kebun-kebun +kebut-kebutan +kecamatan-kecamatan +kecentang-perenangan +kecil-kecil +kecil-kecilan +kecil-mengecil +kecokelat-cokelatan +kecomak-kecimik +kecuh-kecah +kedek-kedek +kedekak-kedekik +kedesa-desaan +kedubes-kedubes +kedutaan-kedutaan +keempat-empatnya +kegadis-gadisan +kegelap-gelapan +kegiatan-kegiatan +kegila-gilaan +kegirang-girangan +kehati-hatian +keheran-heranan +kehijau-hijauan +kehitam-hitaman +keinggris-inggrisan +kejaga-jagaan +kejahatan-kejahatan +kejang-kejang +kejar-kejar +kejar-kejaran +kejar-mengejar +kejingga-jinggaan +kejut-kejut +kejutan-kejutan +kekabur-kaburan +kekanak-kanakan +kekoboi-koboian +kekota-kotaan +kekuasaan-kekuasaan +kekuning-kuningan +kelak-kelik +kelak-keluk +kelaki-lakian +kelang-kelok +kelap-kelip +kelasah-kelusuh +kelek-kelek +kelek-kelekan +kelemak-kelemek +kelik-kelik +kelip-kelip +kelompok-kelompok +kelontang-kelantung +keluar-masuk +kelurahan-kelurahan +kelusuh-kelasah +kelut-melut +kemak-kemik +kemalu-maluan +kemana-mana +kemanja-manjaan +kemarah-marahan +kemasam-masaman +kemati-matian +kembang-kembang +kemenpan-rb +kementerian-kementerian +kemerah-merahan +kempang-kempis +kempas-kempis +kemuda-mudaan +kena-mengena +kenal-mengenal +kenang-kenangan +kencang-kencung +kencing-mengencingi +kencrang-kencring +kendang-kendang +kendang-kendangan +keningrat-ningratan +kentung-kentung +kenyat-kenyit +kepala-kepala +kepala-kepalaan +kepandir-pandiran +kepang-kepot +keperak-perakan +kepetah-lidahan +kepilu-piluan +keping-keping +kepucat-pucatan +kepuh-kepuh +kepura-puraan +keputih-putihan +kerah-kerahan +kerancak-rancakan +kerang-kerangan +kerang-keroh +kerang-kerot +kerang-keruk +kerang-kerung +kerap-kerap +keras-mengerasi +kercap-kercip +kercap-kercup +keriang-keriut +kerja-kerja +kernyat-kernyut +kerobak-kerabit +kerobak-kerobek +kerobak-kerobik +kerobat-kerabit +kerong-kerong +keropas-kerapis +kertak-kertuk +kertap-kertap +keruntang-pungkang +kesalahan-kesalahan +kesap-kesip +kesemena-menaan +kesenak-senakan +kesewenang-wenangan +kesia-siaan +kesik-kesik +kesipu-sipuan +kesu-kesi +kesuh-kesih +kesuk-kesik +ketakar-keteker +ketakutan-ketakutan +ketap-ketap +ketap-ketip +ketar-ketir +ketentuan-ketentuan +ketergesa-gesaan +keti-keti +ketidur-tiduran +ketiga-tiganya +ketir-ketir +ketua-ketua +ketua-tuaan +ketuan-tuanan +keungu-unguan +kewangi-wangian +ki-ka +kia-kia +kiai-kiai +kiak-kiak +kial-kial +kiang-kiut +kiat-kiat +kibang-kibut +kicang-kecoh +kicang-kicu +kick-off +kida-kida +kijang-kijang +kilau-mengilau +kili-kili +kilik-kilik +kincir-kincir +kios-kios +kira-kira +kira-kiraan +kiri-kanan +kirim-berkirim +kisah-kisah +kisi-kisi +kitab-kitab +kitang-kitang +kiu-kiu +klaim-klaim +klik-klikan +klip-klip +klub-klub +kluntang-klantung +knock-knock +knock-on +knock-out +ko-as +ko-pilot +koak-koak +koboi-koboian +kocah-kacih +kocar-kacir +kodam-kodam +kode-kode +kodim-kodim +kodok-kodok +kolang-kaling +kole-kole +koleh-koleh +kolong-kolong +koma-koma +komat-kamit +komisaris-komisaris +komisi-komisi +komite-komite +komoditas-komoditas +kongko-kongko +konsulat-konsulat +konsultan-konsultan +kontal-kantil +kontang-kanting +kontra-terorisme +kontrak-kontrak +konvensi-konvensi +kopat-kapit +koperasi-koperasi +kopi-kopi +koran-koran +koreng-koreng +kos-kosan +kosak-kasik +kota-kota +kota-wakil +kotak-katik +kotak-kotak +koyak-koyak +kuas-kuas +kuat-kuat +kubu-kubuan +kucar-kacir +kucing-kucing +kucing-kucingan +kuda-kuda +kuda-kudaan +kudap-kudap +kue-kue +kulah-kulah +kulak-kulak +kulik-kulik +kulum-kulum +kumat-kamit +kumpul-kumpul +kunang-kunang +kunar-kunar +kung-fu +kuning-hitam +kupat-kapit +kupu-kupu +kura-kura +kurang-kurang +kusat-mesat +kutat-kutet +kuti-kuti +kuwung-kuwung +kyai-kyai +laba-laba +labi-labi +labu-labu +laga-laga +lagi-lagi +lagu-lagu +laguh-lagah +lain-lain +laki-laki +lalu-lalang +lalu-lintas +lama-kelamaan +lama-lama +lamat-lamat +lambat-lambat +lampion-lampion +lampu-lampu +lancang-lancang +lancar-lancar +langak-longok +langgar-melanggar +langit-langit +langkah-langka +langkah-langkah +lanja-lanjaan +lapas-lapas +lapat-lapat +laporan-laporan +laptop-tablet +large-scale +lari-lari +lari-larian +laskar-laskar +lauk-pauk +laun-laun +laut-timur +lawah-lawah +lawak-lawak +lawan-lawan +lawi-lawi +layang-layang +layu-layuan +lebih-lebih +lecet-lecet +legak-legok +legum-legum +legup-legup +leha-leha +lekak-lekuk +lekap-lekup +lekas-lekas +lekat-lekat +lekuh-lekih +lekum-lekum +lekup-lekap +lembaga-lembaga +lempar-lemparan +lenggak-lenggok +lenggok-lenggok +lenggut-lenggut +lengket-lengket +lentam-lentum +lentang-lentok +lentang-lentung +lepa-lepa +lerang-lerang +lereng-lereng +lese-majeste +letah-letai +lete-lete +letuk-letuk +letum-letum +letup-letup +leyeh-leyeh +liang-liuk +liang-liut +liar-liar +liat-liut +lidah-lidah +life-toxins +liga-liga +light-emitting +lika-liku +lil-alamin +lilin-lilin +line-up +lintas-selat +lipat-melipat +liquid-cooled +lithium-ion +lithium-polymer +liuk-liuk +liung-liung +lobi-lobi +lock-up +locked-in +lokasi-lokasi +long-term +longak-longok +lontang-lanting +lontang-lantung +lopak-lapik +lopak-lopak +low-cost +low-density +low-end +low-light +low-multi +low-pass +lucu-lucu +luka-luka +lukisan-lukisan +lumba-lumba +lumi-lumi +luntang-lantung +lupa-lupa +lupa-lupaan +lurah-camat +maaf-memaafkan +mabuk-mabukan +mabul-mabul +macam-macam +macan-macanan +machine-to-machine +mafia-mafia +mahasiswa-mahasiswi +mahasiswa/i +mahi-mahi +main-main +main-mainan +main-mainlah +majelis-majelis +maju-mundur +makam-makam +makan-makan +makan-makanan +makanan-red +make-up +maki-maki +maki-makian +mal-mal +malai-malai +malam-malam +malar-malar +malas-malasan +mali-mali +malu-malu +mama-mama +man-in-the-middle +mana-mana +manajer-manajer +manik-manik +manis-manis +manis-manisan +marah-marah +mark-up +mas-mas +masa-masa +masak-masak +masalah-masalah +mash-up +masing-masing +masjid-masjid +masuk-keluar +mat-matan +mata-mata +match-fixing +mati-mati +mati-matian +maya-maya +mayat-mayat +mayday-mayday +media-media +mega-bintang +mega-tsunami +megal-megol +megap-megap +meger-meger +megrek-megrek +melak-melak +melambai-lambai +melambai-lambaikan +melambat-lambatkan +melaun-laun +melawak-lawak +melayang-layang +melayap-layap +melayap-layapkan +melebih-lebihi +melebih-lebihkan +melejang-lejangkan +melek-melekan +meleleh-leleh +melengah-lengah +melihat-lihat +melimpah-limpah +melincah-lincah +meliuk-liuk +melolong-lolong +melompat-lompat +meloncat-loncat +melonco-lonco +melongak-longok +melonjak-lonjak +memacak-macak +memada-madai +memadan-madan +memaki-maki +memaksa-maksa +memanas-manasi +memancit-mancitkan +memandai-mandai +memanggil-manggil +memanis-manis +memanjut-manjut +memantas-mantas +memasak-masak +memata-matai +mematah-matah +mematuk-matuk +mematut-matut +memau-mau +memayah-mayahkan +membaca-baca +membacah-bacah +membagi-bagikan +membalik-balik +membangkit-bangkit +membarut-barut +membawa-bawa +membayang-bayangi +membayang-bayangkan +membeda-bedakan +membelai-belai +membeli-beli +membelit-belitkan +membelu-belai +membenar-benar +membenar-benari +memberai-beraikan +membesar-besar +membesar-besarkan +membikin-bikin +membilah-bilah +membolak-balikkan +membongkar-bangkir +membongkar-bongkar +membuang-buang +membuat-buat +membulan-bulani +membunga-bungai +membungkuk-bungkuk +memburu-buru +memburu-burukan +memburuk-burukkan +memelintir-melintir +memencak-mencak +memencar-mencar +memercik-mercik +memetak-metak +memetang-metangkan +memetir-metir +memijar-mijar +memikir-mikir +memikir-mikirkan +memilih-milih +memilin-milin +meminang-minang +meminta-minta +memisah-misahkan +memontang-mantingkan +memorak-perandakan +memorak-porandakan +memotong-motong +memperamat-amat +memperamat-amatkan +memperbagai-bagaikan +memperganda-gandakan +memperganduh-ganduhkan +memperimpit-impitkan +memperkuda-kudakan +memperlengah-lengah +memperlengah-lengahkan +mempermacam-macamkan +memperolok-olok +memperolok-olokkan +mempersama-samakan +mempertubi-tubi +mempertubi-tubikan +memperturut-turutkan +memuja-muja +memukang-mukang +memulun-mulun +memundi-mundi +memundi-mundikan +memutar-mutar +memuyu-muyu +men-tweet +menagak-nagak +menakut-nakuti +menang-kalah +menanjur-nanjur +menanti-nanti +menari-nari +mencabik-cabik +mencabik-cabikkan +mencacah-cacah +mencaing-caing +mencak-mencak +mencakup-cakup +mencapak-capak +mencari-cari +mencarik-carik +mencarik-carikkan +mencarut-carut +mencengis-cengis +mencepak-cepak +mencepuk-cepuk +mencerai-beraikan +mencetai-cetai +menciak-ciak +menciap-ciap +menciar-ciar +mencita-citakan +mencium-cium +menciut-ciut +mencla-mencle +mencoang-coang +mencoba-coba +mencocok-cocok +mencolek-colek +menconteng-conteng +mencubit-cubit +mencucuh-cucuh +mencucuh-cucuhkan +mencuri-curi +mendecap-decap +mendegam-degam +mendengar-dengar +mendengking-dengking +mendengus-dengus +mendengut-dengut +menderai-deraikan +menderak-derakkan +menderau-derau +menderu-deru +mendesas-desuskan +mendesus-desus +mendetap-detap +mendewa-dewakan +mendudu-dudu +menduga-duga +menebu-nebu +menegur-neguri +menepak-nepak +menepak-nepakkan +mengabung-ngabung +mengaci-acikan +mengacu-acu +mengada-ada +mengada-ngada +mengadang-adangi +mengaduk-aduk +mengagak-agak +mengagak-agihkan +mengagut-agut +mengais-ngais +mengalang-alangi +mengali-ali +mengalur-alur +mengamang-amang +mengamat-amati +mengambai-ambaikan +mengambang-ambang +mengambung-ambung +mengambung-ambungkan +mengamit-ngamitkan +mengancai-ancaikan +mengancak-ancak +mengancar-ancar +mengangan-angan +mengangan-angankan +mengangguk-angguk +menganggut-anggut +mengangin-anginkan +mengangkat-angkat +menganjung-anjung +menganjung-anjungkan +mengap-mengap +mengapa-apai +mengapi-apikan +mengarah-arahi +mengarang-ngarang +mengata-ngatai +mengatup-ngatupkan +mengaum-aum +mengaum-aumkan +mengejan-ejan +mengejar-ngejar +mengejut-ngejuti +mengelai-ngelai +mengelepik-ngelepik +mengelip-ngelip +mengelu-elukan +mengelus-elus +mengembut-embut +mengempas-empaskan +mengenap-enapkan +mengendap-endap +mengenjak-enjak +mengentak-entak +mengentak-entakkan +mengepak-ngepak +mengepak-ngepakkan +mengepal-ngepalkan +mengerjap-ngerjap +mengerling-ngerling +mengertak-ngertakkan +mengesot-esot +menggaba-gabai +menggali-gali +menggalur-galur +menggamak-gamak +menggamit-gamitkan +menggapai-gapai +menggapai-gapaikan +menggaruk-garuk +menggebu-gebu +menggebyah-uyah +menggeleng-gelengkan +menggelepar-gelepar +menggelepar-geleparkan +menggeliang-geliutkan +menggelinding-gelinding +menggemak-gemak +menggembar-gemborkan +menggerak-gerakkan +menggerecak-gerecak +menggesa-gesakan +menggili-gili +menggodot-godot +menggolak-galikkan +menggorek-gorek +menggoreng-goreng +menggosok-gosok +menggoyang-goyangkan +mengguit-guit +menghalai-balaikan +menghalang-halangi +menghambur-hamburkan +menghinap-hinap +menghitam-memutihkan +menghitung-hitung +menghubung-hubungkan +menghujan-hujankan +mengiang-ngiang +mengibar-ngibarkan +mengibas-ngibas +mengibas-ngibaskan +mengidam-idamkan +mengilah-ngilahkan +mengilai-ilai +mengilat-ngilatkan +mengilik-ngilik +mengimak-imak +mengimbak-imbak +mengiming-iming +mengincrit-incrit +mengingat-ingat +menginjak-injak +mengipas-ngipas +mengira-ngira +mengira-ngirakan +mengiras-iras +mengiras-irasi +mengiris-iris +mengitar-ngitar +mengitik-ngitik +mengodol-odol +mengogok-ogok +mengolak-alik +mengolak-alikkan +mengolang-aling +mengolang-alingkan +mengoleng-oleng +mengolok-olok +mengombang-ambing +mengombang-ambingkan +mengongkang-ongkang +mengongkok-ongkok +mengonyah-anyih +mengopak-apik +mengorak-arik +mengorat-oret +mengorek-ngorek +mengoret-oret +mengorok-orok +mengotak-atik +mengotak-ngatikkan +mengotak-ngotakkan +mengoyak-ngoyak +mengoyak-ngoyakkan +mengoyak-oyak +menguar-nguarkan +menguar-uarkan +mengubah-ubah +mengubek-ubek +menguber-uber +mengubit-ubit +mengubrak-abrik +mengucar-ngacirkan +mengucek-ngucek +mengucek-ucek +menguik-uik +menguis-uis +mengulang-ulang +mengulas-ulas +mengulit-ulit +mengulum-ngulum +mengulur-ulur +menguman-uman +mengumbang-ambingkan +mengumpak-umpak +mengungkat-ungkat +mengungkit-ungkit +mengupa-upa +mengurik-urik +mengusil-usil +mengusil-usilkan +mengutak-atik +mengutak-ngatikkan +mengutik-ngutik +mengutik-utik +menika-nika +menimang-nimang +menimbang-nimbang +menimbun-nimbun +menimpang-nimpangkan +meningkat-ningkat +meniru-niru +menit-menit +menitar-nitarkan +meniup-niup +menjadi-jadi +menjadi-jadikan +menjedot-jedotkan +menjelek-jelekkan +menjengek-jengek +menjengit-jengit +menjerit-jerit +menjilat-jilat +menjungkat-jungkit +menko-menko +menlu-menlu +menonjol-nonjolkan +mentah-mentah +mentang-mentang +menteri-menteri +mentul-mentul +menuding-nuding +menumpah-numpahkan +menunda-nunda +menunduk-nunduk +menusuk-nusuk +menyala-nyala +menyama-nyama +menyama-nyamai +menyambar-nyambar +menyangkut-nyangkutkan +menyanjung-nyanjung +menyanjung-nyanjungkan +menyapu-nyapu +menyarat-nyarat +menyayat-nyayat +menyedang-nyedang +menyedang-nyedangkan +menyelang-nyelangkan +menyelang-nyeling +menyelang-nyelingkan +menyenak-nyenak +menyendi-nyendi +menyentak-nyentak +menyentuh-nyentuh +menyepak-nyepakkan +menyerak-nyerakkan +menyeret-nyeret +menyeru-nyerukan +menyetel-nyetel +menyia-nyiakan +menyibak-nyibak +menyobek-nyobek +menyorong-nyorongkan +menyungguh-nyungguhi +menyuruk-nyuruk +meraba-raba +merah-hitam +merah-merah +merambang-rambang +merangkak-rangkak +merasa-rasai +merata-ratakan +meraung-raung +meraung-raungkan +merayau-rayau +merayu-rayu +mercak-mercik +mercedes-benz +merek-merek +mereka-mereka +mereka-reka +merelap-relap +merem-merem +meremah-remah +meremas-remas +meremeh-temehkan +merempah-rempah +merempah-rempahi +merengek-rengek +merengeng-rengeng +merenik-renik +merenta-renta +merenyai-renyai +meresek-resek +merintang-rintang +merintik-rintik +merobek-robek +meronta-ronta +meruap-ruap +merubu-rubu +merungus-rungus +merungut-rungut +meta-analysis +metode-metode +mewanti-wanti +mewarna-warnikan +meyakin-yakini +mid-range +mid-size +miju-miju +mikro-kecil +mimpi-mimpi +minggu-minggu +minta-minta +minuman-minuman +mixed-use +mobil-mobil +mobile-first +mobile-friendly +moga-moga +mola-mola +momen-momen +mondar-mandir +monyet-monyet +morak-marik +morat-marit +move-on +muda-muda +muda-mudi +muda/i +mudah-mudahan +muka-muka +mula-mula +multiple-output +muluk-muluk +mulut-mulutan +mumi-mumi +mundur-mundur +muntah-muntah +murid-muridnya +musda-musda +museum-museum +muslim-muslimah +musuh-musuh +musuh-musuhnya +nabi-nabi +nada-nadanya +naga-naga +naga-naganya +naik-naik +naik-turun +nakal-nakalan +nama-nama +nanti-nantian +nanya-nanya +nasi-nasi +nasib-nasiban +near-field +negara-negara +negera-negara +negeri-negeri +negeri-red +neka-neka +nekat-nekat +neko-neko +nenek-nenek +neo-liberalisme +next-gen +next-generation +ngeang-ngeang +ngeri-ngeri +nggak-nggak +ngobrol-ngobrol +ngumpul-ngumpul +nilai-nilai +nine-dash +nipa-nipa +nong-nong +norma-norma +novel-novel +nyai-nyai +nyolong-nyolong +nyut-nyutan +ob-gyn +obat-obat +obat-obatan +objek-objek +obok-obok +obrak-abrik +octa-core +odong-odong +oedipus-kompleks +off-road +ogah-agih +ogah-ogah +ogah-ogahan +ogak-agik +ogak-ogak +ogoh-ogoh +olak-alik +olak-olak +olang-aling +olang-alingan +ole-ole +oleh-oleh +olok-olok +olok-olokan +olong-olong +om-om +ombang-ambing +omni-channel +on-board +on-demand +on-fire +on-line +on-off +on-premises +on-roll +on-screen +on-the-go +onde-onde +ondel-ondel +ondos-ondos +one-click +one-to-one +one-touch +one-two +oneng-oneng +ongkang-ongkang +ongol-ongol +online-to-offline +ontran-ontran +onyah-anyih +onyak-anyik +opak-apik +opsi-opsi +opt-in +orak-arik +orang-aring +orang-orang +orang-orangan +orat-oret +organisasi-organisasi +ormas-ormas +orok-orok +orong-orong +oseng-oseng +otak-atik +otak-otak +otak-otakan +over-heating +over-the-air +over-the-top +pa-pa +pabrik-pabrik +padi-padian +pagi-pagi +pagi-sore +pajak-pajak +paket-paket +palas-palas +palato-alveolar +paling-paling +palu-arit +palu-memalu +panas-dingin +panas-panas +pandai-pandai +pandang-memandang +panel-panel +pangeran-pangeran +panggung-panggung +pangkalan-pangkalan +panja-panja +panji-panji +pansus-pansus +pantai-pantai +pao-pao +para-para +parang-parang +parpol-parpol +partai-partai +paru-paru +pas-pasan +pasal-pasal +pasang-memasang +pasang-surut +pasar-pasar +pasu-pasu +paus-paus +paut-memaut +pay-per-click +paya-paya +pdi-p +pecah-pecah +pecat-pecatan +peer-to-peer +pejabat-pejabat +pekak-pekak +pekik-pekuk +pelabuhan-pelabuhan +pelacur-pelacur +pelajar-pelajar +pelan-pelan +pelangi-pelangi +pem-bully +pemain-pemain +pemata-mataan +pemda-pemda +pemeluk-pemeluknya +pemerintah-pemerintah +pemerintah-red +pemerintah-swasta +pemetang-metangan +pemilu-pemilu +pemimpin-pemimpin +peminta-minta +pemuda-pemuda +pemuda-pemudi +penanggung-jawab +pengali-ali +pengaturan-pengaturan +penggembar-gemboran +pengorak-arik +pengotak-ngotakan +pengundang-undang +pengusaha-pengusaha +pentung-pentungan +penyakit-penyakit +perak-perak +perang-perangan +peras-perus +peraturan-peraturan +perda-perda +perempat-final +perempuan-perempuan +pergi-pergi +pergi-pulang +perintang-rintang +perkereta-apian +perlahan-lahan +perlip-perlipan +permen-permen +pernak-pernik +pernik-pernik +pertama-tama +pertandingan-pertandingan +pertimbangan-pertimbangan +perudang-undangan +perundang-undangan +perundangan-undangan +perusahaan-perusahaan +perusahaan-perusahan +perwakilan-perwakilan +pesan-pesan +pesawat-pesawat +peta-jalan +petang-petang +petantang-petenteng +petatang-peteteng +pete-pete +piala-piala +piat-piut +pick-up +picture-in-picture +pihak-pihak +pijak-pijak +pijar-pijar +pijat-pijat +pikir-pikir +pil-pil +pilah-pilih +pilih-pilih +pilihan-pilihan +pilin-memilin +pilkada-pilkada +pina-pina +pindah-pindah +ping-pong +pinjam-meminjam +pintar-pintarlah +pisang-pisang +pistol-pistolan +piting-memiting +planet-planet +play-off +plin-plan +plintat-plintut +plonga-plongo +plug-in +plus-minus +plus-plus +poco-poco +pohon-pohonan +poin-poin +point-of-sale +point-of-sales +pokemon-pokemon +pokja-pokja +pokok-pokok +pokrol-pokrolan +polang-paling +polda-polda +poleng-poleng +polong-polongan +polres-polres +polsek-polsek +polwan-polwan +poma-poma +pondok-pondok +ponpes-ponpes +pontang-panting +pop-up +porak-parik +porak-peranda +porak-poranda +pos-pos +posko-posko +potong-memotong +praktek-praktek +praktik-praktik +produk-produk +program-program +promosi-degradasi +provinsi-provinsi +proyek-proyek +puing-puing +puisi-puisi +puji-pujian +pukang-pukang +pukul-memukul +pulang-pergi +pulau-pulai +pulau-pulau +pull-up +pulut-pulut +pundi-pundi +pungak-pinguk +punggung-memunggung +pura-pura +puruk-parak +pusar-pusar +pusat-pusat +push-to-talk +push-up +push-ups +pusing-pusing +puskesmas-puskesmas +putar-putar +putera-puteri +putih-hitam +putih-putih +putra-putra +putra-putri +putra/i +putri-putri +putus-putus +putusan-putusan +puvi-puvi +quad-core +raba-rabaan +raba-rubu +rada-rada +radio-frequency +ragu-ragu +rahasia-rahasiaan +raja-raja +rama-rama +ramai-ramai +ramalan-ramalan +rambeh-rambeh +rambu-rambu +rame-rame +ramu-ramuan +randa-rondo +rangkul-merangkul +rango-rango +rap-rap +rasa-rasanya +rata-rata +raun-raun +read-only +real-life +real-time +rebah-rebah +rebah-rebahan +rebas-rebas +red-eye +redam-redam +redep-redup +rehab-rekon +reja-reja +reka-reka +reka-rekaan +rekan-rekan +rekan-rekannya +rekor-rekor +relief-relief +remah-remah +remang-remang +rembah-rembah +rembah-rembih +remeh-cemeh +remeh-temeh +rempah-rempah +rencana-rencana +renyai-renyai +rep-repan +repot-repot +repuh-repuh +restoran-restoran +retak-retak +riang-riang +ribu-ribu +ribut-ribut +rica-rica +ride-sharing +rigi-rigi +rinai-rinai +rintik-rintik +ritual-ritual +robak-rabik +robat-rabit +robot-robot +role-play +role-playing +roll-on +rombang-rambing +romol-romol +rompang-romping +rondah-rondih +ropak-rapik +royal-royalan +royo-royo +ruak-ruak +ruba-ruba +rudal-rudal +ruji-ruji +ruku-ruku +rumah-rumah +rumah-rumahan +rumbai-rumbai +rumput-rumputan +runding-merunding +rundu-rundu +runggu-rangga +runner-up +runtang-runtung +rupa-rupa +rupa-rupanya +rusun-rusun +rute-rute +saat-saat +saban-saban +sabu-sabu +sabung-menyabung +sah-sah +sahabat-sahabat +saham-saham +sahut-menyahut +saing-menyaing +saji-sajian +sakit-sakitan +saksi-saksi +saku-saku +salah-salah +sama-sama +samar-samar +sambar-menyambar +sambung-bersambung +sambung-menyambung +sambut-menyambut +samo-samo +sampah-sampah +sampai-sampai +samping-menyamping +sana-sini +sandar-menyandar +sandi-sandi +sangat-sangat +sangkut-menyangkut +sapa-menyapa +sapai-sapai +sapi-sapi +sapu-sapu +saran-saran +sarana-prasarana +sari-sari +sarit-sarit +satu-dua +satu-satu +satu-satunya +satuan-satuan +saudara-saudara +sauk-menyauk +sauk-sauk +sayang-sayang +sayap-sayap +sayup-menyayup +sayup-sayup +sayur-mayur +sayur-sayuran +sci-fi +seagak-agak +seakal-akal +seakan-akan +sealak-alak +seari-arian +sebaik-baiknya +sebelah-menyebelah +sebentar-sebentar +seberang-menyeberang +seberuntung-beruntungnya +sebesar-besarnya +seboleh-bolehnya +sedalam-dalamnya +sedam-sedam +sedang-menyedang +sedang-sedang +sedap-sedapan +sedapat-dapatnya +sedikit-dikitnya +sedikit-sedikit +sedikit-sedikitnya +sedini-dininya +seelok-eloknya +segala-galanya +segan-menyegan +segan-menyegani +segan-segan +sehabis-habisnya +sehari-hari +sehari-harian +sehari-harinya +sejadi-jadinya +sekali-kali +sekali-sekali +sekenyang-kenyangnya +sekira-kira +sekolah-sekolah +sekonyong-konyong +sekosong-kosongnya +sektor-sektor +sekuasa-kuasanya +sekuat-kuatnya +sekurang-kurangnya +sel-sel +sela-menyela +sela-sela +selak-seluk +selama-lamanya +selambat-lambatnya +selang-seli +selang-seling +selar-belar +selat-latnya +selatan-tenggara +selekas-lekasnya +selentang-selenting +selepas-lepas +self-driving +self-esteem +self-healing +self-help +selir-menyelir +seloyong-seloyong +seluk-beluk +seluk-semeluk +sema-sema +semah-semah +semak-semak +semaksimal-maksimalnya +semalam-malaman +semang-semang +semanis-manisnya +semasa-masa +semata-mata +semau-maunya +sembunyi-sembunyi +sembunyi-sembunyian +sembur-sembur +semena-mena +semenda-menyemenda +semengga-mengga +semenggah-menggah +sementang-mentang +semerdeka-merdekanya +semi-final +semi-permanen +sempat-sempatnya +semu-semu +semua-muanya +semujur-mujurnya +semut-semutan +sen-senan +sendiri-sendiri +sengal-sengal +sengar-sengir +sengau-sengauan +senggak-sengguk +senggang-tenggang +senggol-menyenggol +senior-junior +senjata-senjata +senyum-senyum +seolah-olah +sepala-pala +sepandai-pandai +sepetang-petangan +sepoi-sepoi +sepraktis-praktisnya +sepuas-puasnya +serak-serak +serak-serik +serang-menyerang +serang-serangan +serangan-serangan +seraya-menyeraya +serba-serbi +serbah-serbih +serembah-serembih +serigala-serigala +sering-sering +serobot-serobotan +serong-menyerong +serta-menyertai +serta-merta +serta-serta +seru-seruan +service-oriented +sesak-menyesak +sesal-menyesali +sesayup-sayup +sesi-sesi +sesuang-suang +sesudah-sudah +sesudah-sudahnya +sesuka-suka +sesuka-sukanya +set-piece +setempat-setempat +setengah-setengah +setidak-tidaknya +setinggi-tingginya +seupaya-upaya +seupaya-upayanya +sewa-menyewa +sewaktu-waktu +sewenang-wenang +sewot-sewotan +shabu-shabu +short-term +short-throw +sia-sia +siang-siang +siap-siap +siapa-siapa +sibar-sibar +sibur-sibur +sida-sida +side-by-side +sign-in +siku-siku +sikut-sikutan +silah-silah +silang-menyilang +silir-semilir +simbol-simbol +simpan-pinjam +sinar-menyinar +sinar-seminar +sinar-suminar +sindir-menyindir +singa-singa +singgah-menyinggah +single-core +sipil-militer +sir-siran +sirat-sirat +sisa-sisa +sisi-sisi +siswa-siswa +siswa-siswi +siswa/i +siswi-siswi +situ-situ +situs-situs +six-core +six-speed +slintat-slintut +slo-mo +slow-motion +snap-on +sobek-sobekan +sodok-sodokan +sok-sokan +solek-menyolek +solid-state +sorak-sorai +sorak-sorak +sore-sore +sosio-ekonomi +soya-soya +spill-resistant +split-screen +sponsor-sponsor +sponsor-sponsoran +srikandi-srikandi +staf-staf +stand-by +stand-up +start-up +stasiun-stasiun +state-owned +striker-striker +studi-studi +suam-suam +suami-isteri +suami-istri +suami-suami +suang-suang +suara-suara +sudin-sudin +sudu-sudu +sudung-sudung +sugi-sugi +suka-suka +suku-suku +sulang-menyulang +sulat-sulit +sulur-suluran +sum-sum +sumber-sumber +sumpah-sumpah +sumpit-sumpit +sundut-bersundut +sungai-sungai +sungguh-sungguh +sungut-sungut +sunting-menyunting +super-damai +super-rahasia +super-sub +supply-demand +supply-side +suram-suram +surat-menyurat +surat-surat +suruh-suruhan +suruk-surukan +susul-menyusul +suwir-suwir +syarat-syarat +system-on-chip +t-shirt +t-shirts +tabar-tabar +tabir-mabir +tabrak-tubruk +tabuh-tabuhan +tabun-menabun +tahu-menahu +tahu-tahu +tahun-tahun +takah-takahnya +takang-takik +take-off +takut-takut +takut-takutan +tali-bertali +tali-tali +talun-temalun +taman-taman +tampak-tampak +tanak-tanakan +tanam-menanam +tanam-tanaman +tanda-tanda +tangan-menangan +tangan-tangan +tangga-tangga +tanggal-tanggal +tanggul-tanggul +tanggung-menanggung +tanggung-tanggung +tank-tank +tante-tante +tanya-jawab +tapa-tapa +tapak-tapak +tari-menari +tari-tarian +tarik-menarik +tarik-ulur +tata-tertib +tatah-tatah +tau-tau +tawa-tawa +tawak-tawak +tawang-tawang +tawar-menawar +tawar-tawar +tayum-temayum +tebak-tebakan +tebu-tebu +tedong-tedong +tegak-tegak +tegerbang-gerbang +teh-tehan +tek-tek +teka-teki +teknik-teknik +teman-teman +teman-temanku +temas-temas +tembak-menembak +temeh-temeh +tempa-menempa +tempat-tempat +tempo-tempo +temut-temut +tenang-tenang +tengah-tengah +tenggang-menenggang +tengok-menengok +teori-teori +teraba-raba +teralang-alang +terambang-ambang +terambung-ambung +terang-terang +terang-terangan +teranggar-anggar +terangguk-angguk +teranggul-anggul +terangin-angin +terangkup-angkup +teranja-anja +terapung-apung +terayan-rayan +terayap-rayap +terbada-bada +terbahak-bahak +terbang-terbang +terbata-bata +terbatuk-batuk +terbayang-bayang +terbeda-bedakan +terbengkil-bengkil +terbengong-bengong +terbirit-birit +terbuai-buai +terbuang-buang +terbungkuk-bungkuk +terburu-buru +tercangak-cangak +tercengang-cengang +tercilap-cilap +tercongget-congget +tercoreng-moreng +tercungap-cungap +terdangka-dangka +terdengih-dengih +terduga-duga +terekeh-ekeh +terembut-embut +terembut-rembut +terempas-empas +terengah-engah +teresak-esak +tergagap-gagap +tergagau-gagau +tergaguk-gaguk +tergapai-gapai +tergegap-gegap +tergegas-gegas +tergelak-gelak +tergelang-gelang +tergeleng-geleng +tergelung-gelung +tergerai-gerai +tergerenyeng-gerenyeng +tergesa-gesa +tergila-gila +tergolek-golek +tergontai-gontai +tergudik-gudik +tergugu-gugu +terguling-guling +tergulut-gulut +terhambat-hambat +terharak-harak +terharap-harap +terhengit-hengit +terheran-heran +terhinggut-hinggut +terigau-igau +terimpi-impi +terincut-incut +teringa-inga +teringat-ingat +terinjak-injak +terisak-isak +terjembak-jembak +terjerit-jerit +terkadang-kadang +terkagum-kagum +terkaing-kaing +terkakah-kakah +terkakak-kakak +terkampul-kampul +terkanjar-kanjar +terkantuk-kantuk +terkapah-kapah +terkapai-kapai +terkapung-kapung +terkatah-katah +terkatung-katung +terkecap-kecap +terkedek-kedek +terkedip-kedip +terkejar-kejar +terkekau-kekau +terkekeh-kekeh +terkekek-kekek +terkelinjat-kelinjat +terkelip-kelip +terkempul-kempul +terkemut-kemut +terkencar-kencar +terkencing-kencing +terkentut-kentut +terkepak-kepak +terkesot-kesot +terkesut-kesut +terkial-kial +terkijai-kijai +terkikih-kikih +terkikik-kikik +terkincak-kincak +terkindap-kindap +terkinja-kinja +terkirai-kirai +terkitar-kitar +terkocoh-kocoh +terkojol-kojol +terkokol-kokol +terkosel-kosel +terkotak-kotak +terkoteng-koteng +terkuai-kuai +terkumpal-kumpal +terlara-lara +terlayang-layang +terlebih-lebih +terlincah-lincah +terliuk-liuk +terlolong-lolong +terlongong-longong +terlunta-lunta +termangu-mangu +termanja-manja +termata-mata +termengah-mengah +termenung-menung +termimpi-mimpi +termonyong-monyong +ternanti-nanti +terngiang-ngiang +teroleng-oleng +terombang-ambing +terpalit-palit +terpandang-pandang +terpecah-pecah +terpekik-pekik +terpencar-pencar +terpereh-pereh +terpijak-pijak +terpikau-pikau +terpilah-pilah +terpinga-pinga +terpingkal-pingkal +terpingkau-pingkau +terpontang-panting +terpusing-pusing +terputus-putus +tersanga-sanga +tersaruk-saruk +tersedan-sedan +tersedih-sedih +tersedu-sedu +terseduh-seduh +tersendat-sendat +tersendeng-sendeng +tersengal-sengal +tersengguk-sengguk +tersengut-sengut +terseok-seok +tersera-sera +terserak-serak +tersetai-setai +tersia-sia +tersipu-sipu +tersoja-soja +tersungkuk-sungkuk +tersuruk-suruk +tertagak-tagak +tertahan-tahan +tertatih-tatih +tertegun-tegun +tertekan-tekan +terteleng-teleng +tertendang-tendang +tertimpang-timpang +tertitar-titar +terumbang-ambing +terumbang-umbang +terungkap-ungkap +terus-menerus +terus-terusan +tete-a-tete +text-to-speech +think-tank +think-thank +third-party +third-person +three-axis +three-point +tiap-tiap +tiba-tiba +tidak-tidak +tidur-tidur +tidur-tiduran +tie-dye +tie-in +tiga-tiganya +tikam-menikam +tiki-taka +tikus-tikus +tilik-menilik +tim-tim +timah-timah +timang-timangan +timbang-menimbang +time-lapse +timpa-menimpa +timu-timu +timun-timunan +timur-barat +timur-laut +timur-tenggara +tindih-bertindih +tindih-menindih +tinjau-meninjau +tinju-meninju +tip-off +tipu-tipu +tiru-tiruan +titik-titik +titik-titiknya +tiup-tiup +to-do +tokak-takik +toko-toko +tokoh-tokoh +tokok-menokok +tolak-menolak +tolong-menolong +tong-tong +top-level +top-up +totol-totol +touch-screen +trade-in +training-camp +trans-nasional +treble-winner +tri-band +trik-trik +triple-core +truk-truk +tua-tua +tuan-tuan +tuang-tuang +tuban-tuban +tubuh-tubuh +tujuan-tujuan +tuk-tuk +tukang-menukang +tukar-menukar +tulang-belulang +tulang-tulangan +tuli-tuli +tulis-menulis +tumbuh-tumbuhan +tumpang-tindih +tune-up +tunggang-tunggik +tunggang-tungging +tunggang-tunggit +tunggul-tunggul +tunjuk-menunjuk +tupai-tupai +tupai-tupaian +turi-turian +turn-based +turnamen-turnamen +turun-temurun +turut-menurut +turut-turutan +tuyuk-tuyuk +twin-cam +twin-turbocharged +two-state +two-step +two-tone +u-shape +uang-uangan +uar-uar +ubek-ubekan +ubel-ubel +ubrak-abrik +ubun-ubun +ubur-ubur +uci-uci +udang-undang +udap-udapan +ugal-ugalan +uget-uget +uir-uir +ujar-ujar +uji-coba +ujung-ujung +ujung-ujungnya +uka-uka +ukir-mengukir +ukir-ukiran +ula-ula +ulak-ulak +ulam-ulam +ulang-alik +ulang-aling +ulang-ulang +ulap-ulap +ular-ular +ular-ularan +ulek-ulek +ulu-ulu +ulung-ulung +umang-umang +umbang-ambing +umbi-umbian +umbul-umbul +umbut-umbut +uncang-uncit +undak-undakan +undang-undang +undang-undangnya +unduk-unduk +undung-undung +undur-undur +unek-unek +ungah-angih +unggang-anggit +unggat-unggit +unggul-mengungguli +ungkit-ungkit +unit-unit +universitas-universitas +unsur-unsur +untang-anting +unting-unting +untung-untung +untung-untungan +upah-mengupah +upih-upih +upside-down +ura-ura +uran-uran +urat-urat +uring-uringan +urup-urup +urup-urupan +urus-urus +usaha-usaha +user-user +user-useran +utak-atik +utang-piutang +utang-utang +utar-utar +utara-jauh +utara-selatan +uter-uter +utusan-utusan +v-belt +v-neck +value-added +very-very +video-video +visi-misi +visi-misinya +voa-islam +voice-over +volt-ampere +wajah-wajah +wajar-wajar +wake-up +wakil-wakil +walk-in +walk-out +wangi-wangian +wanita-wanita +wanti-wanti +wara-wara +wara-wiri +warna-warna +warna-warni +was-was +water-cooled +web-based +wide-angle +wilayah-wilayah +win-win +wira-wiri +wora-wari +work-life +world-class +yang-yang +yayasan-yayasan +year-on-year +yel-yel +yo-yo +zam-zam +zig-zag +""".split() +) diff --git a/spacy/lang/ms/examples.py b/spacy/lang/ms/examples.py new file mode 100644 index 000000000..17080ff45 --- /dev/null +++ b/spacy/lang/ms/examples.py @@ -0,0 +1,18 @@ +""" +Example sentences to test spaCy and its language models. + +>>> from spacy.lang.ms.examples import sentences +>>> docs = nlp.pipe(sentences) +""" + + +sentences = [ + "Malaysia ialah sebuah negara yang terletak di Asia Tenggara.", + "Berapa banyak pelajar yang akan menghadiri majlis perpisahan sekolah?", + "Pengeluaran makanan berasal dari beberapa lokasi termasuk Cameron Highlands, Johor Bahru, dan Kuching.", + "Syarikat XYZ telah menghasilkan 20,000 unit produk baharu dalam setahun terakhir", + "Kuala Lumpur merupakan ibu negara Malaysia." + "Kau berada di mana semalam?", + "Siapa yang akan memimpin projek itu?", + "Siapa perdana menteri Malaysia sekarang?", +] diff --git a/spacy/lang/ms/lex_attrs.py b/spacy/lang/ms/lex_attrs.py new file mode 100644 index 000000000..d10100b60 --- /dev/null +++ b/spacy/lang/ms/lex_attrs.py @@ -0,0 +1,66 @@ +import unicodedata + +from .punctuation import LIST_CURRENCY +from ...attrs import IS_CURRENCY, LIKE_NUM + + +_num_words = [ + "kosong", + "satu", + "dua", + "tiga", + "empat", + "lima", + "enam", + "tujuh", + "lapan", + "sembilan", + "sepuluh", + "sebelas", + "belas", + "puluh", + "ratus", + "ribu", + "juta", + "billion", + "trillion", + "kuadrilion", + "kuintilion", + "sekstilion", + "septilion", + "oktilion", + "nonilion", + "desilion" +] + + +def like_num(text): + if text.startswith(("+", "-", "±", "~")): + text = text[1:] + 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 + if text.count("-") == 1: + _, num = text.split("-") + if num.isdigit() or num in _num_words: + return True + return False + + +def is_currency(text): + if text in LIST_CURRENCY: + return True + + for char in text: + if unicodedata.category(char) != "Sc": + return False + return True + + +LEX_ATTRS = {IS_CURRENCY: is_currency, LIKE_NUM: like_num} diff --git a/spacy/lang/ms/punctuation.py b/spacy/lang/ms/punctuation.py new file mode 100644 index 000000000..9fff72576 --- /dev/null +++ b/spacy/lang/ms/punctuation.py @@ -0,0 +1,61 @@ +from ..punctuation import TOKENIZER_PREFIXES, TOKENIZER_SUFFIXES, TOKENIZER_INFIXES +from ..char_classes import ALPHA, merge_chars, split_chars, _currency, _units + + +_units = ( + _units + "s bit Gbps Mbps mbps Kbps kbps ƒ ppi px " + "Hz kHz MHz GHz mAh " + "ratus rb ribu ribuan " + "juta jt jutaan mill?iar million bil[l]?iun bilyun billion " +) +_currency = _currency + r" USD RM MYR Rp IDR RMB SGD S\$" +_months = ( + "Januari Februari Mac April Mei Jun Julai Ogos September " + "Oktober November Disember Januari Februari Mac Mei Jun " + "Julai Ogos Oktober Disember Jan Feb Mac Jun Julai Ogos Sept " + "Okt Nov Dis" +) + + +UNITS = merge_chars(_units) +CURRENCY = merge_chars(_currency) +HTML_PREFIX = r"<(b|strong|i|em|p|span|div|br)\s?/>|]+)>" +HTML_SUFFIX = r"" +MONTHS = merge_chars(_months) +LIST_CURRENCY = split_chars(_currency) + +_prefixes = list(TOKENIZER_PREFIXES) +_prefixes.remove("#") # hashtag +_prefixes = _prefixes + LIST_CURRENCY + [HTML_PREFIX] + ["/", "—"] + +_suffixes = ( + TOKENIZER_SUFFIXES + + [r"\-[Nn]ya", "-[KkMm]u", "[—-]"] + + [ + # disabled: variable width currency variable + # r"(?<={c})(?:[0-9]+)".format(c=CURRENCY), + r"(?<=[0-9])(?:{u})".format(u=UNITS), + r"(?<=[0-9])%", + # disabled: variable width HTML_SUFFIX variable + # r"(?<=[0-9{a}]{h})(?:[\.,:-])".format(a=ALPHA, h=HTML_SUFFIX), + r"(?<=[0-9{a}])(?:{h})".format(a=ALPHA, h=HTML_SUFFIX), + ] +) + +_infixes = TOKENIZER_INFIXES + [ + r"(?<=[0-9])[\\/](?=[0-9%-])", + r"(?<=[0-9])%(?=[{a}0-9/])".format(a=ALPHA), + # disabled: variable width units variable + # r"(?<={u})[\/-](?=[0-9])".format(u=UNITS), + # disabled: variable width months variable + # r"(?<={m})[\/-](?=[0-9])".format(m=MONTHS), + r'(?<=[0-9)][.,])"(?=[0-9])', + r'(?<=[{a})][.,\'])["—](?=[{a}])'.format(a=ALPHA), + r"(?<=[{a}])-(?=[0-9])".format(a=ALPHA), + r"(?<=[0-9])-(?=[{a}])".format(a=ALPHA), + r"(?<=[{a}])[\/-](?={c}|[{a}])".format(a=ALPHA, c=CURRENCY), +] + +TOKENIZER_PREFIXES = _prefixes +TOKENIZER_SUFFIXES = _suffixes +TOKENIZER_INFIXES = _infixes diff --git a/spacy/lang/ms/stop_words.py b/spacy/lang/ms/stop_words.py new file mode 100644 index 000000000..b1bfaea79 --- /dev/null +++ b/spacy/lang/ms/stop_words.py @@ -0,0 +1,118 @@ +STOP_WORDS = set( + """ +ada adalah adanya adapun agak agaknya agar akan akankah akhir akhiri akhirnya +aku akulah amat amatlah anda andalah antar antara antaranya apa apaan apabila +apakah apalagi apatah artinya asal asalkan atas atau ataukah ataupun awal +awalnya + +bagai bagaikan bagaimana bagaimanakah bagaimanapun bagi bagian bahkan bahwa +bahwasanya baik bakal bakalan balik banyak bapak baru bawah beberapa begini +beginian beginikah beginilah begitu begitukah begitulah begitupun bekerja +belakang belakangan belum belumlah benar benarkah benarlah berada berakhir +berakhirlah berakhirnya berapa berapakah berapalah berapapun berarti berawal +berbagai berdatangan beri berikan berikut berikutnya berjumlah berkali-kali +berkata berkehendak berkeinginan berkenaan berlainan berlalu berlangsung +berlebihan bermacam bermacam-macam bermaksud bermula bersama bersama-sama +bersiap bersiap-siap bertanya bertanya-tanya berturut berturut-turut bertutur +berujar berupa besar betul betulkah biasa biasanya bila bilakah bisa bisakah +boleh bolehkah bolehlah buat bukan bukankah bukanlah bukannya bulan bung + +cara caranya cukup cukupkah cukuplah cuma + +dahulu dalam dan dapat dari daripada datang dekat demi demikian demikianlah +dengan depan di dia diakhiri diakhirinya dialah diantara diantaranya diberi +diberikan diberikannya dibuat dibuatnya didapat didatangkan digunakan +diibaratkan diibaratkannya diingat diingatkan diinginkan dijawab dijelaskan +dijelaskannya dikarenakan dikatakan dikatakannya dikerjakan diketahui +diketahuinya dikira dilakukan dilalui dilihat dimaksud dimaksudkan +dimaksudkannya dimaksudnya diminta dimintai dimisalkan dimulai dimulailah +dimulainya dimungkinkan dini dipastikan diperbuat diperbuatnya dipergunakan +diperkirakan diperlihatkan diperlukan diperlukannya dipersoalkan dipertanyakan +dipunyai diri dirinya disampaikan disebut disebutkan disebutkannya disini +disinilah ditambahkan ditandaskan ditanya ditanyai ditanyakan ditegaskan +ditujukan ditunjuk ditunjuki ditunjukkan ditunjukkannya ditunjuknya dituturkan +dituturkannya diucapkan diucapkannya diungkapkan dong dua dulu + +empat enggak enggaknya entah entahlah + +guna gunakan + +hal hampir hanya hanyalah hari harus haruslah harusnya hendak hendaklah +hendaknya hingga + +ia ialah ibarat ibaratkan ibaratnya ibu ikut ingat ingat-ingat ingin inginkah +inginkan ini inikah inilah itu itukah itulah + +jadi jadilah jadinya jangan jangankan janganlah jauh jawab jawaban jawabnya +jelas jelaskan jelaslah jelasnya jika jikalau juga jumlah jumlahnya justru + +kala kalau kalaulah kalaupun kalian kami kamilah kamu kamulah kan kapan +kapankah kapanpun karena karenanya kasus kata katakan katakanlah katanya ke +keadaan kebetulan kecil kedua keduanya keinginan kelamaan kelihatan +kelihatannya kelima keluar kembali kemudian kemungkinan kemungkinannya kenapa +kepada kepadanya kesampaian keseluruhan keseluruhannya keterlaluan ketika +khususnya kini kinilah kira kira-kira kiranya kita kitalah kok kurang + +lagi lagian lah lain lainnya lalu lama lamanya lanjut lanjutnya lebih lewat +lima luar + +macam maka makanya makin malah malahan mampu mampukah mana manakala manalagi +masa masalah masalahnya masih masihkah masing masing-masing mau maupun +melainkan melakukan melalui melihat melihatnya memang memastikan memberi +memberikan membuat memerlukan memihak meminta memintakan memisalkan memperbuat +mempergunakan memperkirakan memperlihatkan mempersiapkan mempersoalkan +mempertanyakan mempunyai memulai memungkinkan menaiki menambahkan menandaskan +menanti menanti-nanti menantikan menanya menanyai menanyakan mendapat +mendapatkan mendatang mendatangi mendatangkan menegaskan mengakhiri mengapa +mengatakan mengatakannya mengenai mengerjakan mengetahui menggunakan +menghendaki mengibaratkan mengibaratkannya mengingat mengingatkan menginginkan +mengira mengucapkan mengucapkannya mengungkapkan menjadi menjawab menjelaskan +menuju menunjuk menunjuki menunjukkan menunjuknya menurut menuturkan +menyampaikan menyangkut menyatakan menyebutkan menyeluruh menyiapkan merasa +mereka merekalah merupakan meski meskipun meyakini meyakinkan minta mirip +misal misalkan misalnya mula mulai mulailah mulanya mungkin mungkinkah + +nah naik namun nanti nantinya nyaris nyatanya + +oleh olehnya + +pada padahal padanya pak paling panjang pantas para pasti pastilah penting +pentingnya per percuma perlu perlukah perlunya pernah persoalan pertama +pertama-tama pertanyaan pertanyakan pihak pihaknya pukul pula pun punya + +rasa rasanya rata rupanya + +saat saatnya saja sajalah saling sama sama-sama sambil sampai sampai-sampai +sampaikan sana sangat sangatlah satu saya sayalah se sebab sebabnya sebagai +sebagaimana sebagainya sebagian sebaik sebaik-baiknya sebaiknya sebaliknya +sebanyak sebegini sebegitu sebelum sebelumnya sebenarnya seberapa sebesar +sebetulnya sebisanya sebuah sebut sebutlah sebutnya secara secukupnya sedang +sedangkan sedemikian sedikit sedikitnya seenaknya segala segalanya segera +seharusnya sehingga seingat sejak sejauh sejenak sejumlah sekadar sekadarnya +sekali sekali-kali sekalian sekaligus sekalipun sekarang sekarang sekecil +seketika sekiranya sekitar sekitarnya sekurang-kurangnya sekurangnya sela +selain selaku selalu selama selama-lamanya selamanya selanjutnya seluruh +seluruhnya semacam semakin semampu semampunya semasa semasih semata semata-mata +semaunya sementara semisal semisalnya sempat semua semuanya semula sendiri +sendirian sendirinya seolah seolah-olah seorang sepanjang sepantasnya +sepantasnyalah seperlunya seperti sepertinya sepihak sering seringnya serta +serupa sesaat sesama sesampai sesegera sesekali seseorang sesuatu sesuatunya +sesudah sesudahnya setelah setempat setengah seterusnya setiap setiba setibanya +setidak-tidaknya setidaknya setinggi seusai sewaktu siap siapa siapakah +siapapun sini sinilah soal soalnya suatu sudah sudahkah sudahlah supaya + +tadi tadinya tahu tahun tak tambah tambahnya tampak tampaknya tandas tandasnya +tanpa tanya tanyakan tanyanya tapi tegas tegasnya telah tempat tengah tentang +tentu tentulah tentunya tepat terakhir terasa terbanyak terdahulu terdapat +terdiri terhadap terhadapnya teringat teringat-ingat terjadi terjadilah +terjadinya terkira terlalu terlebih terlihat termasuk ternyata tersampaikan +tersebut tersebutlah tertentu tertuju terus terutama tetap tetapi tiap tiba +tiba-tiba tidak tidakkah tidaklah tiga tinggi toh tunjuk turut tutur tuturnya + +ucap ucapnya ujar ujarnya umum umumnya ungkap ungkapnya untuk usah usai + +waduh wah wahai waktu waktunya walau walaupun wong + +yaitu yakin yakni yang +""".split() +) diff --git a/spacy/lang/ms/syntax_iterators.py b/spacy/lang/ms/syntax_iterators.py new file mode 100644 index 000000000..fa984d411 --- /dev/null +++ b/spacy/lang/ms/syntax_iterators.py @@ -0,0 +1,41 @@ +from typing import Union, Iterator, Tuple + +from ...symbols import NOUN, PROPN, PRON +from ...errors import Errors +from ...tokens import Doc, Span + + +def noun_chunks(doclike: Union[Doc, Span]) -> Iterator[Tuple[int, int, int]]: + """ + Detect base noun phrases from a dependency parse. Works on both Doc and Span. + """ + # fmt: off + labels = ["nsubj", "nsubj:pass", "obj", "iobj", "ROOT", "appos", "nmod", "nmod:poss"] + # fmt: on + doc = doclike.doc # Ensure works on both Doc and Span. + if not doc.has_annotation("DEP"): + raise ValueError(Errors.E029) + np_deps = [doc.vocab.strings[label] for label in labels] + conj = doc.vocab.strings.add("conj") + np_label = doc.vocab.strings.add("NP") + prev_end = -1 + for i, word in enumerate(doclike): + if word.pos not in (NOUN, PROPN, PRON): + continue + # Prevent nested chunks from being produced + if word.left_edge.i <= prev_end: + continue + if word.dep in np_deps: + prev_end = word.right_edge.i + yield word.left_edge.i, word.right_edge.i + 1, np_label + elif word.dep == conj: + head = word.head + while head.dep == conj and head.head.i < head.i: + head = head.head + # If the head is an NP, and we're coordinated to it, we're an NP + if head.dep in np_deps: + prev_end = word.right_edge.i + yield word.left_edge.i, word.right_edge.i + 1, np_label + + +SYNTAX_ITERATORS = {"noun_chunks": noun_chunks} diff --git a/spacy/lang/ms/tokenizer_exceptions.py b/spacy/lang/ms/tokenizer_exceptions.py new file mode 100644 index 000000000..6b6cf3b15 --- /dev/null +++ b/spacy/lang/ms/tokenizer_exceptions.py @@ -0,0 +1,1533 @@ +from ..tokenizer_exceptions import BASE_EXCEPTIONS +from ._tokenizer_exceptions_list import MS_BASE_EXCEPTIONS +from ...symbols import ORTH, NORM +from ...util import update_exc + + +# Daftar singkatan dan Akronim dari: +# https://ms.wiktionary.org/wiki/Wiktionary:Senarai_akronim_dan_singkatan + +_exc = {} + +for orth in MS_BASE_EXCEPTIONS: + _exc[orth] = [{ORTH: orth}] + orth_title = orth.title() + _exc[orth_title] = [{ORTH: orth_title}] + orth_caps = orth.upper() + _exc[orth_caps] = [{ORTH: orth_caps}] + orth_lower = orth.lower() + _exc[orth_lower] = [{ORTH: orth_lower}] + orth_first_upper = orth[0].upper() + orth[1:] + _exc[orth_first_upper] = [{ORTH: orth_first_upper}] + if "-" in orth: + orth_title = "-".join([part.title() for part in orth.split("-")]) + _exc[orth_title] = [{ORTH: orth_title}] + orth_caps = "-".join([part.upper() for part in orth.split("-")]) + _exc[orth_caps] = [{ORTH: orth_caps}] + +for exc_data in [ + {ORTH: "Jan.", NORM: "Januari"}, + {ORTH: "Feb.", NORM: "Februari"}, + {ORTH: "Mac.", NORM: "Mac"}, + {ORTH: "Apr.", NORM: "April"}, + {ORTH: "Jun.", NORM: "Jun"}, + {ORTH: "Jul.", NORM: "Julai"}, + {ORTH: "Ogos.", NORM: "Ogos"}, + {ORTH: "Sep.", NORM: "September"}, + {ORTH: "Okt.", NORM: "Oktober"}, + {ORTH: "Nov.", NORM: "November"}, + {ORTH: "Dis.", NORM: "Disember"}, +]: + _exc[exc_data[ORTH]] = [exc_data] + +_other_exc = { + "do'a": [{ORTH: "do'a", NORM: "doa"}], + "jum'at": [{ORTH: "jum'at", NORM: "Jumat"}], + "Jum'at": [{ORTH: "Jum'at", NORM: "Jumat"}], + "la'nat": [{ORTH: "la'nat", NORM: "laknat"}], + "ma'af": [{ORTH: "ma'af", NORM: "maaf"}], + "mu'jizat": [{ORTH: "mu'jizat", NORM: "mukjizat"}], + "Mu'jizat": [{ORTH: "Mu'jizat", NORM: "mukjizat"}], + "ni'mat": [{ORTH: "ni'mat", NORM: "nikmat"}], + "raka'at": [{ORTH: "raka'at", NORM: "rakaat"}], + "ta'at": [{ORTH: "ta'at", NORM: "taat"}], +} + +_exc.update(_other_exc) + +for orth in [ + "1 Kor.", + "1 Ptr.", + "1 Raj.", + "1 Sam.", + "1 Taw.", + "1 Tes.", + "1 Tim.", + "1 Yoh.", + "1Ch.", + "1Co.", + "1Jo.", + "1Ki.", + "1Pe.", + "1Sa.", + "1Th.", + "1Ti.", + "2 Kor.", + "2 Ptr.", + "2 Raj.", + "2 Sam.", + "2 Taw.", + "2 Tes.", + "2 Tim.", + "2 Yoh.", + "2Ch.", + "2Co.", + "2Jo.", + "2Ki.", + "2Pe.", + "2Sa.", + "2Th.", + "2Ti.", + "3 Yoh.", + "3D", + "3F", + "3Jo.", + "3M", + "8MP", + "AA", + "AAAAAA", + "AB", + "Abd.", + "ABC", + "ABIM", + "ABM", + "ABMI", + "ABS", + "AC", + "Ac", + "ACAPLPL", + "Act.", + "AD", + "AD LIB", + "ADAM", + "ADB", + "ADD", + "ADIL", + "ADN", + "ADR", + "ADRI", + "ADSL", + "ADUN", + "AFAS", + "AFTA", + "Ag", + "AGMARIS", + "AH", + "AI", + "AIA", + "AIDS", + "AIJV", + "AIM", + "a/k", + "ak", + "AKN", + "Al", + "a/l", + "AM", + "Am", + "Am.", + "AMN", + "Amo.", + "AMPS", + "Ams.", + "AMWA", + "AN", + "a.n.", + "ANGKASA", + "ANM", + "ANSI", + "Ant.", + "AOL", + "AP", + "a/p", + "APD", + "APEC", + "API", + "APIK", + "APM", + "APN", + "APP", + "Apr.", + "APRI", + "Ar", + "Ar.", + "ark.", + "A.S.", + "As", + "a.s.", + "ASA", + "ASAS 50", + "ASB", + "ASCII", + "ASEAN", + "ASEAN+3", + "ASEM", + "a.s.f.", + "ASN", + "a.s.o.", + "ASP", + "Ast.", + "A.T.", + "At", + "ATM", + "a.t.r.", + "ATUR", + "Au", + "AURI", + "Aug.", + "AWOL", + "Ayb.", + "B", + "BA", + "Ba", + "BAC", + "BAFIA", + "BAM", + "BANANA", + "BAPP", + "BASF", + "BATA", + "BB", + "BBC", + "BBE", + "BBS", + "BC", + "BCG", + "BCIC", + "b.d.", + "BDSSHAM", + "Be", + "BEER", + "BERNAMA", + "Bh", + "b.h.", + "Bhd.", + "Bi", + "BIDS", + "Bil.", + "bil.", + "BIMP-EAGA", + "Bio.", + "BIOS", + "BITMB", + "BJ", + "Bk", + "b.k.", + "BKAL", + "bkn.", + "BKP", + "BL", + "BLR", + "BM", + "BMI", + "BMW", + "BN", + "BNM", + "BO", + "BOJ", + "BOO", + "BOP", + "BOT", + "BP", + "b.p.", + "BPA", + "BPAs", + "bpd.", + "BPIMB", + "BPM", + "BPO", + "BPPH", + "Br", + "Br.", + "BSA", + "B.Sc.", + "B.Sh.", + "b.s.j.", + "BSN", + "Bt.", + "bt.", + "BWT", + "BYOB", + "C", + "C.", + "C/E", + "Ca", + "CAAM", + "CAD", + "CAM", + "CATV", + "CBS", + "CBT", + "CC", + "CCD", + "CCM", + "CCR", + "cct-km", + "CCTV", + "CCU", + "CD", + "Cd", + "CD-ROM", + "CD-RW", + "CDRC", + "Ce", + "CEO", + "CEPT", + "Cetak", + "Cf", + "CFO", + "CFTC", + "CGC", + "CGI", + "CH", + "CIA", + "CIAST", + "CID", + "CIDB", + "CIQ", + "CKD", + "CL", + "Cl", + "c.l.", + "CLI", + "CLOB", + "CM", + "Cm", + "cm.", + "CMAG", + "CMI", + "CMP", + "CNN", + "Co", + "COD", + "Col.", + "COLA", + "COMDEX", + "CP", + "CPI", + "CPO", + "CPR", + "CPU", + "Cr", + "CRDF", + "Cs", + "CST", + "CT", + "CTIP", + "CTRM", + "Cu", + "CUEPACS", + "D-8", + "d/a", + "DAGS", + "Dan.", + "DANCED", + "DAP", + "DARA", + "Db", + "DBKL", + "DBP", + "DBR", + "DC", + "DDA", + "DDT", + "DEB", + "Dec.", + "Deu.", + "DFIs", + "dgn.", + "DHL", + "DIBML", + "DIN", + "Dis.", + "DJ", + "d.l.l.", + "dlm.", + "dng.", + "DNS", + "DO", + "DOA", + "DOE", + "DOF", + "DOSH", + "doz.", + "DPPS", + "Dr.", + "dr.", + "drp.", + "drpd.", + "Ds", + "d.sb.", + "d.st.", + "DSTN2", + "Dt.", + "DTAs", + "DTMF", + "DTP", + "DTV", + "DUBES", + "DUNHILL", + "DV8", + "DVD", + "DVE", + "DVS", + "dw.t.", + "Dy", + "DYMM", + "E", + "E-Commerce", + "E-Dagang", + "E&E", + "E-Faraid", + "E-Government", + "E-Kerajaan", + "E-Mail", + "E-Services", + "E-Village", + "E-Zine", + "EALAF", + "EBI", + "EBP", + "EC", + "ECAFE", + "Ecc.", + "ECI", + "ECM", + "ECOSOC", + "ECP", + "ECR", + "EDI", + "EE", + "EEC", + "Ef.", + "EG", + "Eko.", + "EKS", + "ELWS", + "ELX", + "EMI", + "EMUs", + "En.", + "EP", + "EPF", + "Eph.", + "EPP", + "EPS", + "EPU", + "ER", + "Er", + "ERL", + "ERT", + "Es", + "ESCAP", + "ESOS", + "ESP", + "EST", + "Est.", + "ET", + "ETA", + "ETACS", + "ETC", + "ETD", + "EU", + "Eu", + "EVIAN", + "Exim Bank", + "Exo.", + "Eze.", + "Ezr.", + "F", + "FAM", + "FAMA", + "FAO", + "FAQ", + "FAX", + "FBI", + "FC", + "FCA", + "FCC", + "FDI", + "FE", + "Fe", + "f.e.", + "Feb.", + "FELCRA", + "FELDA", + "FI", + "FIA 1993", + "FIAT", + "FIC", + "FIDA", + "FIFA", + "FIMA", + "Fiz.", + "Flm.", + "Flp.", + "FM", + "Fm", + "FMUTM", + "FO", + "FOA", + "FOB", + "FOC", + "FOMCA", + "FORD", + "Fr", + "FRIM", + "FRTI", + "FSMP", + "FTA", + "FTE", + "FTP", + "G", + "g.", + "G15", + "G77", + "Ga", + "GAC", + "GACM", + "Gal.", + "GAPENA", + "GATS", + "GATT", + "GB", + "Gbps.", + "Gd", + "GDP", + "Ge", + "GEC", + "Gen.", + "Geo.", + "Geog.", + "Gerakan", + "GH", + "GIF", + "GII", + "GIS", + "GITIC", + "GITN", + "GJ", + "GLCs", + "GM", + "GMBH", + "GMI", + "GMT", + "GNP", + "GNS", + "GOLD", + "GP", + "GPC", + "GPIM", + "GPMS", + "GPO", + "GPP", + "GPS", + "GRO", + "GRS", + "GSMC", + "GST", + "GTZ", + "GUI", + "GWh.", + "H", + "Ha", + "Hab.", + "Hag.", + "Hak.", + "ham", + "hb.", + "HCI", + "HDTV", + "He", + "Heb.", + "Hf", + "Hg", + "HI-FI", + "HIS", + "HIV", + "Hj.", + "HMS", + "Ho", + "Hos.", + "HP", + "HRDC", + "HRDF", + "HRMIS", + "Hs", + "Hut.", + "I", + "I/O", + "IA", + "IAA", + "IADPs", + "IB", + "i.b.", + "IBA", + "IBFIM", + "IBG", + "Ibr.", + "IBRD", + "IBS", + "IC", + "ICA", + "ICBM", + "ICFM", + "ICI", + "ICM", + "ICOR", + "ICP", + "ICT", + "ICU", + "ID", + "Id.", + "IDB", + "IDFR", + "IE", + "i.e.", + "IFSB", + "IGAs", + "IGS", + "IHP", + "IHPG", + "IIM", + "IINA", + "IKKL", + "IKP", + "IKPH", + "IKS", + "Im.", + "IMD", + "IMF", + "IMP2", + "IMR", + "IMS-GT", + "IMT-GT", + "In", + "in.", + "INFRA", + "INSEP", + "INSPEN", + "INTAN", + "IOFC", + "IOU", + "IP", + "IPA", + "IPBA", + "IPCs", + "IPEBP", + "IPI", + "IPKIM", + "IPKPM", + "IPO", + "IPP", + "IPPM", + "IPPPM", + "i.pt.", + "IPTAR", + "IPTNM", + "IQR", + "Ir", + "IRA", + "IRPA", + "IRS", + "i.s.", + "ISA", + "Isa.", + "ISDN", + "ISMM", + "ISO", + "ISP", + "ist.", + "IT", + "i.t.", + "ITA", + "ITAF", + "ITEX", + "ITK", + "ITM", + "ITO", + "ITRCo", + "ITTA", + "ITU", + "JAK", + "JAKIM", + "Jam.", + "Jan.", + "Jb.", + "JBIC", + "JD", + "JDA", + "Jdg.", + "Jer.", + "Jh.", + "JICA", + "JJ", + "Jk.", + "JKKK", + "jkps.", + "JKR", + "JMTI", + "JOA", + "Joe.", + "Joh.", + "Jon.", + "Jos.", + "JP", + "JPA", + "JPEG", + "JPH", + "JPJ", + "JPSHK", + "JPS", + "JPT", + "JRDA", + "JSM", + "JT", + "Jud.", + "Jul.", + "Jun.", + "JVC", + "Jw.", + "K", + "K-Economy", + "KADA", + "KBE", + "KBIA", + "KBPA", + "KBSM", + "KD", + "Kd.", + "KDI", + "KDN", + "KDNK", + "KE", + "KEAP", + "Kej.", + "Kel.", + "KEM", + "KEMLU", + "kep.", + "Kg.", + "kg.", + "KGB", + "KGK", + "KH", + "ki.", + "Kid.", + "KIK", + "KIKMTT", + "KIM", + "Kim.", + "Kis.", + "KIX", + "KKGSK", + "KKK", + "KKPPA", + "KL", + "Kl.", + "KLCI", + "KLIA", + "KLIBOR", + "KLIM", + "KLM", + "KLSE", + "KM", + "KMM", + "KNK", + "KO", + "Kol.", + "Kom.", + "Komp.", + "KOMSAS", + "KPAI", + "KPB", + "KPBA", + "KPC", + "kpd.", + "KPE", + "KPIs", + "KPPL", + "KPPMS", + "KPWM", + "Kr", + "KRM", + "KSTI", + "KT", + "KTA", + "KTABKL", + "KTM", + "KTMB", + "kV", + "kW", + "kWh", + "kWj", + "KWSP", + "LA", + "La", + "LABOR", + "Lam.", + "LAN", + "LAPD", + "LASER", + "LAX", + "lb.", + "LC", + "LCD", + "LCHRF", + "LCLY", + "LED", + "Lev.", + "LFPR", + "LFS", + "LFX", + "LGM", + "Li", + "LID", + "Lin.", + "LKN", + "LKPM", + "LKPP", + "LKTP", + "LKWJ", + "LLB", + "LLC", + "LLN", + "LLS", + "LMSM", + "LNG", + "LOA", + "LOBATA", + "LOFSA", + "LPG", + "LPIP", + "LPKI", + "LPKLPL", + "LPKN", + "LPN", + "LPP", + "LPPK", + "LPPM", + "LPPP", + "LPPTP", + "Lr", + "LRs", + "LRT", + "LS", + "LTAKL", + "LTD", + "LTK", + "Lu", + "LUAS", + "Luk.", + "lw.", + "lwn.", + "M\n", + "m", + "M&A", + "MAB", + "MACRES", + "MAD", + "MADA", + "MAGERAN", + "MAHA", + "MAHSURI", + "Mal.", + "MALINDO", + "MAMPU", + "Mar.", + "MARA", + "MARC", + "MARDI", + "MARLBORO", + "MAS", + "MASSA", + "MASSCORP", + "Mat.", + "MATRADE", + "MAVCAP", + "MB", + "MBA", + "MBBS", + "MBM", + "MBO", + "MBS", + "MBTU", + "MC", + "MCA", + "MCB", + "MCSL", + "MCSv5", + "MD", + "Md", + "MDB", + "MDC", + "MDG", + "MDV", + "MEASAT", + "MEATJ", + "MECIB", + "MEMO", + "MENLU", + "MEPS", + "MES", + "MESDAQ", + "METEOR", + "MFI", + "MFIs", + "MG", + "Mg", + "MGM", + "MGR", + "MGS", + "MHA", + "Mi.", + "MIA", + "MIB", + "MIC", + "Mic.", + "MICE", + "MIDA", + "MIDF", + "MIDI", + "MIG", + "MIGHT", + "MII", + "MIMOS", + "MINDEF", + "MINT", + "mis.", + "MIT", + "MITC", + "MITI", + "Ml.", + "MLNG", + "mlpd.", + "MM", + "mm", + "MMN", + "mmscfd.", + "MMU", + "MMX", + "Mn", + "Mn.", + "MNA", + "MNCs", + "MO", + "Mo", + "MOA", + "MOD", + "MODEM", + "MOE", + "MOH", + "MOSTE", + "MOSTI", + "MOU", + "MP", + "MPB", + "MPEG", + "MPOB", + "MPP", + "mppa.", + "MPPJ", + "MPS", + "MPTM", + "MR", + "m.r.", + "MRB", + "MRELB", + "Mrk.", + "MRRDB", + "MS", + "MS-DOS", + "MSC", + "MSG", + "MSM", + "Mt", + "MTC", + "MTCP", + "MTD", + "MTDC", + "MTPB", + "MTV", + "Muz.", + "MV", + "MW", + "MY", + "MyKe", + "Mzm.", + "N", + "N/A", + "Na", + "NAB", + "NACIWID", + "Nah.", + "NAP", + "NASA", + "NATO", + "NAV", + "NB", + "Nb", + "NBA", + "NBC", + "NCR", + "Nd", + "NDP", + "Ne", + "NEAC", + "NEC", + "NEF", + "Neh.", + "NEP", + "NEqO", + "NERP", + "NF", + "NFPEs", + "NG", + "NGOs", + "NGV", + "NHEF", + "NHHES", + "NHK", + "Ni", + "NIDC", + "NIH", + "NIP", + "NIPA", + "NIS", + "NISIR", + "NITA", + "NITC", + "NITP", + "NIV", + "NLAC", + "NMPBSP", + "NMU", + "No", + "No.", + "no.", + "NOSS", + "Nov.", + "Np", + "NPC", + "NPCS", + "NPL", + "NRCC", + "NRW", + "NS", + "Ns", + "NSB", + "NTA", + "NTHRDC", + "NTMP", + "NTSC", + "Num.", + "NUTF", + "NVP", + "NVTC", + "NWRC", + "O", + "Ob.", + "Oba.", + "OC", + "OCPD", + "Oct.", + "OD", + "ODA", + "OECD", + "OEM", + "Ogo.", + "OHQs", + "OIC", + "Okt.", + "OPEC", + "OPP", + "OPP3", + "OPR", + "OS", + "Os", + "OSA", + "OT", + "OUG", + "oz.", + "P", + "P&P", + "PA", + "Pa", + "PABK", + "PABX", + "PAK", + "PAKSI", + "PAL", + "PALL MALL", + "PAS", + "PATA", + "PAWS", + "Pb", + "PBA", + "PBB", + "PBM", + "PBP", + "PBSM", + "PBT", + "PC", + "PC(s)", + "PCB", + "PCIRITA", + "PCM", + "PCMCIA", + "PCN", + "PD", + "Pd", + "pd.", + "PDS", + "PE", + "PEKEMAS", + "PEMADAM", + "PENA", + "PENIS", + "PERDANA", + "PERKESO", + "PERKIM", + "PERNAS", + "PERTAMA", + "PERTIWI", + "PESAKA", + "PETA", + "PETRONAS", + "PGU", + "Ph.", + "PHD", + "Phi.", + "Phm.", + "PIK", + "PIKOM", + "PIN", + "PINTAS", + "PIPM", + "PISK", + "PITA", + "PIXEL", + "PJ", + "PJK", + "PJKB", + "PJP", + "PKBM", + "PKBTA", + "PKEN", + "Pkh.", + "PKKM", + "PKLPA", + "PKM", + "PKNS", + "PKPIM", + "PKPM", + "PKR", + "PKS", + "Pl.", + "p.l.", + "PLA", + "PLC", + "PLCHP", + "PLCs", + "PLI", + "PLT", + "PLUS", + "PLWS", + "PM", + "Pm", + "PMM", + "PMP", + "PMR", + "PMS", + "Pn.", + "PNAT", + "PNS", + "PO", + "Po", + "POCPA", + "POKEMON", + "Pol.", + "POP", + "PORIM", + "PORLA", + "PORTAFOAM", + "PP", + "PPA", + "PPBE", + "PPBK", + "ppd.", + "PPGM", + "PPI", + "PPK", + "PPL", + "PPM", + "PPP", + "PPPB", + "PPPLM", + "PPPM", + "PPR", + "PPRT", + "PPS", + "PPTM", + "PPU", + "PR", + "Pr", + "Pr.", + "prb.", + "PRI", + "PRO", + "Pro.", + "Prof.", + "PROSPER", + "PROSTAR", + "PROTON", + "PS", + "PSA", + "Psa.", + "PSCs", + "PSDC", + "PSDH", + "Psi.", + "PSKE", + "PSRM", + "PST", + "PT", + "Pt", + "PTD", + "PTP", + "Pu", + "PUNB", + "QA", + "QC", + "QCC", + "R&D", + "RA", + "Ra", + "RAM", + "RAPP", + "Rat.", + "Rb", + "RCA", + "RDA", + "RDAs", + "RDCs", + "RE", + "Re", + "REHDA", + "Rev.", + "Rf", + "Rg", + "RGB", + "Rh", + "RI", + "RIDA", + "RIP", + "RISDA", + "r.l.", + "RM", + "Rm.", + "RMKe-8", + "Rn", + "ROC", + "ROM", + "Rom.", + "RPG", + "RPS", + "RRI", + "RRIM", + "RRJP", + "RRP", + "RSGC", + "RSS", + "RSVP", + "Rt.", + "RTA", + "RTM", + "Ru", + "Rut.", + "RWCR", + "RX", + "S", + "S/N", + "S&T", + "S-VHS", + "SA", + "SAC", + "SADCs", + "SAGA", + "SALCRA", + "SALM", + "SALT", + "SAM", + "SAP", + "SARS", + "Sas.", + "s.a.w.", + "SB", + "Sb", + "Sb.", + "SBA", + "SBB", + "sbg.", + "SBK", + "SC", + "Sc", + "SCA", + "SCADA", + "SCANS", + "SCSI", + "SCuM", + "SDCs", + "Sdn. Bhd.", + "sdr.", + "SDRC", + "Se", + "SEATO", + "SEB", + "SECAM", + "SEDCs", + "SEFF", + "Sej.", + "SEMS", + "Sep.", + "Sept.", + "SESB", + "SESCo", + "s.f.", + "Sg", + "SGPCA", + "SGPPI", + "SGPPKRM", + "SGX", + "Si", + "Si.", + "SIA 1983", + "SIC", + "SIM", + "SING", + "SIRIM", + "SITTDEC", + "sj.", + "SKDTP", + "SKM", + "SKSM", + "SL", + "Sl.", + "sl.", + "SLMCH", + "SLR", + "SM", + "Sm", + "SMART", + "SMEs", + "SMEt", + "SMIs", + "SMIDEC", + "SMIDP", + "SMJK", + "SMR", + "SMS", + "SMT", + "SMTP", + "SN", + "Sn", + "SOB", + "SOCSO", + "SOHO", + "Son.", + "SOS", + "Sos.", + "SP", + "SPA", + "SPAM", + "SPCA", + "SPKR", + "SPLAM", + "SPM", + "SPNB", + "SPSP", + "t.", + "Ta", + "Tadb.", + "TAF", + "TAF-W", + "Tani", + "TAP", + "TAR", + "TARBI", + "TB", + "Tb", + "TBA", + "TBTP", + "Tc", + "TCPD", + "TDCs", + "Te", + "TEKUN", + "TELCO", + "TELEX", + "TEUs", + "TFP", + "TGV", + "TH", + "Th", + "THIS", + "Ti", + "TICAD", + "Tit.", + "TKA", + "Tks.", + "Tl", + "TLDM", + "TM", + "Tm", + "TMB", + "TMK", + "TNB", + "TNSB", + "TNT", + "TOEFL", + "TP", + "TPIM", + "TPK", + "TPPP", + "TPPT", + "TPSM", + "TPUB", + "TQM", + "Tr.", + "TRIPs", + "tsb.", + "tscf.", + "t.sh.", + "t.s.t.", + "TT", + "t.t.", + "TUDM", + "TV", + "TVSMR", + "TWAIN", + "TX", + "TYPHIrapid", + "U", + "Ubat", + "UDA", + "Udg.", + "UFO", + "UH", + "UIA", + "UiTM", + "UK", + "UKM", + "UL", + "Ul.", + "ULC", + "UM", + "UMNO", + "UMS", + "UN", + "UN/OSCAL", + "UNCLE", + "UNCTAD", + "UNDP", + "UNESCO", + "UNFCCC", + "UNFPA", + "UNHCR", + "UNICEF", + "UNIMAS", + "UNTAET", + "UPE", + "UPM", + "UPS", + "UPSR", + "URL", + "US", + "USAINS", + "USD", + "USM", + "USNO", + "USS", + "USSR", + "UTC", + "UTF", + "utk.", + "UTM", + "V", + "VAT", + "VCC", + "VCD", + "VCR", + "VD", + "VDSC", + "VGA", + "VHF", + "VHS", + "VIP", + "VMS", + "VO", + "VOA", + "VoIP", + "VR", + "VSOP", + "VW", + "W", + "W/O", + "WAP", + "WAY", + "WC", + "WDDM", + "WDM", + "WHO", + "Why.", + "WIM", + "WPG", + "WTO", + "WWF", + "WWW", + "WYSIWYG", + "Xe", + "XO", + "XXL", + "Y", + "Y2K", + "YAB", + "Yak.", + "YAM", + "YAS", + "YB", + "Yb", + "Yeh.", + "Yer.", + "Yes.", + "yg.", + "Yl.", + "YM", + "YMCA", + "Yoh.", + "Yos.", + "Y.Th.", + "YTM", + "Yud.", + "Yun.", + "Za.", + "Zec.", + "Zef.", + "Zep.", + "ZIP", + "Zn", + "Zr", +]: + _exc[orth] = [{ORTH: orth}] + +TOKENIZER_EXCEPTIONS = update_exc(BASE_EXCEPTIONS, _exc) diff --git a/spacy/tests/conftest.py b/spacy/tests/conftest.py index 3a5c8e451..e4f26367b 100644 --- a/spacy/tests/conftest.py +++ b/spacy/tests/conftest.py @@ -290,6 +290,10 @@ def mk_tokenizer(): def ml_tokenizer(): return get_lang_class("ml")().tokenizer +@pytest.fixture(scope="session") +def ms_tokenizer(): + return get_lang_class("ms")().tokenizer + @pytest.fixture(scope="session") def nb_tokenizer(): diff --git a/spacy/tests/lang/ms/__init__.py b/spacy/tests/lang/ms/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/spacy/tests/lang/ms/test_noun_chunks.py b/spacy/tests/lang/ms/test_noun_chunks.py new file mode 100644 index 000000000..859307d00 --- /dev/null +++ b/spacy/tests/lang/ms/test_noun_chunks.py @@ -0,0 +1,8 @@ +import pytest + + +def test_noun_chunks_is_parsed_ms(ms_tokenizer): + """Test that noun_chunks raises Value Error for 'ms' language if Doc is not parsed.""" + doc = ms_tokenizer("sebelas") + with pytest.raises(ValueError): + list(doc.noun_chunks) diff --git a/spacy/tests/lang/ms/test_prefix_suffix_infix.py b/spacy/tests/lang/ms/test_prefix_suffix_infix.py new file mode 100644 index 000000000..3d2528254 --- /dev/null +++ b/spacy/tests/lang/ms/test_prefix_suffix_infix.py @@ -0,0 +1,110 @@ +import pytest + +@pytest.mark.parametrize("text", ["(Ma'arif)"]) +def test_ms_tokenizer_splits_no_special(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 3 + + +@pytest.mark.parametrize("text", ["Ma'arif"]) +def test_ms_tokenizer_splits_no_punct(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 1 + + +@pytest.mark.parametrize("text", ["(Ma'arif"]) +def test_ms_tokenizer_splits_prefix_punct(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 2 + + +@pytest.mark.parametrize("text", ["Ma'arif)"]) +def test_ms_tokenizer_splits_suffix_punct(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 2 + + +@pytest.mark.parametrize("text", ["(Ma'arif)"]) +def test_ms_tokenizer_splits_even_wrap(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 3 + + +@pytest.mark.parametrize("text", ["(Ma'arif?)"]) +def test_tokenizer_splits_uneven_wrap(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 4 + + +@pytest.mark.parametrize("text,length", [("S.Kom.", 1), ("SKom.", 2), ("(S.Kom.", 2)]) +def test_ms_tokenizer_splits_prefix_interact(id_tokenizer, text, length): + tokens = id_tokenizer(text) + assert len(tokens) == length + + +@pytest.mark.parametrize("text", ["S.Kom.)"]) +def test_ms_tokenizer_splits_suffix_interact(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 2 + + +@pytest.mark.parametrize("text", ["(S.Kom.)"]) +def test_ms_tokenizer_splits_even_wrap_interact(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 3 + + +@pytest.mark.parametrize("text", ["(S.Kom.?)"]) +def test_ms_tokenizer_splits_uneven_wrap_interact(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 4 + + +@pytest.mark.parametrize( + "text,length", [("kerana", 1), ("Mahathir-Anwar", 3), ("Tun Dr. Ismail-Abdul Rahman", 4)] +) +def test_my_tokenizer_splits_hyphens(ms_tokenizer, text, length): + tokens = ms_tokenizer(text) + assert len(tokens) == length + + +@pytest.mark.parametrize("text", ["0.1-13.5", "0.0-0.1", "103.27-300"]) +def test_ms_tokenizer_splits_numeric_range(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 3 + + +@pytest.mark.parametrize("text", ["ini.Sani", "Halo.Malaysia"]) +def test_ms_tokenizer_splits_period_infix(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 3 + + +@pytest.mark.parametrize("text", ["Halo,Malaysia", "satu,dua"]) +def test_ms_tokenizer_splits_comma_infix(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 3 + assert tokens[0].text == text.split(",")[0] + assert tokens[1].text == "," + assert tokens[2].text == text.split(",")[1] + + +@pytest.mark.parametrize("text", ["halo...Malaysia", "dia...pergi"]) +def test_ms_tokenizer_splits_ellipsis_infix(id_tokenizer, text): + tokens = id_tokenizer(text) + assert len(tokens) == 3 + + +def test_ms_tokenizer_splits_double_hyphen_infix(id_tokenizer): + tokens = id_tokenizer("Arsene Wenger--pengurus Arsenal--mengadakan sidang media.") + assert len(tokens) == 10 + assert tokens[0].text == "Arsene" + assert tokens[1].text == "Wenger" + assert tokens[2].text == "--" + assert tokens[3].text == "pengurus" + assert tokens[4].text == "Arsenal" + assert tokens[5].text == "--" + assert tokens[6].text == "mengadakan" + assert tokens[7].text == "sidang" + assert tokens[8].text == "media" + assert tokens[9].text == "." diff --git a/spacy/tests/lang/ms/test_text.py b/spacy/tests/lang/ms/test_text.py new file mode 100644 index 000000000..d6cd169ce --- /dev/null +++ b/spacy/tests/lang/ms/test_text.py @@ -0,0 +1,8 @@ +import pytest +from spacy.lang.ms.lex_attrs import like_num + + +@pytest.mark.parametrize("word", ["sebelas"]) +def test_ms_lex_attrs_capitals(word): + assert like_num(word) + assert like_num(word.upper())