Lewati ke isi

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 indoNLP.

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 use_alias hanya didukung untuk Bahasa Indonesia lang="id".

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 use_alias hanya didukung untuk Bahasa Indonesia lang="id".

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 😁"