Bagaimana pemprosesan teks?
Apa yang akan terjadi jika perkataan diambil sepenuhnya sebagaimana ia ujud dalam sesuatu dokumen?
Bagaimana pula dengan tanda punctuation, capitalization, dll.?
Bagaimana dengan kesilapan ejaan? Bagaimana dengan bentuk plural vs. singular dalam
perkataan Bahasa Inggeris dan pengulangan kata dalam bahasa Melayu?
Informationneed
Index
Pra-proses
Hurai
Koleksi
pangkat
kueri
text input
Bagaiman kueri dijana? Bagaimana
teks diproses?
Pemprosesan Teks
Pendekatan umum operasi teks
Pemprosesan ke atas dokumen dan kueri adalah berdasarkan kaedah yang sama
Analisis Leksikal bagi Teks
Analisis leksikal ialah proses menukarkan satu input strim
aksara kepada perkataan atau token. (proses penyatuan
huruf-huruf ke dalam bentuk perkataan-perkataan atau token
(sekumpulan huruf-huruf yang memberi sesuatu makna)
Ia merupakan perkara pertama yang dilakukan dalam proses
pengindeksan automatik (automatic indexing) dan
pemprosesan query.
Pengindeksan automatik ialah proses penilaian item dalam
maklumat untuk menghasilkan senarai indeks sebutan.
Analisis leksikal menghasilkan calon indeks sebutan yang
seterusnya akan diproses dan dimasukkan ke dalam indeks.
Pemprosesan query adalah suatu aktiviti yang melibatkan
penganalisaan query dan membandingkannya dengan indeks
untuk mencapai item yang relevan.
Dalam pengindeksan automatik, calon indeks akan
dibandingkan dengan katahenti.
Analisis Leksikal bagi Teks
Analisis Leksikal untuk Pengindeksan Automatik
Keputusan yang pertama perlu dibuat dalam merekabentuk
penganalisa leksikal untuk sistem pengindeksan automatik
ialah: Apakah item yang dipertimbangkan sebagai perkataan
atau token dalam skema pengindeksan?
Perkara yang perlu dipertimbangkan: Digits Tanda selang (hyphens) Tanda bacaan lain (punctuations) Case letters
Analisis Leksikal untuk Pemprosesan Query
Merekabentuk suatu penganalisa leksikal untuk pemprosesan query adalah sama seperti pengindeksan automatik.
Ia bergantung kepada penganalisa leksikal untuk pengindeksan automatik kerana sebutan gelintaran query mesti sepadan dengan sebutan indeks.
Analisis Leksikal untuk Pemprosesan Query
Walaubagaimanapun, penganalisa leksikal query mesti membezakan:
• 1.pengoperasi (operator) seperti pengoperasi Boolean, pengoperasi pangkasan dan cantasan.
• 2.penunjuk pengumpulan (grouping indicators) seperti tanda “ “ dan ( ).
• 3.mengenalpasti kurungan, tanda ‘&’,~ dan ^ (pengoperasi boolean) adakah sebahagian dari analisis leksikal
Senarai perkataan yang ditapis semasa pengindeksan
automatik kerana ia menghasilkan satu senarai indeks yang
kurang berguna dipanggil katahenti (stoplist) atau kamus
negatif.
Contoh senarai Kata henti :
Bahasa Malaysia dan Bahasa Inggeris
Kata Henti (Stop Word)
1.Jika katahenti dijadikan indeks sebutan:
• query yang mengandungi sebutan ini akan menyebabkan hampir semua item dalam pangkalan data akan dicapai walaupun ia tidak relevan.
• katahenti mengambil bahagian yang besar dalam sesebuah teks dokumen.
• penghindaran katahenti diperingkat awal pengindeksan akan mencepatkan proses, menjimatkan ruang storan, dan tidak mencacatkan keberkesanan capaian.
Kata Henti (Stop Word)
Perlaksanaan katahenti
Terdapat dua kaedah pengimplementasian bagi menapis senarai perkataan katahenti
• Lakukan pemeriksaan pada output penganalisa leksikal dan buang perkataan kata henti
• Buangkan kata henti sebagai sebahagian dalam analisis leksikal (cth Finite State Machine)
Kata Henti (Stop Word)
Pembangunan senarai katahenti
Langkah utama dalam pendekatan berasaskan kekerapan diaplikasikan pada pangkalan data teks (popovic 1991)
• Semua perkataan dari teks korpus akan diambil (extracted)• Perkataan ini akan dipangkat berdasarkan kekerapan
keujudannya• Perkataan yang paling kerap merupakan perkataan
penghubung atau dikatakan sebagai perkataan fungsi dan dianggap sebagai perkataan kata henti
• Dari situ senarai kata henti akan dibentuk, Ia digunakan sebagai perkataan yang akan dibunag dalam proses analisis berikutnya.
• Perkataan akan diisih dalam susunan abjad • Perbandingan akan dibuat jika terdapat perkataan yang sama
ujud dakn ianya akan dibuang.
Cantasan (Stemming)
Satu teknik untuk meningkat pencapaian di dalam capaian
maklumat dimana terdapat kepelbagaian morfologi atau
pembentukan kata pada sesuatu perkataan yang ingin dicapai.
Contoh: jika perkataan “cantasan” ialah sebahagian daripada
query, maka pengguna juga berminat dengan variasi lain
seperti “cantas” dan “pencantasan”.
Algorithma cantasan adalah satu prosedur berkomputer yang
akan mengurangkan atau mengcantas semua perkataan
kepada kata akar yang sama .
Cantasan juga dilakukan untuk mengelakkan saiz fail indeks menjadi terlalu besar, kerana satu kata dasar (stem) boleh mewakil beberapa sebutan. Juga dapat meningkatkan keupayaan kepada sistem capaian dokumen.
Perkataan boleh dicantas semasa proses pengindeksan atau semasa proses capaian.
• Kebaikan cantasan semasa proses pengindeksan adalah dapat meningkatkan kecekapan dan kemampatan fail indeks.
• Keburukannya ialah maklumat tentang perkataan yang penuh akan hilang atau ruangan storan tambahan diperlukan untuk menyimpan kedua-duanya iaitu yang telah dicantas atau yang belum dicantas.
Cantasan (Stemming)
Conflation Methods
Manual Automatic (stemmers)
table lookup successor variety n-gram affix removal
longest match vs. simple removal Evaluation
correctness retrieval effectiveness compression performance
Jadual pencarian (Lookup Table)
Menyimpan senarai indeks sebutan dalam satu jadual bersama dengan kata dasar (kata tercantas).
Sebutan Kata dasar (Sebutan tercantas)
engineering engineer
engineered engineer
engineer engineer
Sebutan daripada query boleh diindeks dan boleh dicantaskan melalui lookup table. Pencarian ini akan lebih pantas jika pokok-B (B-tree) atau jadual cincangan digunakan.
Successor Variety
Definasi (successor variety of a string)bilangan huruf yang berbeza bagi satu huruf yang diikuti oleh huruf yang lain di dalam satu perkataan pada kandungan teks yang sama.
contohkandungan teks : able, axle, accident, ape, about
successor variety bagi apple1st: 4 (b, x, c, p)2nd: (e)
Successor Variety
IdeaThe successor variety of substrings of a term will decrease as more characters are added until a segment boundary is reached, i.e., the successor variety will sharply increase.
ExampleTest word: READABLECorpus:ABLE, BEATABLE, FIXABLE, READ,
READABLE, READING, RED, ROPE, RIPE
Prefix Successor Variety LettersR 3 E, O, IRE 2 A, DREA 1 DREAD 3 A, I, SREADA 1 BREADAB 1 LREADABL 1 EREADABLE 1 blank
The successor variety stemming process
Determine the successor variety for a word. Use this information to segment the word.
• cutoff methoda boundary is identified whenever the cutoff value is reached
• peak and plateau methoda character whose successor variety exceeds that of the character immediately preceding it and the character immediately following it
• complete word methoda segment is a complete word
• entropy method Select one of the segments as the stem.
1. Cut off method• Sempadan ditentukan bagi ketetapan nilai cutoff bagi
successor variety
• Penemberangan dibuat bilamana successor variety >= threshold
• Contoh threshold = 2
R | E | AD | ABLE
The successor variety stemming process : Penemberengan (segmentation)
2. peak and plateau method
• Pisahkan perkataan bagi nilai successor variety bilamana nilai pada huruf tertentu lebih besar dari huruf jujukan sebelum dan selepas
READ | ABLE
Contoh Test word: READABLECorpus:ABLE, BEATABLE, FIXABLE, READ,
READABLE, READING, RED, ROPE, RIPE
Prefix Successor Variety LettersR 3 E, O, IRE 2 A, DREA 1 DREAD 3 A, I, SREADA 1 BREADAB 1 LREADABL 1 EREADABLE 1 blank
The successor variety stemming process : Penemberengan (segmentation)
The successor variety stemming process : Penemberengan (segmentation)
3. complete word method
• Pemisahan dibuat jika tembereng (segment) adalah perkataan yang lengkap dalam korpus (READ)
4. entropy methodTest word: READABLECorpus: ABLE, APE, BEATABLE, FIXABLE, READ,
READABLE, READING, READS, RED, ROPE, RIPE
Prefix Successor Variety LettersR 3 E, O, IRE 2 A, DREA 1 DREAD 3 A, I, SREADA 1 BREADAB 1 LREADABL 1 EREADABLE 1 blank
Test word: READABLECorpus: ABLE, APE, BEATABLE, FIXABLE, READ,
READABLE, READING, READS, RED, ROPE, RIPE
i
ijz
aj i
iji
D
D
D
DH
2
''
''
log
The successor variety stemming process : Penemberengan (segmentation)
en
trop
y
meth
od
Di mana merupakan perkataan yang bermula dengan jujukan dan ialah bilangan perkataan yang mempunyai successor j
iD
ijD
Guna nilai cutoff bagi menentukan sempadan
• Bagi i = 2, = RE, = 5
• Bagi j = ‘A’, = 4• Bagi j = ‘D’, = 1
iD
ijD
ijD
5
4log
5
4
5
1log
5
1ijH
22.0
08.014.0
Diagrampasangan huruf yang berjujukan
Shared diagram method (Adamson and Boreham, 1974)• Pengiraan dikira berdasarkan diantara pasangan term
where A: the number of unique diagrams in the first word, B: the number of unique diagrams in the second, C: the number of unique diagrams shared by A
and B
SC
A B
2
Pencantas n-gram (n-gram Stemmer)
Pencantas n-gram (n-gram Stemmer)
Berdasarkan conflating method untuk sebutan yang dipanggil metod perkongsian digram. Digram ialah turutan pasangan abjad. Trigram dan n-gram boleh digunakan.
Contoh:
statistics => st ta at ti is st ti is cs
digram unik = at cs ic is st ta ti
statistical => st ta at ti is st ti ic ca al
digram unik = al at ca ic is st ta ti
Pencantas n-gram (n-gram Stemmer)
Contohstatistics st ta at ti is st ti ic csunique diagrams at cs ic is st ta ti
statistical st ta at ti is st ti ic ca alunique diagrams al at ca ic is st ta ti
SC
A B
2 2 6
7 80 80
*.
Oleh “statistics” mengandungi 9 digram, yang 7 adalah unik; dan “statistical” mengandungi 10 digram, yang mana 8 adalah unik. Kedua-dua perkataan berkongsi 6 unik digram.
Pencantas Kata Imbuhan/Tambahan (Affix Removal Stemmer)
Prosedur Pencantas kata imbuhan, menyingkir kata awalan, kata apitan (BM) dan akhir daripada satu sebutan menghasilkan kata dasar atau kata tercantas.
Contoh: Bentuk jamak (BI)Jika perkataan diakhiri dengan “ies” tetapi bukan “eies” atau “aies”
maka “ies” “y” Jika perkataan diakhiri dengan “es” tetapi bukan “aes”, “ees”, atau “oes”
maka “es” “e” Jika perkataan diakhiri dengan “s”, tetapi bukan “us” atau “ss”
maka “s” NULL
Kesamaran
Pencantas Kata Imbuhan/Tambahan (Affix Removal Stemmer)
Dalam algoritma Porter hanya petua yang pertama yang sepadan digunakan.
Kebanyakkan pencantas yang digunakan mencantas seberapa banyak perkataan yang boleh sehingga tiada abjad yang boleh dicantas lagi berdasarkan petua tertentu.
Walaubagaimanapun terdapat dua kemungkinan
1.Kurang cantasan
2.Terlebih cantasan
Contoh perkataan “computability”, bila dicantas menghasilkan “comput” yang tidak akan sepadan dengan “compute”.
Pencantas Kata Imbuhan/Tambahan (bebas konteks vs sensitif konteks)
• Bebas konteks : membuang semua imbuhan berdasarkan kepada senarai petua imbuhan
• Sensitif konteks : mengambilkira huruf lain yang terliba di dalam sesuatu perkataan. Contoh :
AxC AyC, e.g., ki ky
• Padanan separa (partial matching)Di dalam padanan separa, hanya n huruf permulaan pada perkataan yang telah dicantas digunakan untuk dibuat perbandingan
• Versi berbezaLovins, Slaton, Dawson, Porter, …
Control Flow in Porter’s Algorithm
Word
Matched; conditions not met; fail
Matched; conditions met!
Word = Stem
Mismatched; fail.
Step 2
Step 3
Step 4
Step 5 Stem
Rule1
Rule2
Rule3
Rule4
Step1
porter
Stemming: Porter Algorithm Rule format:
• (condition on stem) suffix1 -> suffix2
• In case of conflict, prefer longest suffix match “Measure” of a word is m in:
• (C) (VC)m (V)
• C = sequence of one or more consonants
• V = sequence of one or more vowels
• Examples:
• tree C(VC)0V
• troubles C(VC)2
Stemming: Porter Algorithm Step 1a: remove plural suffixation
• SSES -> SS (caresses)
• IES -> I (ponies)
• SS -> SS (caress)
• S -> (cats)
Step 1b: remove verbal inflection
• (m>0) EED -> EE (agreed, feed)
• (*v*) ED -> (plastered, bled)
• (*v*) ING -> (motoring, sing)
Stemming: Porter Algorithm Step 1b: (contd. for -ed and -ing rules)
• AT -> ATE (conflated)
• BL -> BLE (troubled)
• IZ -> IZE (sized)
• (*doubled c & ¬(*L v *S v *Z)) -> single c (hopping, hissing, falling, fizzing)
• (m=1 & *cvc) -> E (filing, failing, slowing)
Step 1c: Y and I
• (*v*) Y -> I (happy, sky)
Stemming: Porter Algorithm Step 2: Peel one suffix off for multiple suffixes
• (m>0) ATIONAL -> ATE (relational)
• (m>0) TIONAL -> TION (conditional, rational)
• (m>0) ENCI -> ENCE (valenci)
• (m>0) ANCI -> ANCE (hesitanci)
• (m>0) IZER -> IZE (digitizer)
• (m>0) ABLI -> ABLE (conformabli) - able (step 4)
• …
• (m>0) IZATION -> IZE (vietnamization)
• (m>0) ATION -> ATE (predication)
• …
• (m>0) IVITI -> IVE (sensitiviti)
Stemming: Porter Algorithm Step 3
• (m>0) ICATE -> IC (triplicate)
• (m>0) ATIVE -> (formative)
• (m>0) ALIZE -> AL (formalize)
• (m>0) ICITI -> IC (electriciti)
• (m>0) ICAL -> IC (electrical, chemical)
• (m>0) FUL -> (hopeful)
• (m>0) NESS -> (goodness)
Stemming: Porter Algorithm Step 4: Delete last suffix
• (m>1) AL -> (revival) - revive, see step 5
• (m>1) ANCE -> (allowance, dance)
• (m>1) ENCE -> (inference, fence)
• (m>1) ER -> (airliner, employer)
• (m>1) IC -> (gyroscopic, electric)
• (m>1) ABLE -> (adjustable, mov(e)able)
• (m>1) IBLE -> (defensible,bible)
• (m>1) ANT -> (irritant,ant)
• (m>1) EMENT -> (replacement)
• (m>1) MENT -> (adjustment)
• …
Stemming: Porter Algorithm Step 5a: remove e
• (m>1) E -> (probate, rate)
• (m>1 & ¬*cvc) E -> (cease)
Step 5b: ll reduction
• (m>1 & *LL) -> L (controller, roll)
Stemming: Porter Algorithm Misses (understemming)
• Unaffected:
• agreement (VC)1VCC - step 4 (m>1)
• adhesion
• Irregular morphology:
• drove, geese Overstemming
• relativity - step 2 Mis-stemming
• wander C(VC)1VC
1. Vowels are a, e, i, o, u, and y if preceded by a consonant [C](VC)m[V
Measure Examples
m=0m=1m=2
TR, EE, TREE, Y, BYTROUBLE, OATS, TREES, IVYTROUBLES, PRIVATE, OATEN
2. *<X> - the stem ends with a given letter X
3. *v* - the stem contains a vowel
4. *d - the stem ends in a double consonant
5. *o - the stem ends with a consonant-vowel-consonant sequence, where the final consonant is not w, x, or y.
Porter’s Algorithm
Algorithma yang dibangunkan terbahagi kepada 2 bahagian1.Prosedur Asas Pemangkas
Periksa setiap term pada kamus katakar. Jika tidak ujud proses berikut dijalankan
i. Peraturan imbuhan awalan (awalan +)ii. Peraturan imbuhan awalan dan akhiran ( awalan + akhiran)iii.Peraturan imbuhan akhiran ( + akhiran )iv.Peraturan imbuhan apitan ( + apitan + )
Pangkasan lebih tepat dan katakar betul penggunaan pendekatan sensitive-konteks sebagai penambahan kekangan pada prosedur asas
1. Kekangan kuantitatif : minima panjang setelah dipangkas dikenalpasti Panjang 2 imbuhan awalan dan imbuhan akhiran Panjang 3 apitan dan cantuman imbuhan awalan dan
akhiran
FAtimah’s Algorithm
Peraturan pengekodan semula (2. Algorithma yang dibangunkan)
• Ejaan dan penyesuaian peraturan digunakan bagi meningkat ketepatan pemangkasan.
• Ia tidak dilakukan oleh peraturan morpologi tapi oleh aturcara sendiri.
• Contoh
Huruf mula pada katakar yang akan dihilangkan
Imbuhan awalan yang berkaitan
Contoh
fkpst
mem, pemmeng, pengmem, pemmeny, peny
men, pen
FAtimah’s Algorithm
Algorithma pemangkas Bahasa Melayu (Fatimah , 1995) Langkah 1 : Dapatkan perkataan / term yang berikutnya sehingga
perkataan yang terakhir Langkah 2 : Periksa perkataan berdasarkan kamus, jika ada maka
perkataan itu adalah katakar, pergi langkah 1. Langkah 3: Dapatkan peraturan yang selanjutnya, jika tiada
peraturan yang sesuai maka perkataan tersebut dianggap sebagai katakar, pergi langkah 1
Langkah 4 : Guna peraturan pada perkataan bagi mendapatkan perkataan terpangkas.
Langkah 5 : Periksa perkataan yang dipangkas dengan perkataan di dalam kamus, jika perlu, guna pengkodan semula bagi mendapatkan ejaan yang diterima. Periksa kamus semula.
Langkah 6 : Jika perkataan yang dipangkas ada di dalam kamus, maka perkataan yang dipangkas adalah katakar dan pergi ke langkah pertama, jika tidak pergi ke langkah ketiga.
FAtimah’s Algorithm