indoNLP.preprocessing
indoNLP.preprocessing
adalah modul yang bertujuan untuk memudahkan proses preprocessing data
teks dengan menggunakan beberapa fungsi yang siap digunakan.
remove_html(text)
Menghapus tag - tag html yang terdapat dalam sebuah teks.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text |
str
|
Teks yang memiliki html tag di dalamnya. |
required |
Returns:
Type | Description |
---|---|
str
|
Teks yang telah dibersihkan (tanpa tag - tag HTML di dalamnya). |
Examples:
Menghapus semua tag HTML yang terdapat di dalam teks.
>>> indoNLP.preprocessing.remove_html("website <a href='https://google.com'>google</a>")
"website google"
remove_url(text)
Menghapus URL yang terdapat dalam sebuah teks.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text |
str
|
Teks yang terdapat URL di dalamnya. |
required |
Returns:
Type | Description |
---|---|
str
|
Teks yang telah dibersihkan (tanpa URL di dalamnya). |
Examples:
Menghapus semua URL yang ada di dalam teks.
>>> indoNLP.preprocessing.remove_url("retrieved from https://gist.github.com/gruber/8891611")
"retrieved from"
remove_stopwords(text)
Menghapus stopwords yang terdapat dalam sebuah teks.
Definisi
Stopwords adalah kata umum (common words) yang biasanya muncul dalam jumlah besar dan dianggap tidak memiliki makna.
Sumber
List stopwords Bahasa Indonesia yang digunakan diperoleh dari stopwords.net
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text |
str
|
Teks yang terdapat stopwords di dalamnya. |
required |
Returns:
Type | Description |
---|---|
str
|
Teks yang telah dibersihkan (tanpa stopwords di dalamnya). |
Examples:
Menghapus semua stopwords yang terdapat di dalam sebuah teks.
>>> indoNLP.preprocessing.remove_stopwords("siapa yang suruh makan?!!")
"suruh makan?!!"
replace_slang(text)
Menghapus slang words (kata gaul) yang terdapat dalam sebuah teks. Kata gaul dapat juga berupa singkatan yang sering digunakan dalam kehidupan sehari - hari seperti:
- "yg" -> "yang"
- "mkn" -> "makan"
Sumber
Mapper untuk slang words yang digunakan didapatkan dari Kamus Alay - Colloquial Indonesian Lexicon oleh Salsabila, Ali, Yosef, dan Ade.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text |
str
|
Teks yang terdapat slang words di dalamnya. |
required |
Returns:
Type | Description |
---|---|
str
|
Teks yang telah dimodifikasi (tanpa slang words di dalamnya). |
Examples:
Mengganti setiap slang words yang ada di dalam teks menjadi bentuk yang lebih formal.
>>> indoNLP.preprocessing.replace_slang("emg siapa yg nanya?")
"memang siapa yang bertanya?"
replace_word_elongation(text)
Mengganti word elongation yang terdapat pada sebuah teks.
Definisi
Word elongation adalah tindakan menambahkan huruf tambahan ke kata, biasanya terdapat di akhir kata, hal ini biasanya dilakukan agar terdengar lebih ceria, ramah, dan imut.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text |
str
|
Teks yang terdapat word elongation di dalamnya. |
required |
Returns:
Type | Description |
---|---|
str
|
Teks yang telah ditransformasi (tanpa word elongation). |
Examples:
Mengganti setiap word elongation yang terdapat pada sebuah teks.
>>> indoNLP.preprocessing.replace_word_elongation("kenapaaa?")
"kenapa?"
pipeline(pipe)
Pipelining fungsi preprocessing.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
pipe |
Sequence[Callable[[str], str]]
|
Sequence dari fungsi - fungsi preprocessing
|
required |
Returns:
Type | Description |
---|---|
Callable[[str], str]
|
Callable pipeline. |
Examples:
Pipelining beberapa fungsi preprocessing.
>>> from indoNLP.preprocessing import pipeline, replace_word_elongation, replace_slang
>>> pipe = pipeline([replace_word_elongation, replace_slang])
>>> pipe("Knp emg gk mw makan kenapaaa???")
"kenapa memang enggak mau makan kenapa???"
emoji_to_words(text, lang='id', use_alias=False, delimiter=('!', '!'))
Transformasi emoji yang ada di dalam teks menjadi kata - kata yang sesuai dengan emoji tersebut dalam Bahasa Indonesia.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text |
str
|
Teks yang terdapat emoji di dalamnya. |
required |
lang |
str
|
Kode bahasa, bahasa yang tersedia yaitu "en" (English) dan "id" (Bahasa Indonesia). |
'id'
|
use_alias |
bool
|
Menggunakan alias translation, alias adalah terjemahan yang
lebih spesifik terhadap emoji tersebut. Tidak setiap emoji memiliki alias dan |
False
|
delimiter |
Tuple[str, str]
|
Delimiter (pembatas) pada terjemahan emoji, berupa tupple dengan dua element string sebagai pembatas awal dan akhir. |
('!', '!')
|
Warning
Jika use_alias == True
and lang != "id"
maka akan terjadi error.
Returns:
Type | Description |
---|---|
str
|
Teks yang telah di transformasi atau tidak terdapat emoji di dalamnya dan telah digantikan |
str
|
dengan kata - kata yang mengekspresikan emoji tersebut. |
Examples:
Mentransformasi emoji kedalam Bahasa Indonesia.
>>> indoNLP.preprocessing.emoji_to_words("emoji 😀😁")
"emoji !wajah_gembira!!wajah_gembira_dengan_mata_bahagia!"
Mentransformasi emoji kebahasa Ingris.
>>> indoNLP.preprocessing.emoji_to_words("emoji 😀😁", lang="en")
"emoji !grinning_face!!beaming_face_with_smiling_eyes!"
Menggunakan alias.
>>> indoNLP.preprocessing.emoji_to_words("emoji 😀", use_alias=True)
"emoji !wajah_gembira_bahagia_muka_senang!"
Menggunakan custom delimiter.
>>> indoNLP.preprocessing.emoji_to_words("emoji 😁", delimiter=("^","$"))
"emoji ^wajah_gembira_dengan_mata_bahagia$"
words_to_emoji(text, lang='id', use_alias=False, delimiter=('!', '!'))
Transformasi kata - kata dengan kode emoji menjadi emoji.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
text |
str
|
Teks yang terdapat kata - kata dengan kode emoji di dalamnya. |
required |
lang |
str
|
Kode bahasa, bahasa yang tersedia yaitu "en" (English) dan "id" (Bahasa Indonesia). |
'id'
|
use_alias |
bool
|
Menggunakan alias translation, alias adalah terjemahan yang
lebih spesifik terhadap emoji tersebut. Tidak setiap emoji memiliki alias dan |
False
|
delimiter |
Tuple[str, str]
|
Delimiter (pembatas) pada kata - kata kode emoji, berupa tupple dengan dua element string sebagai pembatas awal dan akhir. |
('!', '!')
|
Returns:
Type | Description |
---|---|
str
|
Teks yang telah di transformasi atau kata - kata yang mengandung kode emoji di dalam teks |
str
|
telah diubah menjadi emooji. |
Examples:
Transformasi kata - kata kode emoji di dalam teks menjadi emoji.
>>> indoNLP.preprocessing.emoji_to_words("emoji !wajah_gembira!!wajah_gembira_dengan_mata_bahagia!")
"emoji 😀😁"
Transform english words to emoji
>>> indoNLP.preprocessing.emoji_to_words("emoji !beaming_face_with_smiling_eyes!", lang="en")
"emoji 😁"
Using alias. Only works on lang == "id"
>>> indoNLP.preprocessing.emoji_to_words("emoji !wajah_gembira_bahagia_muka_senang!", use_alias=True)
"emoji 😀"
Using custom delimiter
>>> indoNLP.preprocessing.emoji_to_words("emoji ^wajah_gembira_dengan_mata_bahagia$", delimiter=("^","$"))
"emoji 😁"