Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini menjelaskan pertimbangan stemming untuk bahasa aglutinatif dan pasangan pengganti Unicode, dan untuk menggunakan pasangan pengganti untuk memperluas kumpulan karakter Unicode untuk mengakomodasi set karakter yang berbeda. Topik ini juga menjelaskan bagaimana pemecah kata mengidentifikasi frasa dalam teks dan menangani spasi yang tidak pecah, dan bagaimana pemecah kata dan stemmer menangani angka dan tanggal, kata majemuk, frasa majemuk, kata dan karakter khusus, akronim dan singkatan, dan kapitalisasi.
Topik ini diatur sebagai berikut:
- Identifikasi Frasa
- Bahasa Aglutinatif
- Angka, Waktu, dan Tanggal
- Kata Mabuk
- Frasa Campuran
- Karakter dan Kata Khusus
- Akronim dan Singkatan
- Kapitalisasi
- Spasi Tidak Pecah
- Pasangan Pengganti
Identifikasi frasa
Frasa adalah kata atau sekelompok kata yang dimodifikasi oleh satu atau beberapa kata lainnya. Frasa sulit diidentifikasi secara konsisten karena pengubah yang sama dapat digunakan dalam lebih dari satu frasa dengan kata benda yang sama. Misalnya, "rumah baru," "Gedung Parlemen," "Gedung Parlemen baru."
Windows Search paling sering menggunakan frasa pada waktu kueri. Frasa dalam teks kueri menerima bobot yang lebih tinggi daripada kata individual. Dari contoh sebelumnya, dokumen yang berisi "Gedung Parlemen" diberi peringkat lebih tinggi daripada yang berisi "Rumah" dan "Parlemen" di titik yang berbeda dalam dokumen. Kami menyarankan agar pemecah kata menghasilkan frasa pada waktu kueri jika frasa cenderung cocok dengan setidaknya satu dokumen.
Bahasa aglutinatif
Bahasa aglutinatif membentuk kata-kata melalui kombinasi morphemes yang lebih kecil untuk mengekspresikan ide mampul. Masing-masing morfem ini umumnya memiliki satu arti atau fungsi dan mempertahankan bentuk dan makna aslinya selama proses kombinasi. Untuk bahasa yang memiliki morfologi aglutinatif, seperti Turki, Finlandia, Hungaria, atau Korea, dimungkinkan untuk menghasilkan ribuan bentuk untuk kata akar tertentu.
Tabel berikut ini memperlihatkan daftar formulir yang ditampung untuk kata Finlandia "talo" ("rumah").
| Kata | Terjemahan |
|---|---|
| Talo | Rumah |
| Taloni | Rumahku |
| Talossa | Di rumah |
| Talossani | Di rumah saya |
| Taloja | Rumah |
| Taloissa | Di rumah-rumah |
Bahasa yang tidak difungsikan, seperti bahasa Inggris, Prancis, dan Latin, memiliki sejumlah kecil kemungkinan bentuk kata untuk satu kata akar. Dalam bahasa yang tidak bergerak, morfem mempengaruhi satu sama lain saat mengikat. Sebagian besar perubahan dalam infleksi ada di batang atau akhir kata. Berbeda dengan bahasa aglutinatif, bahasa yang diinflektif cenderung memiliki fungsi yang berbeda untuk satu morpheme. Misalnya, morpheme dapat menentukan angka dan kasus.
Stemmer untuk bahasa aglutinatif harus menimbang trade-off antara performa dan akurasi untuk menghasilkan hanya subset dari jumlah kemungkinan bentuk kata.
Angka, waktu, dan tanggal
Pemecah kata harus menggunakan format umum untuk mewakili angka, waktu, dan tanggal untuk memfasilitasi kueri yang konsisten.
Saat Anda membuat pemecah kata, kami sarankan pemecah kata menormalkan angka ke representasi kanonis dengan menggunakan pola "NNddDcc", di mana NN adalah urutan harfiah "NN", dd adalah bagian bilangan bulat dari angka, D adalah literal "D", dan cc adalah bagian pecahan dari angka. Pemecah kata tidak membatasi jumlah digit untuk bilangan bulat atau bagian pecahan angka. Sebaiknya pemecah kata mengenali pola numerik yang dibatasi oleh titik (.) dan koma (,). Misalnya, Windows Search mewakili "1,000.2" dan "1.000,2" sebagai "NN1000D2."
Pilih satu format untuk pemecah kata dan stemmer. Angka Arab byte tunggal dinormalisasi sewaktu-waktu sehingga kueri yang berisi salah satu formulir ini cocok dengan dokumen dengan formulir lain.
Ketika Anda membuat pemecah kata, kami sarankan pemecah kata hadir sepanjang waktu sebagai representasi 24 jam menggunakan pola "TThhmmss," di mana TT adalah awalan harfiah "TT", hh adalah jam, mm adalah menit, dan ss adalah detik. Windows Search tidak cocok dengan unit waktu tambahan, seperti milidetik. Mengurai pola A.M. dan P.M. bersifat opsional.
Ketika Anda membuat pemecah kata, kami sarankan pemecah kata menghasilkan tanggal dalam format kanonis "DDyyyymmdd", di mana DD adalah "DD" harfiah, yyyy adalah tahun, mm adalah bulan, dan dd adalah hari-hari. Kami juga menyarankan agar pemecah kata menyimpan dua digit tahun dalam format abad dua puluh dua puluh satu. Misalnya, pemecah kata mewakili "2.2.99" sebagai "DD19990202" dan "DD20990202". Pada waktu kueri, Windows Search memperoleh tanggal dengan menggunakan antarmuka pemrograman aplikasi (API) Windows untuk menentukan tanggal crossover server untuk menampilkan format yang benar, 19XX atau 20XX.
Kata mampukan
Dalam beberapa bahasa, seperti Jerman, kata benda diperparah dari kata benda yang lebih sederhana. Kata benda senyawa ini terlalu spesifik dalam arti untuk pengenalan kueri yang wajar. Misalnya, tanpa dekomposisi, kueri untuk "Versicherung" ("asuransi") tidak cocok dengan "Lebensversicherungsgesellschaft" ("salesman asuransi jiwa"). Dalam kasus seperti ini, sebaiknya pemutus kata memecah kata-kata majemuk ini menjadi komponen dasar selama pembuatan indeks dan waktu kueri. Pemecah kata Jerman memecah "Lebensversicherungsgesellschaft" menjadi kata komponen "Leben," "Versicherung," dan "Gesellschaft." Ini menerapkan dekomposisi yang sama pada waktu kueri, bersama dengan stemming opsional untuk setiap istilah yang dihasilkan.
Frasa gabungan
Beberapa bahasa, seperti Korea, berisi frasa kompleks yang dapat dipecah dengan sejumlah cara yang berbeda. Frasa Korea terdiri dari kata-kata konten , seperti kata benda, kata ganti, kata kerja, dan kata sifat, diikuti dengan kata fungsional. Kata fungsi ini ditemukan di pasca-posisi dan akhiran. Pasca-posisi menunjukkan peran fungsional kata benda atau kata ganti dalam kalimat; akhir menunjukkan peran fungsi dari kata kerja atau kata sifat.
Satu frasa dapat memiliki beberapa analisis, dan setiap analisis dapat terdiri dari beberapa kata konten. Pemecah kata harus menggunakan heuristik khusus bahasa untuk menentukan, dari konteks, berapa banyak bobot yang harus diberikan untuk analisis yang berbeda. Pemecah kata dapat menentukan dekomposisi mana yang akan digunakan berdasarkan jumlah kata komponen yang dihasilkan. Beberapa pemecah kata mungkin mendukung urutan pendek istilah yang lebih panjang, sedangkan pemecah kata lain mungkin mendukung urutan panjang kata-kata yang lebih kecil.
Pertimbangan lain adalah bahwa dalam bahasa Korea, kata benda dan kata ganti dapat disimpan dalam indeks tanpa kata fungsional yang sesuai. Bahasa Korea adalah bahasa aglutinatif dan menggabungkan banyak kata berakhiran dengan kata kerja dan kata sifat untuk membentuk bentuk yang tak terhitung jumlahnya. Kata kerja dan kata sifat yang diidentifikasi dalam frasa disimpan dengan akhirannya dalam indeks, tetapi pemecah kata tidak menghasilkan formulir baru.
Karakter dan kata-kata khusus
Karakter khusus adalah karakter seperti "," "©," dan "™". Karakter ini jarang digunakan dalam kueri. Pemecah kata harus menghapus karakter khusus selama pembuatan indeks dan pada waktu kueri.
Kami menyarankan agar pemecah kata mengenali kata-kata khusus, seperti "C++," "C#," ".NET," nilai, dan notasi musik. Pemecah kata dapat menggunakan heuristik bahasa untuk mengidentifikasi pola untuk kata-kata khusus. Pemecah kata juga dapat menggunakan kamus kustom yang berisi kata-kata khusus yang dikenali.
Akronim dan singkatan
Akronim dan singkatan harus dipertimbangkan ketika Anda menerapkan pemecah kata. Dalam banyak bahasa, huruf akronim individu dipisahkan oleh titik. Terkadang, kata-kata yang tidak dikenali akronim atau singkatan disingkat. Misalnya, "Amerika Serikat" dapat disingkat sebagai "AS" atau "A.S.A." Pemecah kata yang disertakan dengan Windows Search biasanya mengidentifikasi kata-kata huruf tunggal sebagai kata-kata kebisingan dan memperlakukan kata-kata tersebut sebagai tempat penampung selama waktu kueri. Selama waktu kueri, pemecah kata yang tidak menyadari akronim umum, atau yang tidak mengenali singkatan, mengonversi singkatan "A.S.A." menjadi "U", "S", dan "A". Dekomposisi ini tidak memberikan informasi yang cukup untuk mencocokkan kata-kata dalam indeks teks lengkap karena semua istilah kueri adalah kata-kata kebisingan. Saat Anda membuat pemecah kata, kami sarankan pemecah kata menghapus titik yang memisahkan huruf akronim. Dalam contoh, "A.S.A." disimpan sebagai "AS" dan istilah kueri yang berisi "A.S.A." sebenarnya kueri untuk "AS." Jika pemecah kata memproses singkatan, periode dalam singkatan tersebut tidak diperlakukan sebagai pemutus EOS. Karena itu, pemecah kata mungkin tidak mengidentifikasi jeda EOS dengan benar jika singkatannya ada di akhir kalimat.
Kapitalisasi
Windows Search saat ini tidak mempertahankan kapitalisasi ketika menyimpan kata-kata ke indeks teks-penuh. Pemecah kata dan stemmer tidak boleh mengubah huruf besar/kecil untuk kata-kata.
Spasi yang tidak pecah
Saat Anda membuat pemecah kata, kami sarankan Anda memastikan bahwa pemecah kata memperlakukan spasi yang tidak pecah sebagai pemisah kata. Disarankan juga agar pemecah kata menghasilkan bentuk kata alternatif, dengan dan tanpa spasi yang tidak pecah. Beberapa karakter, seperti garis bawah, adalah karakter khusus yang diperlakukan sebagai karakter yang tidak pecah karena sumber teks tempat mereka ditemukan. Misalnya, kode sumber atau nama file dapat menyertakan garis bawah sebagai karakter yang tidak pecah.
Pasangan pengganti
Pasangan pengganti adalah representasi karakter dalam kode sumber yang mewakili satu karakter yang terdiri dari urutan dua nilai Unicode. Dalam pasangan berkode, nilai pertama adalah pengganti tinggi dan yang kedua adalah pengganti rendah. Pengganti tinggi adalah karakter dalam rentang U+D800 hingga U+DBFF. Pengganti rendah adalah karakter dalam rentang U+DC00 hingga U+DFFF. Pasangan pengganti memperluas set karakter di luar karakter Unicode. Kami menyarankan agar pemecah kata harus menggunakan aturan berikut saat menangani pasangan pengganti:
- Pengganti tinggi harus mendahului pengganti yang rendah.
- Pengganti rendah harus mengikuti pengganti tinggi.
- Pengganti tinggi atau rendah tanpa nilai yang sesuai untuk setengahnya yang lain tidak memiliki arti.
Pemecah kata harus mempertimbangkan pasangan apa pun dan menghasilkan pasangan seperti dalam indeks. Untuk informasi selengkapnya, lihat Pengganti dan Karakter Tambahan.