Ini Diucapkan GIF

Ini Diucapkan GIF

Node Sumber: 3043181

Saat musim liburan tiba dan seorang juru tulis Hackaday duduk terlindung dari badai Atlantik yang datang dengan menggunakan eyrie yang nyaman, inilah saatnya baginya untuk mempertimbangkan dasar-dasar keahliannya. Menulis, mengeja, dan bahasa Inggris; hal-hal seperti mengapa orang Amerika memiliki ejaan bahasa Inggris yang berbeda dengan orang Inggris, tapi mungkin yang paling penting bagi pembaca Hackaday; apakah itu “gif”, atau “jif”? Kalimat ini atau kalimat lelucon tentang ejaan mungkin dianggap sebagai clickbait yang jelas, namun justru menjadi pegangan untuk mempelajari bahasa. Bagaimana kita menentukan konvensi bahasa kita, dan haruskah kita terlalu mempedulikannya?

Jangan Percaya Semua yang Anda Baca di Sekolah

Gambar ruang kelas Amerika pada tahun 1004
Tidak semua yang Anda pelajari di sini layak untuk dipertahankan. Harrison Keely, CC BY 4.0.

Kami dikirim ke sekolah untuk Mempelajari Sesuatu. Selama masa tersebut, kebebasan kita dirampas karena serangkaian upaya orang dewasa dari tahun ke tahun untuk menjejali kepala kita dengan fakta. Ada yang menurut kami menarik dan ada yang kurang menarik, namun sebagian besarnya, kami tidak dianjurkan untuk berpikir sendiri dan malah diharapkan untuk menghafal serangkaian kurikulum yang sudah ditetapkan.

Oleh karena itu, meskipun para penulis harus menyadari sendiri bahwa bahasa Inggris adalah bahasa yang terus berkembang sehingga mereka dapat melepaskan diri dari batasan-batasan artifisial yang dipaksakan oleh sekolah, namun masih banyak orang yang masih takut untuk menempatkan diri mereka di atas batasan linguistik.

Hasilnya adalah bahwa penyimpangan yang dirasakan dari aturan-aturan tersebut ditanggapi oleh mereka yang takut untuk menggunakan bahasa tersebut, dan kita bahkan harus menghadapi Perang Suci linguistik kita sendiri. Yang disebutkan di atas tentang “gif” versus “jif” adalah contoh yang bagus, apakah penting apakah Anda mengucapkannya dengan huruf “G” yang keras karena begitulah cara kebanyakan orang mengatakannya, atau seolah-olah itu adalah “J” karena pembuat format file mengatakannya seperti itu? Tidak juga, karena bahasa Inggris adalah bahasa yang berkembang di tangan mereka yang berbicara, bukan di tangan orang yang menulis buku sekolah.

Sayangnya ini bukan saat yang tepat untuk bergembira, karena meskipun beberapa peraturan tersebut dapat mengikuti perkembangan zaman, peraturan tersebut tidak gratis untuk semua orang. Bahasa harus dapat dimengerti satu sama lain, kita tidak bisa hanya mengarang-ngarangnya begitu saja. Para profesional mengambil apa yang mereka sebut pendekatan deskriptif, di mana mereka memberi tahu Anda bagaimana Anda menggunakan bahasa tersebut, berbeda dengan melarang bagaimana Anda menggunakan bahasa tersebut. harus menggunakannya. Mereka melakukan ini melalui analisis statistik terhadap corpora besar, kumpulan teks, untuk melihat bentuk mana yang paling mendapat daya tarik. Dan di sinilah hal ini menjadi menarik, karena analisis bahasa skala besar dapat memberi tahu Anda hal-hal yang tidak Anda ketahui tentang subjek yang Anda pikir Anda tahu banyak tentangnya.

Betapa Saya Bukan Penemu Linguistik Komputasi

Raspberry Pi model b diletakkan di atas penutup hard drive USB
Raspberry Pi dan hard disk berdebu ini berada di belakang TV saya selama sekitar satu dekade memproses teks dari RSS feed

Saya mendapatkan pengenalan tentang analisis bahasa sekitar lima belas tahun yang lalu, ketika saya berupaya meningkatkan visibilitas mesin pencari pada situs web yang sangat besar. Saat itu, ini bukan dunia manipulasi mesin pencari yang cerdik, melainkan saya ada di sana untuk meningkatkan konten situs dan singkatnya, membuatnya jauh lebih menarik baik bagi manusia maupun mesin pencari. Dalam upaya ini sedikit analisis teks sangat berguna, dan sebelum saya menyadarinya, beberapa skrip PHP sederhana untuk mengatur teks telah menjadi rangkaian yang lengkap.

Tanpa saya sadari, saya telah menciptakan seluruh subjek linguistik komputasi untuk diri saya sendiri, dan meskipun sekarang saya tahu bahwa pekerjaan itu sangat tidak efisien, hal itu memberikan manfaat dan membantu memberi tahu saya dan pemilik situs di mana mereka berada. salah.

Memiliki selera terhadap analisis bahasa, ini menjadi salah satu proyek yang terus saya ikuti selama bertahun-tahun karena saya kembali lagi ke sana dari waktu ke waktu karena minat saya bertambah dan berkurang, dan rangkaian asli saya telah berkembang menjadi sesuatu yang jauh lebih menarik. lebih berguna. Dan itulah gunanya menulisnya di sini, karena tidak ada yang terlalu sulit mengenai hal itu. Jika saya bisa melakukannya, Anda juga bisa melakukannya, jadi ada baiknya Anda mencoba menjelaskannya.

