292x Filetype PDF File size 0.57 MB Source: komputasi.files.wordpress.com
Penambangan Teks di Python:
Preprocessing menggunakan NLTK
Dalam skenario hari ini, salah satu cara suksesnya orang-orang diidentifikasi dengan
bagaimana mereka mengkomunikasikan dan membagikan informasi ke orang lain. Itulah
dimana konsep bahasa berperan di dalam cerita. Namun, ada banyak bahasa di dunia ini.
Masing-masing memiliki banyak standar dan huruf, dan kombinasi dari kata-kata ini diatur
secara bermakna menghasilkan formasi kalimat. Setiap bahasa memiliki aturannya sendiri
saat mengembangkan kalimat-kalimat ini dan sehimpunan aturan ini dikenal sebagai tata
bahasa (grammar).
Di dunia saat ini, menurut perkiraan industri, hanya sekitar 20 persen dari data yang
dihasilkan dalam format terstruktur saat kita berkomunikasi, seperti melalui tweet yang kita
tulis, saat kita mengirim pesan menggunakan WhatsApp, Email, Facebook, Instagram atau
pesan teks apa pun. Dan sebagian besar data ini ada dalam bentuk teks yang merupakan
format yang sangat tidak terstruktur. Untuk menghasilkan wawasan yang bermakna dari data
teks maka kita perlu mengikuti metode yang disebut Analisis Teks.
Apa itu Penambangan Teks?
Penambangan Teks adalah proses memperoleh (menurunkan) informasi yang
bermakna dari teks bahasa alami.
Penambangan Teks adalah proses memperoleh
informasi berkualitas tinggi dari teks.
Tujuan keseluruhannya adalah mengubah teks
menjadi data untuk dianalisis melalui aplikasi
Pengolahan Bahasa Alami (Natural Language
Processing, NLP)
Apa itu NLP?
Natural Language Processing (NLP) adalah bagian dari ilmu komputer dan kecerdasan
buatan yang berhubungan dengan bahasa manusia.
Dengan kata lain, NLP merupakan komponen penambangan teks yang melakukan jenis
khusus dari analisis linguistik yang pada dasarnya membantu mesin "membaca" teks. NLP
menggunakan metodologi yang berbeda untuk menguraikan ambiguitas dalam bahasa
manusia, termasuk di antaranya adalah peringkasan otomatis (summarization), penandaan
bagian-dari-ungkapan (part of speech tagging), disambiguasi, chunking, serta pengenalan dan
pemahaman bahasa alami. Kita akan melihat semua proses tersebut secara bertahap
menggunakan Python.
Pertama, kita perlu menginstal pustaka (library) NLTK yang merupakan toolkit bahasa alami
untuk membangun program Python yang mampu bekerja dengan data bahasa manusia dan
menyediakan antarmuka yang mudah digunakan oleh programmer.
Terminologi dalam NLP
Tokenisasi
Tokenisasi adalah langkah pertama dalam rangkaian proses NLP. Ini adalah proses memecah
string menjadi token yang pada gilirannya merupakan struktur atau unit kecil. Tokenisasi
melibatkan tiga langkah yang memecah kalimat kompleks menjadi kata-kata, memahami
pentingnya setiap kata sehubungan dengan kalimat dan akhirnya menghasilkan deskripsi
struktural pada suatu kalimat input.
Kode:
# Importing necessary library
import pandas as pd
import numpy as np
import nltk
import os
import nltk.corpus
# sample text for performing tokenization
text = “In Brazil they drive on the right-hand side of the road. Brazil has
a large coastline on the eastern side of South America”
# importing word_tokenize from nltk
from nltk.tokenize import word_tokenize
# Passing the string text into word tokenize for breaking the sentences
token = word_tokenize(text)
token
Output
['In','Brazil','they','drive', 'on','the', 'right-hand', 'side', 'of',
'the', 'road', '.', 'Brazil', 'has', 'a', 'large', 'coastline', 'on',
'the', 'eastern', 'side', 'of', 'South', 'America']
Dari output di atas, kita dapat melihat teks dibagi menjadi token-token. Kata, koma, tanda
baca dianggap sebagai token.
Menemukan Frekuensi Kata dalam Teks
Kode 1
# finding the frequency distinct in the tokens
# Importing FreqDist library from nltk and passing token into FreqDist
from nltk.probability import FreqDist
fdist = FreqDist(token)
fdist
Output
FreqDist({'the': 3, 'Brazil': 2, 'on': 2, 'side': 2, 'of': 2, 'In': 1,
'they': 1, 'drive': 1, 'right-hand': 1, 'road': 1, ...})
Token ‘the’ ditemukan 3 kali di dalam teks, sedangkan token ‘Brazil’ ditemukan 2 kali di
dalam teks, dst.
Kode 2
# To find the frequency of top 10 words
fdist1 = fdist.most_common(10)
fdist1
Output
[('the', 3),
('Brazil', 2),
('on', 2),
('side', 2),
('of', 2),
('In', 1),
('they', 1),
('drive', 1),
('right-hand', 1),
('road', 1)]
Stemming
Stemming biasanya merujuk pada proses menormalkan kata-kata menjadi bentuk dasarnya
atau bentuk akarnya.
Di sini, kita mempunyai kata-kata “waited”, “waiting” dan “waits”. Kata akar dari ketiganya
adalah ‘wait’. Ada dua metode terkenal dalam Stemming bernama Porter Stemming
(menghilangkan akhiran morfologis dan infleksional umum dari kata-kata) dan Lancaster
Stemming (algoritma stemming yang lebih agresif).
Kode 1
# Importing Porterstemmer from nltk library
# Checking for the word ‘giving’
from nltk.stem import PorterStemmer
pst = PorterStemmer()
pst.stem(“waiting”)
Output
'wait'
Kode 2
# Checking for the list of words
stm = ["waited", "waiting", "waits"]
for word in stm :
print(word+ ":" +pst.stem(word))
Output
waited:wait
waiting:wait
waits:wait
Kode 3
# Importing LancasterStemmer from nltk
from nltk.stem import LancasterStemmer
lst = LancasterStemmer()
no reviews yet
Please Login to review.