Repositori ini menyediakan daftar kata dan n-gram yang paling sering dibersihkan (urutan dari n kata), termasuk beberapa terjemahan bahasa Inggris, dari Google Buku Ngram Corpus (v3/20200217, semua bahasa), ditambah kode Python yang dapat disesuaikan yang mereproduksi daftar ini.
Daftar dengan n-gram paling sering disediakan secara terpisah berdasarkan bahasa dan n. Bahasa yang tersedia adalah Cina (sederhana), Inggris, Fiksi Inggris, Prancis, Jerman, Ibrani, Italia, Rusia, dan Spanyol. n berkisar dari 1 hingga 5. Dalam daftar yang disediakan, subkorpora bahasa dibatasi pada buku yang diterbitkan pada tahun 2010-2019, namun dalam kode Python baik ini maupun jumlah n-gram yang paling sering disertakan dapat disesuaikan.
Daftarnya ditemukan di direktori ngrams. Untuk semua bahasa kecuali bahasa Ibrani, daftar yang dibersihkan disediakan untuk
Untuk bahasa Ibrani, karena ukuran korpus yang kecil, hanya disediakan 200 4 gram paling sering dan 80 5 gram paling sering.
Semua daftar yang dibersihkan juga berisi berapa kali setiap n-gram muncul di korpus (frekuensinya, kolom freq
). Untuk 1 gram (kata) ada dua kolom tambahan:
cumshare
yang untuk setiap kata berisi bagian kumulatif dari semua kata dalam korpus yang terdiri dari kata itu dan semua kata yang lebih sering.en
yang berisi terjemahan bahasa Inggris dari kata yang diperoleh menggunakan Google Cloud Translate API (hanya untuk bahasa non-Inggris).Berikut adalah 10 baris pertama 1grams_french.csv:
ngram | frekuensi | berbagi cum | en |
---|---|---|---|
de | 1380202965 | 0,048 | dari |
la | 823756863 | 0,077 | itu |
et | 651571349 | 0,100 | Dan |
le | 614855518 | 0,121 | itu |
A | 577644624 | 0,142 | pada |
aku | 527188618 | 0,160 | itu |
les | 503689143 | 0,178 | mereka |
en | 390657918 | 0,191 | di dalam |
des | 384774428 | 0,205 | dari |
Daftar yang ditemukan langsung di direktori ngrams telah dibersihkan dan dimaksudkan untuk digunakan saat mengembangkan materi pembelajaran bahasa. Sub-direktori ngrams/more berisi versi yang tidak bersih dan kurang dibersihkan yang mungkin berguna misalnya untuk ahli bahasa:
0_raw
),1a_no_pos
),1b_with_pos
),2_removed
). Untuk memberikan motivasi mengapa mempelajari kata-kata yang paling sering digunakan terlebih dahulu mungkin merupakan ide bagus saat mempelajari suatu bahasa, grafik berikut disediakan.
Untuk setiap bahasa, ia memplot peringkat frekuensi setiap 1 gram (yaitu kata) pada sumbu x dan cumshare
pada sumbu y. Jadi, misalnya, setelah mempelajari 1000 kata bahasa Prancis yang paling sering digunakan, seseorang dapat memahami lebih dari 70% kata, dihitung dengan duplikat, yang muncul dalam buku biasa yang diterbitkan antara tahun 2010 dan 2019 di Google Buku Ngram Corpus bahasa Prancis versi 20200217.
Untuk n-gram selain 1 gram, hasil belajar yang paling sering tidak terlalu tinggi, karena ada begitu banyak kemungkinan kombinasi kata. Namun, orang cenderung belajar lebih baik ketika mempelajari sesuatu dalam konteksnya, jadi salah satu kegunaannya adalah dengan menemukan contoh frasa umum untuk setiap 1 gram. Pendekatan lainnya adalah sebagai berikut: Katakanlah seseorang ingin mempelajari 1000 kata paling umum dalam suatu bahasa. Kemudian seseorang dapat, misalnya, membuat daftar minimal 4 gram paling umum yang mencakup 1000 kata ini dan mempelajarinya.
Meskipun daftar n-gram telah dibersihkan dengan mempertimbangkan pembelajaran bahasa dan berisi beberapa terjemahan bahasa Inggris, daftar tersebut tidak dimaksudkan untuk digunakan secara langsung untuk pembelajaran, melainkan sebagai sumber perantara untuk mengembangkan materi pembelajaran bahasa. Terjemahan yang disediakan hanya memberikan kata bahasa Inggris yang paling dekat dengan arti paling umum dari kata tersebut. Selain itu, bergantung pada tujuan pembelajaran bahasa seseorang, Google Buku Ngram Corpus mungkin bukan korpus terbaik untuk dijadikan dasar materi pembelajaran – lihat bagian berikutnya.
Repositori ini didasarkan pada Google Buku Ngram Corpus Versi 3 (dengan pengidentifikasi versi 20200217), disediakan oleh Google sebagai daftar n-gram di sini. Ini juga merupakan data yang mendasari Google Books Ngram Viewer. Korpus adalah bagian, yang dipilih oleh Google berdasarkan kualitas pengenalan karakter optik dan metadata, dari buku-buku yang didigitalkan oleh Google dan berisi sekitar 6% dari seluruh buku yang pernah diterbitkan (1, 2, 3).
Ketika menilai kualitas suatu korpus, baik ukuran maupun keterwakilannya terhadap jenis bahan yang diminati adalah hal yang penting.
Google Buku Ngram Corpus Versi 3 sangat besar, seperti yang diilustrasikan oleh tabel jumlah kata di dalamnya menurut bahasa dan subkorpus:
Bahasa | # kata, sepanjang tahun | # kata, 2010-2019 |
---|---|---|
Cina | 10.778.094.737 | 257.989.144 |
Bahasa inggris | 1.997.515.570.677 | 283.795.232.871 |
Bahasa Inggris Amerika | 1.167.153.993.435 | 103.514.367.264 |
Inggris Britania | 336.950.312.247 | 45.271.592.771 |
Fiksi Inggris | 158.981.617.587 | 73.746.188.539 |
Perancis | 328.796.168.553 | 35.216.041.238 |
Jerman | 286.463.423.242 | 57.039.530.618 |
Ibrani | 7.263.771.123 | 76.953.586 |
Italia | 120.410.089.963 | 15.473.063.630 |
Rusia | 89.415.200.246 | 19.648.780.340 |
Spanyol | 158.874.356.254 | 17.573.531.785 |
Perhatikan bahwa angka-angka ini adalah untuk jumlah total kata, bukan jumlah kata unik. Mereka juga menyertakan banyak kata yang bukan merupakan kata yang valid, namun karena ukuran korpus, langkah pembersihan dilakukan hanya pada kata yang paling umum, sehingga jumlah kata yang tersisa di keseluruhan korpus setelah pembersihan tidak tersedia. Selain itu, Google hanya mengunggah kata-kata yang muncul lebih dari 40 kali, sementara jumlah tersebut juga mencakup kata-kata yang muncul lebih jarang dari itu.
Kami melihat bahwa bahkan setelah membatasi subkorpora bahasa pada buku-buku yang diterbitkan dalam 10 tahun terakhir, jumlah kata masih lebih dari 15 miliar untuk setiap subkorpus, kecuali bahasa Mandarin dan Ibrani. Jumlah ini jauh lebih besar dibandingkan korpora lain yang umum digunakan, yang sepertinya tidak pernah berisi lebih dari beberapa miliar kata dan seringkali jauh lebih kecil dari itu (4).
Kalau menyangkut keterwakilan, itu tergantung pada tujuan penggunaannya. Google Buku Ngram Corpus hanya berisi buku (tidak ada terbitan berkala, bahasa lisan, situs web, dll.). Setiap edisi buku disertakan paling banyak satu kali. Sebagian besar buku-buku ini berasal dari sejumlah kecil perpustakaan universitas besar, "lebih dari 40" dalam korpus Versi 1, sementara sebagian kecil diperoleh langsung dari penerbit (1). Jadi, misalnya, jika seseorang ingin menggunakan korpus ini untuk mempelajari suatu bahasa yang biasanya digunakan untuk membaca buku-buku yang diminati oleh perpustakaan universitas besar, maka kata-kata dalam korpus ini kemungkinan besar cukup mewakili populasi kata-kata tersebut. mungkin akan ditemui seseorang di masa depan.
Kode yang menghasilkan semuanya ada di direktori python. Setiap file .py adalah skrip yang dapat dijalankan dari baris perintah menggunakan python python/filename
, di mana direktori kerja harus berupa direktori yang berisi direktori python. Setiap file .py memiliki bagian pengaturan di bagian atas dan pengaturan pembersihan tambahan dapat ditentukan menggunakan file di python/extra_settings. Pengaturan default telah dipilih untuk membuat kode berjalan cukup cepat dan menjaga ukuran repositori yang dihasilkan tetap kecil.
Secara opsional, mulailah dengan menjalankan create_source_data_lists.py dari direktori akar repositori untuk membuat ulang folder data sumber dengan daftar tautan ke file data sumber Google.
Jalankan download_and_extract_most_freq.py dari direktori root repositori untuk mengunduh setiap file yang tercantum dalam data sumber ("file .gz") dan ekstrak n-gram yang paling sering di dalamnya ke dalam daftar yang disimpan di ngrams/more/{lang}/most_freq_ngrams_per_gz_file
. Untuk menghemat sumber daya komputer, setiap file .gz segera dihapus setelah ini. Karena daftar n-gram yang paling sering digunakan per file .gz masih memakan ruang sekitar 36 GB dengan pengaturan default, hanya satu daftar contoh yang diunggah ke GitHub: ngrams_1-00006-of-00024.gz.csv. Tidak ada pembersihan yang dilakukan pada tahap ini, jadi seperti inilah tampilan data mentahnya.
Jalankan assemble_and_clean.py untuk mengumpulkan semua n-gram ke dalam daftar keseluruhan yang paling sering dan bersihkan daftar ini (lihat bagian selanjutnya untuk detailnya).
Jalankan google_cloud_translate.py untuk menambahkan terjemahan bahasa Inggris ke semua 1 gram non-Inggris menggunakan Google Cloud Translate API (ini memerlukan kunci API, lihat header file). Secara default hanya 1 gram yang diterjemahkan dan hanya ke bahasa Inggris, namun dengan mengubah pengaturan, n-gram apa pun dapat diterjemahkan ke bahasa apa pun yang didukung oleh Google. Google mengapitalisasi terjemahan secara acak sehingga dilakukan upaya untuk memperbaikinya. Selain itu, sejumlah koreksi manual diterapkan menggunakan manual_translations_1grams.csv.
Terakhir, graph_1grams_cumshare_rank.py menghasilkan graph_1grams_cumshare_rank_light.svg dan versi gelapnya.
Semua langkah pembersihan dilakukan di Gather_and_clean.py, kecuali pembersihan terjemahan Google.
Langkah-langkah pembersihan berikut dilakukan secara terprogram:
"'"
"'"
, " "
, dan ","
akan dihapus"-"
untuk bahasa Rusia dan """
untuk bahasa IbraniSelain itu, langkah-langkah pembersihan berikut telah dilakukan secara manual, menggunakan terjemahan bahasa Inggris untuk membantu menginformasikan pengambilan keputusan:
extra_{n}grams_to_exclude.csv
.Saat secara manual memutuskan kata mana yang akan disertakan dan dikecualikan, aturan berikut diterapkan. Kecuali : nama orang (beberapa pengecualian: Yesus, Tuhan), nama kota (beberapa pengecualian: jika sangat berbeda dari bahasa Inggris dan cukup umum), nama perusahaan, singkatan (beberapa pengecualian, misalnya ma, pa), bagian kata, kata-kata dalam bahasa yang salah (kecuali jika digunakan secara umum). Tidak mengecualikan : nama negara, nama kelompok etnis/bangsa, nama geografis (misalnya sungai, lautan), istilah sehari-hari, kata seru.
Untuk daftar semua kata dalam bagian bahasa Inggris dari Google Buku Ngram Corpus (versi 20200217) yang dibuat dengan cermat, diurutkan berdasarkan frekuensi, lihat repositori hackerb9/gwordlist.
Daftar lengkap daftar frekuensi dalam banyak bahasa tersedia di Wiktionary.
Apa yang masih harus dilakukan adalah menyelesaikan pembersihan manual akhir untuk bahasa Ibrani dan pembersihan daftar n-gram untuk n > 1. Masalah yang mungkin diatasi di masa depan adalah bahwa beberapa di antaranya mengandung "," sebagai sebuah kata . Mungkin juga diinginkan untuk memasukkan singkatan-singkatan yang lebih umum. Tidak ada daftar n-gram terpisah yang disediakan untuk korpora Inggris Amerika dan Inggris British. Tentu saja masih ada beberapa kesalahan.
Konten repositori ini dilisensikan di bawah Creative Commons Attribution 3.0 Unported License. Laporan masalah dan permintaan penarikan dipersilakan!