Untuk membangun korpus teks untuk analisis, pertama-tama kita perlu memulai dengan beberapa teks. Saya sangat tertarik pada data deret waktu dan juga bahasa, jadi saya mengambil RSS feed sebanyak yang saya bisa temukan sebagai sumber. Hal ini memberi saya persediaan teks baru yang tiada habisnya untuk ditambahkan ke analisis saya, dan pekerja keras saya adalah Raspberry Pi dengan hard drive USB besar yang secara diam-diam menghabiskan sebagian waktunya untuk mengambil cerita dan mengolahnya.

Jadi ketika dihadapkan pada potongan teks yang baru diambil, apa langkah pertama saya? Sebelum melakukan hal lain, untuk menghapus HTML dan situs web yang tidak relevan, sesuatu yang dulunya merupakan gangguan besar terhadap aturan sampai saya menemukan Lynx memiliki opsi baris perintah -dump yang melakukan semua pekerjaan berat. Kemudian saatnya membaginya dengan pembatas kalimat seperti titik dan tanda tanya, dan membagi kalimat demi kata menjadi sebuah array. Saya kemudian dapat menelusurinya kata demi kata, dan memproses apa yang saya temukan ke dalam penyimpanan data saya.

Bagaimana Anda Dengan Cepat Mengambil Satu Kata dalam Satu Miliar?

Jika Anda memiliki beberapa ribu titik data, ada banyak pilihan terkait penyimpanan data. Database SQL misalnya adalah ide bagus. Namun korpus tumbuh menjadi ukuran yang sangat besar, dan dengan cepat meninggalkan pendekatan penyimpanan normal. Mungkin ada beberapa perangkat lunak luar biasa yang mampu menangani miliaran contoh kata, tetapi saya tidak pernah menemukannya, jadi saya memilih sesuatu yang ada di dalam sistem file saya. Saya akan menggunakan jalur sistem file sebagai kueri, membuat pohon direktori kata-kata yang dapat saya tanyakan hanya dengan mengetikkan sebuah jalur.

Grafik insiden "pengeluaran" versus "pemotongan" dalam berita Inggris pada awal tahun 2014
Banyak file JSON kecil membuat grafik dengan sangat cepat

Jadi ketika saya menelusuri kata-kata dalam sebuah kalimat, saya tertarik pada frekuensinya, dan kolokasinya, yaitu kata-kata yang muncul di sampingnya. Jadi untuk setiap kata saya akan membuat direktori dengan file JSON di dalamnya untuk mencatat kemunculannya, dan di dalam direktori itu saya akan membuat subdirektori untuk kata berikut dengan file JSON yang sesuai. Jadi misalnya saya dapat menemukan popularitas kata “Neil” dengan membuka JSON di direktori /neil/, dan menemukan prevalensi frasa “Neil Armstrong” di /neil/armstrong/. Saya juga dapat membandingkan kemunculan relatif Neils Armstrong dan Young, dengan melihat /neil/armstrong/ dan /neil/young/. Hal yang menyenangkan tentang pendekatan sistem file ini adalah skrip pemrosesan sisi server, masih dalam PHP, sangat sederhana, dan klien saya dapat berupa Javascript di browser yang akan mengambil semua JSON tersebut secara real time dari sistem file.

Keuntungan memiliki miliaran kata dalam analisis bahasa Inggris hanya dengan satu klik mouse adalah saya dapat dengan mudah memeriksa versi frasa mana yang lebih tepat, seberapa populer sebenarnya frasa singkat tersebut, dan bahkan popularitas relatif dari tokoh masyarakat seperti politisi. Ini seperti memiliki pemverifikasi kebenaran linguistik sendiri tanpa harus bergantung pada apa yang orang lain katakan kepada saya, yang dalam pekerjaan saya bisa sangat berguna. Tentu saja hal ini memiliki kekurangan, misalnya melakukan pekerjaan apa pun dengan jutaan subdirektori dan file JSON kecil menjadi sangat membosankan. Membuat tarball dengan struktur data berukuran sedang membutuhkan waktu beberapa hari, artinya memindahkannya ke disk baru memerlukan beberapa perencanaan.

Ini mungkin bukan cara biasa untuk mendeskripsikan proyek pribadi di Hackaday, tapi ini adalah proyek yang mencakup waktu pengembangan dan evolusi teknologi yang tidak kalah dengan pekerjaan perangkat keras saya. Jika Anda ingin mengikuti jejak saya maka saya khawatir saya malu untuk melepaskan PHP dan Javascript lama saya yang berantakan, tetapi mengingat fungsinya dijelaskan dengan cukup baik di atas, saya rasa sebagian besar dari Anda dapat menulisnya. dirimu sendiri jika kamu mengalihkan pikiranmu ke sana. Bahkan jika Anda tidak mengetahuinya, saya harap ini memberi Anda wawasan tentang cara kerja penganalisis korpus dan dapat memberi tahu Anda hal-hal yang tidak Anda ketahui, dan Anda akan mengikuti saran saya untuk tidak mendengarkan semua yang dikatakan guru sekolah Anda.

Stempel Waktu:

Lebih dari Hack Sehari