Abstractive HuggingFace#

This tutorial is available as an IPython notebook at Malaya/example/abstractive-summarization-huggingface.

This module only trained on standard language structure, so it is not save to use it for local language structure.

This module trained heavily on news and articles structure.

Results generated using stochastic methods.

[1]:
import os

os.environ['CUDA_VISIBLE_DEVICES'] = ''
[2]:
import logging

logging.basicConfig(level=logging.INFO)
[3]:
%%time
import malaya
from pprint import pprint
CPU times: user 3.16 s, sys: 3.45 s, total: 6.61 s
Wall time: 2.35 s
[4]:
import warnings
warnings.filterwarnings('default')
[5]:
import re

# minimum cleaning, just simply to remove newlines.
def cleaning(string):
    string = string.replace('\n', ' ')
    string = re.sub(r'[ ]+', ' ', string).strip()
    return string

I am going to simply copy paste some local news into this notebook. I will search about isu mahathir in google news, link here.

link: https://www.hmetro.com.my/mutakhir/2020/05/580438/peletakan-jawatan-tun-m-ditolak-bukan-lagi-isu

Title: Peletakan jawatan Tun M ditolak, bukan lagi isu.

Body: PELETAKAN jawatan Tun Dr Mahathir Mohamad sebagai Pengerusi Parti Pribumi Bersatu Malaysia (Bersatu) ditolak di dalam mesyuarat khas Majlis Pimpinan Tertinggi (MPT) pada 24 Februari lalu.

Justeru, tidak timbul soal peletakan jawatan itu sah atau tidak kerana ia sudah pun diputuskan pada peringkat parti yang dipersetujui semua termasuk Presiden, Tan Sri Muhyiddin Yassin.

Bekas Setiausaha Agung Bersatu Datuk Marzuki Yahya berkata, pada mesyuarat itu MPT sebulat suara menolak peletakan jawatan Dr Mahathir.

“Jadi ini agak berlawanan dengan keputusan yang kita sudah buat. Saya tak faham bagaimana Jabatan Pendaftar Pertubuhan Malaysia (JPPM) kata peletakan jawatan itu sah sedangkan kita sudah buat keputusan di dalam mesyuarat, bukan seorang dua yang buat keputusan.

“Semua keputusan mesti dibuat melalui parti. Walau apa juga perbincangan dibuat di luar daripada keputusan mesyuarat, ini bukan keputusan parti.

“Apa locus standy yang ada pada Setiausaha Kerja untuk membawa perkara ini kepada JPPM. Seharusnya ia dibawa kepada Setiausaha Agung sebagai pentadbir kepada parti,” katanya kepada Harian Metro.

Beliau mengulas laporan media tempatan hari ini mengenai pengesahan JPPM bahawa Dr Mahathir tidak lagi menjadi Pengerusi Bersatu berikutan peletakan jawatannya di tengah-tengah pergolakan politik pada akhir Februari adalah sah.

Laporan itu juga menyatakan, kedudukan Muhyiddin Yassin memangku jawatan itu juga sah.

Menurutnya, memang betul Dr Mahathir menghantar surat peletakan jawatan, tetapi ditolak oleh MPT.

“Fasal yang disebut itu terpakai sekiranya berhenti atau diberhentikan, tetapi ini mesyuarat sudah menolak,” katanya.

Marzuki turut mempersoal kenyataan media yang dibuat beberapa pimpinan parti itu hari ini yang menyatakan sokongan kepada Perikatan Nasional.

“Kenyataan media bukanlah keputusan rasmi. Walaupun kita buat 1,000 kenyataan sekali pun ia tetap tidak merubah keputusan yang sudah dibuat di dalam mesyuarat. Kita catat di dalam minit apa yang berlaku di dalam mesyuarat,” katanya.

[6]:
string = """
PELETAKAN jawatan Tun Dr Mahathir Mohamad sebagai Pengerusi Parti Pribumi Bersatu Malaysia (Bersatu) ditolak di dalam mesyuarat khas Majlis Pimpinan Tertinggi (MPT) pada 24 Februari lalu.

Justeru, tidak timbul soal peletakan jawatan itu sah atau tidak kerana ia sudah pun diputuskan pada peringkat parti yang dipersetujui semua termasuk Presiden, Tan Sri Muhyiddin Yassin.

Bekas Setiausaha Agung Bersatu Datuk Marzuki Yahya berkata, pada mesyuarat itu MPT sebulat suara menolak peletakan jawatan Dr Mahathir.

"Jadi ini agak berlawanan dengan keputusan yang kita sudah buat. Saya tak faham bagaimana Jabatan Pendaftar Pertubuhan Malaysia (JPPM) kata peletakan jawatan itu sah sedangkan kita sudah buat keputusan di dalam mesyuarat, bukan seorang dua yang buat keputusan.

"Semua keputusan mesti dibuat melalui parti. Walau apa juga perbincangan dibuat di luar daripada keputusan mesyuarat, ini bukan keputusan parti.

"Apa locus standy yang ada pada Setiausaha Kerja untuk membawa perkara ini kepada JPPM. Seharusnya ia dibawa kepada Setiausaha Agung sebagai pentadbir kepada parti," katanya kepada Harian Metro.

Beliau mengulas laporan media tempatan hari ini mengenai pengesahan JPPM bahawa Dr Mahathir tidak lagi menjadi Pengerusi Bersatu berikutan peletakan jawatannya di tengah-tengah pergolakan politik pada akhir Februari adalah sah.

Laporan itu juga menyatakan, kedudukan Muhyiddin Yassin memangku jawatan itu juga sah.

Menurutnya, memang betul Dr Mahathir menghantar surat peletakan jawatan, tetapi ditolak oleh MPT.

"Fasal yang disebut itu terpakai sekiranya berhenti atau diberhentikan, tetapi ini mesyuarat sudah menolak," katanya.

Marzuki turut mempersoal kenyataan media yang dibuat beberapa pimpinan parti itu hari ini yang menyatakan sokongan kepada Perikatan Nasional.

"Kenyataan media bukanlah keputusan rasmi. Walaupun kita buat 1,000 kenyataan sekali pun ia tetap tidak merubah keputusan yang sudah dibuat di dalam mesyuarat. Kita catat di dalam minit apa yang berlaku di dalam mesyuarat," katanya.
"""

string = cleaning(string)

Link: https://www.malaysiakini.com/news/525953

Title: Mahathir jangan hipokrit isu kes mahkamah Riza, kata Takiyuddin

Body: Menteri undang-undang Takiyuddin Hassan berkata kerajaan berharap Dr Mahathir Mohamad tidak bersikap hipokrit dengan mengatakan beliau tertanya-tanya dan tidak faham dengan keputusan mahkamah melepas tanpa membebaskan (DNAA) Riza Aziz, anak tiri bekas perdana menteri Najib Razak, dalam kes pengubahan wang haram membabitkan dana 1MDB.

Pemimpin PAS itu berkata ini kerana keputusan itu dibuat oleh peguam negara dan dilaksanakan oleh timbalan pendakwa raya yang mengendalikan kes tersebut pada akhir 2019.

“Saya merujuk kepada kenyataan Dr Mahathir tentang tindakan Mahkamah Sesyen memberikan pelepasan tanpa pembebasan (discharge not amounting to acquittal) kepada Riza Aziz baru-baru ini.

“Kerajaan berharap Dr Mahathir tidak bersikap hipokrit dengan mengatakan beliau ‘tertanya-tanya’, keliru dan tidak faham terhadap suatu keputusan yang dibuat oleh Peguam Negara dan dilaksanakan oleh Timbalan Pendakwa Raya yang mengendalikan kes ini pada akhir tahun 2019,” katanya dalam satu kenyataan hari ini.

Riza pada Khamis dilepas tanpa dibebaskan daripada lima pertuduhan pengubahan wang berjumlah AS$248 juta (RM1.08 bilion).

Dalam persetujuan yang dicapai antara pihak Riza dan pendakwaan, beliau dilepas tanpa dibebaskan atas pertuduhan itu dengan syarat memulangkan semula aset dari luar negara dengan nilai anggaran AS$107.3 juta (RM465.3 juta).

Ekoran itu, Mahathir antara lain menyuarakan kekhuatirannya berkenaan persetujuan itu dan mempersoalkan jika pihak yang didakwa atas tuduhan mencuri boleh terlepas daripada tindakan jika memulangkan semula apa yang dicurinya.

“Dia curi berbilion-bilion…Dia bagi balik kepada kerajaan. Dia kata kepada kerajaan, ‘Nah, duit yang aku curi. Sekarang ini, jangan ambil tindakan terhadap aku.’ Kita pun kata, ‘Sudah bagi balik duit okey lah’,” katanya.

Menjelaskan bahawa beliau tidak mempersoalkan keputusan mahkamah, Mahathir pada masa sama berkata ia menunjukkan undang-undang mungkin perlu dipinda.

Mengulas lanjut, Takiyuddin yang juga setiausaha agung PAS berkata kenyataan Mahathir tidak munasabah sebagai bekas perdana menteri.

“Kerajaan berharap Dr Mahathir tidak terus bertindak mengelirukan rakyat dengan mengatakan beliau ‘keliru’.

“Kerajaan PN akan terus bertindak mengikut undang-undang dan berpegang kepada prinsip kebebasan badan kehakiman dan proses perundangan yang sah,” katanya.

[7]:
string2 = """
Menteri undang-undang Takiyuddin Hassan berkata kerajaan berharap Dr Mahathir Mohamad tidak bersikap hipokrit dengan mengatakan beliau tertanya-tanya dan tidak faham dengan keputusan mahkamah melepas tanpa membebaskan (DNAA) Riza Aziz, anak tiri bekas perdana menteri Najib Razak, dalam kes pengubahan wang haram membabitkan dana 1MDB.

Pemimpin PAS itu berkata ini kerana keputusan itu dibuat oleh peguam negara dan dilaksanakan oleh timbalan pendakwa raya yang mengendalikan kes tersebut pada akhir 2019.

“Saya merujuk kepada kenyataan Dr Mahathir tentang tindakan Mahkamah Sesyen memberikan pelepasan tanpa pembebasan (discharge not amounting to acquittal) kepada Riza Aziz baru-baru ini.

“Kerajaan berharap Dr Mahathir tidak bersikap hipokrit dengan mengatakan beliau ‘tertanya-tanya’, keliru dan tidak faham terhadap suatu keputusan yang dibuat oleh Peguam Negara dan dilaksanakan oleh Timbalan Pendakwa Raya yang mengendalikan kes ini pada akhir tahun 2019,” katanya dalam satu kenyataan hari ini.

Riza pada Khamis dilepas tanpa dibebaskan daripada lima pertuduhan pengubahan wang berjumlah AS$248 juta (RM1.08 bilion).

Dalam persetujuan yang dicapai antara pihak Riza dan pendakwaan, beliau dilepas tanpa dibebaskan atas pertuduhan itu dengan syarat memulangkan semula aset dari luar negara dengan nilai anggaran AS$107.3 juta (RM465.3 juta).

Ekoran itu, Mahathir antara lain menyuarakan kekhuatirannya berkenaan persetujuan itu dan mempersoalkan jika pihak yang didakwa atas tuduhan mencuri boleh terlepas daripada tindakan jika memulangkan semula apa yang dicurinya.

"Dia curi berbilion-bilion...Dia bagi balik kepada kerajaan. Dia kata kepada kerajaan, 'Nah, duit yang aku curi. Sekarang ini, jangan ambil tindakan terhadap aku.' Kita pun kata, 'Sudah bagi balik duit okey lah'," katanya.

Menjelaskan bahawa beliau tidak mempersoalkan keputusan mahkamah, Mahathir pada masa sama berkata ia menunjukkan undang-undang mungkin perlu dipinda.

Mengulas lanjut, Takiyuddin yang juga setiausaha agung PAS berkata
kenyataan Mahathir tidak munasabah sebagai bekas perdana menteri.

"Kerajaan berharap Dr Mahathir tidak terus bertindak mengelirukan rakyat dengan mengatakan beliau ‘keliru’.

“Kerajaan PN akan terus bertindak mengikut undang-undang dan berpegang kepada prinsip kebebasan badan kehakiman dan proses perundangan yang sah,” katanya.
"""

string2 = cleaning(string2)
[8]:
string3 = """
The future looks bleak for Gerakan Tanah Air (GTA), as the possibility of building alliances with other political coalitions slowly withers.

Experts believe the unofficial pact is in for a dismal showing and may end up being "buried" in the 15th General Election (GE15).

They said GTA, which aims to contest more than 120 seats, might end up securing only five seats at most despite having a notable figure — former prime minister Tun Dr Mahathir Mohamad — as its chairman.

Associate Professor Dr Awang Azman Awang Pawi said when Dr Mahathir headed Parti Pribumi Bersatu Malaysia (Bersatu) in the previous general election, the party secured only 13 seats.

"Dr Mahathir won only 13 when he was with Bersatu. It is likely that he will do much less under GTA.

"GTA's political future will likely be buried sooner than it thinks," he told the New Sunday Times yesterday.

The political analyst from Universiti Malaya said GTA's plan to contest 120 seats would be an obstacle for the pact, as the political coalition would find it hard to find worthy and acceptable candidates.

GTA is made up of Parti Pejuang Tanah Air (Pejuang), Parti Bumiputera Perkasa Malaysia, Barisan Jemaah Islamiah Se-Malaysia and Parti Ikatan India Muslim Nasional.

GTA had previously courted Perikatan Nasional (PN) and Pakatan Harapan (PH) in the run-up to the election.

Dr Mahathir had earlier last week said he was willing to "set his ego aside" to unite the opposition parties to offer a strong challenge against Barisan Nasional (BN).

Last Thursday, PN shut its doors to any cooperation with GTA for GE15, saying it would move ahead with its component parties.

So far, GTA has announced eight candidates for GE15: Dr Mahathir for the Langkawi parliamentary seat, Datuk Seri Mukhriz Mahathir for Jerlun, Datuk Amiruddin Hamzah for Kubang Pasu, Datin Che Asmah Ibrahim for Sepang, Mior Nor Haidir Suhaimi for Tapah, Harumaini Omar for Hulu Selangor, Mohd Shaid Rosli for Kuala Selangor and Datuk Seri Khairuddin Abu Hassan for Titiwangsa.

Another political analyst, Azmi Hassan, predicted that GTA would have to go it alone, and did not see any chance that Pakatan Harapan (PH) would accept the pact into its fold.

He said GTA had little to offer to PH.

"They (GTA) have nothing to add to PH, unlike the Malaysian United Democratic Alliance.

"GTA has no political history, and its performance in the Johor election showed how weak Pejuang's influence is."

He said GTA should concentrate in areas that it could perform well, such as Kedah where Dr Mahathir and Mukhriz would defend their seats.
"""

string3 = cleaning(string3)

List available HuggingFace models#

[9]:
malaya.summarization.abstractive.available_huggingface()
INFO:malaya.summarization.abstractive:tested on translated validation set CNN Daily Mail, https://huggingface.co/datasets/mesolitica/translated-cnn-dailymail
INFO:malaya.summarization.abstractive:tested on translated test set Xwikis, https://huggingface.co/datasets/mesolitica/translated-xwikis
[9]:
Size (MB) ROUGE-1 ROUGE-2 ROUGE-L Suggested length
mesolitica/finetune-summarization-t5-small-standard-bahasa-cased 242.0 0.246203 0.058961 0.15159 1024.0
mesolitica/finetune-summarization-t5-base-standard-bahasa-cased 892.0 0.246203 0.058961 0.15159 1024.0
mesolitica/finetune-summarization-ms-t5-small-standard-bahasa-cased 242.0 0.246203 0.058961 0.15159 1024.0
mesolitica/finetune-summarization-ms-t5-base-standard-bahasa-cased 892.0 0.246203 0.058961 0.15159 1024.0

Load HuggingFace model#

def huggingface(model: str = 'mesolitica/finetune-summarization-t5-small-standard-bahasa-cased', **kwargs):
    """
    Load HuggingFace model to abstractive summarization.

    Parameters
    ----------
    model: str, optional (default='mesolitica/finetune-summarization-t5-small-standard-bahasa-cased')
        Check available models at `malaya.summarization.abstractive.available_huggingface()`.

    Returns
    -------
    result: malaya.torch_model.huggingface.Summarization
    """
[10]:
model = malaya.summarization.abstractive.huggingface()
[11]:
model_base = malaya.summarization.abstractive.huggingface(model = 'mesolitica/finetune-summarization-t5-base-standard-bahasa-cased')

Summarize#

def generate(
    self,
    strings: List[str],
    postprocess: bool = True,
    n: int = 2,
    threshold: float = 0.1,
    reject_similarity: float = 0.85,
    **kwargs,
):
    """
    Generate texts from the input.

    Parameters
    ----------
    strings : List[str]
    postprocess: bool, optional (default=False)
        If True, will filter sentence generated using ROUGE score and removed biased generated international news publisher.
    n: int, optional (default=2)
        N size of rouge to filter
    threshold: float, optional (default=0.1)
        minimum threshold for N rouge score to select a sentence.
    reject_similarity: float, optional (default=0.85)
        reject similar sentences while maintain position.
    **kwargs: vector arguments pass to huggingface `generate` method.
        Read more at https://huggingface.co/docs/transformers/main_classes/text_generation

    Returns
    -------
    result: List[str]
    """
[12]:
%%time

pprint(model.generate([string, string2], max_length = 256, temperature = 0.5))
You're using a T5TokenizerFast tokenizer. Please note that with a fast tokenizer, using the `__call__` method is faster than using a method to encode the text followed by a call to the `pad` method to get a padded encoding.
['Tun Dr Mahathir Mohamad telah menjadi Pengerusi Parti Pribumi Bersatu '
 'Malaysia. Ia ditolak di dalam mesyuarat Majlis Pimpinan Tertinggi pada 24 '
 'Februari lalu. Ahli Parlimen sebulat suara menolak peletakan jawatan itu '
 'sebagai sah.',
 'Menteri undang-undang Takiyuddin Hassan mengatakan bahawa kerajaan berharap '
 'Dr Mahathir tidak bersikap hipokrit. Riza Aziz, anak tiri Najib Razak, '
 'dibebaskan tanpa pembebasan. Riza dilepas tanpa dibebaskan dari lima tuduhan '
 'pengubahan wang haram berjumlah AS $ 248 juta (RM1.08 bilion).']
CPU times: user 9.04 s, sys: 5.21 ms, total: 9.04 s
Wall time: 760 ms
[13]:
%%time

pprint(model_base.generate([string, string2], max_length = 256, temperature = 0.5))
You're using a T5TokenizerFast tokenizer. Please note that with a fast tokenizer, using the `__call__` method is faster than using a method to encode the text followed by a call to the `pad` method to get a padded encoding.
['Bekas Setiausaha Agung Bersatu Marzuki Yahya mengatakan peletakan jawatan '
 "itu sah. Marzuki mengatakan bahawa ia 'agak bertentangan dengan keputusan "
 "yang kita buat'.",
 'Riza Aziz dibebaskan dari lima tuduhan pengubahan wang haram berjumlah AS $ '
 '248 juta (RM1.08 bilion) Riza pada hari Khamis dibebaskan tanpa dibebaskan '
 'dari lima tuduhan pengubahan wang haram berjumlah AS $ 248 juta (RM1.08 '
 'bilion) Riza pada hari Khamis dibebaskan tanpa dibebaskan dari lima tuduhan '
 'pengubahan wang haram berjumlah AS $ 248 juta (RM1.08 bilion). Menteri '
 'undang-undang Takiyuddin Hassan mengatakan bahawa dia tertanya-tanya dan '
 'tidak faham dengan keputusan mahkamah.']
CPU times: user 40.4 s, sys: 10.5 ms, total: 40.4 s
Wall time: 3.38 s

Good thing about HuggingFace#

In generate method, you can do greedy, beam, sampling, nucleus decoder and so much more, read it at https://huggingface.co/blog/how-to-generate

[14]:
%%time

pprint(model.generate([string],
    do_sample=True,
    max_length=256,
    top_p=0.92,
    top_k=0,
    num_return_sequences=3))
['Pengerusi Parti Pribumi Bersatu Malaysia (Bersatu) dihidu dari 24 Februari. '
 'Dr Mahathir yang berusia 52 tahun dianggap sebagai Pengerusi Bersatu tidak '
 'sah. Perdana Menteri perlu menyerahkan surat peletakan jawatan untuk '
 'menafikannya.',
 'Sebelum tahun lalu, PM Tun Dr Mahathir Mohamad telah menjadi Pengerusi Parti '
 'Pribumi Bersatu Malaysia. Jawatankuasa bukan parti yang meminta jawatan itu '
 'diluluskan dan diputuskan di peringkat parti yang dipersetujui oleh semua '
 'termasuk Presiden, Tan Sri Muhyiddin Yassin. MJ menolak sebagai sah dan ia '
 'sudah diputuskan pada peringkat parti yang dipersetujui.',
 'Timbalan Perdana Menteri di itu menafikan peletakan jawatannya. Kenyataan '
 'media tempatan mendakwa peletakan jawatan itu sah. Parti Malaysia sudah '
 'membuat keputusan pada mesyuarat khas Majlis Pimpinan Tertinggi.']
CPU times: user 13 s, sys: 12.1 ms, total: 13 s
Wall time: 1.09 s
[15]:
pprint(model_base.generate([string],
    do_sample=True,
    max_length=256,
    top_p=0.92,
    top_k=0,
    num_return_sequences=3))
['Lima ketua parti Malaysia telah menolak pengunduran Dr Mahathir. Bekas '
 'Setiausaha Agung Bersatu kini mempersoalkan keputusan parti. Datuk Marzuki '
 "Yahya membantah keputusan itu dan mengatakan ia 'berbanding dengan keputusan "
 "yang sudah kami buat'.",
 'Bekas Setiausaha Agung Bersatu Datuk Marzuki Yahya memberitahu MPT sebulat '
 "suara menolak peletakan jawatan Tun Dr Mahathir. Marzuki berkata, ia 'agak "
 "bertentangan dengan keputusan yang kami buat'.",
 'Sebuah jawatankuasa kecil tidak menolak peletakan jawatan Tun Dr Mahathir. '
 'Keputusan itu dibuat semasa mesyuarat khas parti di Malaysia. Datuk Marzuki '
 'Yahya berkata keputusan itu tidak konsisten dengan keputusan parti.']
[16]:
%%time

pprint(model.generate([string2],
    do_sample=True,
    max_length=256,
    top_p=0.92,
    top_k=0,
    num_return_sequences=3))
['Menteri undang-undang Takiyuddin Hassan berharap Dr Mahathir tidak bersifat '
 'hipokrit. Keputusan mahkamah melepaskan Riza Aziz dengan syarat '
 "mengembalikan semula aset. Dia mengatakan bahawa dia bertanya, 'Sudah bagi "
 "balik duit okey lah' Oleh itu, yang diputuskan di antara banyak pihak, dia "
 'meninggalkan tertuduh tidak dibebaskan.',
 'Dr Mahathir mengatakan bahawa dia tidak tahu dengan keputusan mahkamah '
 'memutuskan. Riza Aziz, anak tiri Najib Razak, telah dibebaskan tanpa '
 'pembebasan. Pemimpin PAS mengatakan bahawa dia tidak dapat menyiasat '
 'keputusan tersebut.',
 "Dr Mahathir Mohamad telah 'terkejut' dengan keputusan mahkamah untuk "
 'melepaskan secara haram Riza Aziz. dibebaskan tanpa pembebasan dari lima '
 'pertuduhan pengubahan wang haram berjumlah AS $ 483 juta (RM1.08 bilion) '
 'Pemimpin PAS itu berkata keputusan itu dibuat oleh peguam negara dan '
 'dilaksanakan oleh Timbalan Pendakwa Raya yang mengendalikan kes itu pada '
 'akhir 2019. Pemimpin PAS itu berkata, keputusan itu dibuat oleh peguam '
 'negara dan dilaksanakan oleh Timbalan Pendakwa Raya yang mengendalikan kes '
 'tersebut pada akhir tahun 2019.']
CPU times: user 23.1 s, sys: 8.46 ms, total: 23.1 s
Wall time: 1.93 s
[17]:
%%time

pprint(model_base.generate([string2],
    do_sample=True,
    max_length=256,
    top_p=0.92,
    top_k=0,
    num_return_sequences=3))
['Riza Aziz, anak tiri Najib Razak, dilepas dari lima pertuduhan pengubahan '
 'wang haram. Riza pada hari Khamis dilepas tanpa dibebaskan daripada lima '
 'tuduhan berjumlah AS $ 247 juta (RM1.08 bilion) Leader Pas bercakap mengenai '
 'keputusan mahkamah melepas tanpa pembebasan Riza baru-baru ini. Dia meminta '
 "pemerintah mengatakan bahawa dia 'keliru' dengan keputusan ini.",
 'Pejabat Peguam Negara kemudian memberikan pelepasan tanpa dibebaskan kepada '
 "Riza Aziz. Mohamad dikatakan 'terkejut' dengan keputusan mahkamah akhir "
 'tahun ini. "Perdana Menteri PN akan terus bertindak mengikut undang-undang," '
 'katanya.',
 'Peguam Negara mengatakan keputusan mahkamah yang mengeluarkan tidak '
 'membebaskan Riza Aziz. Riza Aziz dilepas tanpa dibebaskan daripada lima '
 'tuduhan pengubahan wang haram. Menteri undang-undang Takiyuddin Hassan '
 "menuduh pemerintah'sepenuhnya hipokrit' Mahathir mengatakan bahawa dia "
 'tertanya-tanya dan tidak faham dengan keputusan.']
CPU times: user 38.7 s, sys: 139 µs, total: 38.7 s
Wall time: 3.23 s

able to infer for mixed MS and EN#

Make sure to set threshold=0.0 if postprocess=True or else postprocess function will return an error.

[24]:
%%time

pprint(model.generate([string3],
    do_sample=True,
    max_length=256,
    top_p=0.92,
    top_k=0,
    num_return_sequences=3, threshold = 0.0))
['GTA mengatakan ia akan mudah mendapat tawaran yang tidak menguntungkan untuk '
 'sebarang pakatan dengan pakatan lain. Mereka mengatakan bahawa ia tidak '
 'mempunyai pengaruh berbanding Pakatan Harapan. Datang sebagai "masa depan '
 'politik GTA kemungkinan akan dikebumikan," kata pakar.',
 'Gerakan Tanah Air mahukan pakatan dari parti-parti politik lain yang '
 'memerlukan had. Kesepakatan itu adalah untuk pertunjukan suram dan mungkin '
 'berakhir dengan "berkahwin" pada PRU15. GTA bertujuan untuk bertanding lebih '
 'dari 120 kerusi, yang akan memerlukan hanya lima orang. Pembangkang mahukan '
 'sokongan tambahan untuk pakatan itu, yang diharapkan dapat dibuat.',
 'Barisan Nasional (PN) dan Pakatan Harapan (PH) telah menyokong GTA. GTA '
 'berharap dapat bertanding lebih dari 120 kerusi dalam Pilihan Raya Umum '
 'ke-15. Ahli politik percaya bahawa perjanjian tidak rasmi itu ada untuk '
 'menunjukkan kekecewaan.']
CPU times: user 17.3 s, sys: 3.98 ms, total: 17.3 s
Wall time: 1.45 s
[25]:
%%time

pprint(model_base.generate([string3],
    do_sample=True,
    max_length=256,
    top_p=0.92,
    top_k=0,
    num_return_sequences=3, threshold = 0.0))
['Negarawan mengatakan GTA mungkin "diberkati" dalam Pilihan Raya Umum ke-15 '
 'GE15. Gerakan Tanah Air berada di bawah tekanan dari pakatan pembangkang. '
 'GTA dijangka akhirnya memperoleh lima kerusi dengan kebanyakan calon.',
 'Gerakan Tanah Air dalam pakatan dengan gabungan yang memerintah "kemungkinan '
 'terkubur" di halaman depan GTA. GTA tidak mahu pakatan itu ditubuhkan. Dr '
 'Mahathir juga memenangi 13 kerusi di Parlimen Langkawi. GTA telah '
 'mengumumkan lapan calon untuk GE15.',
 'Gerakan Tanah Air mungkin "diberkati" dalam pilihan raya umum ke-15. Pakar '
 'mengatakan pakatan tidak rasmi mungkin dibuat untuk pertunjukan yang suram. '
 'GTA akan mengatakan ia mungkin akan berakhir dengan hanya lima kerusi. Ahli '
 'politik dan penganalisis mengatakan bahawa dia juga akan menyampaikan berita '
 'itu kepada Pakatan Harapan.']
CPU times: user 32.3 s, sys: 43.3 ms, total: 32.4 s
Wall time: 2.71 s

Problem with mixed model#

[28]:
s = """
PERDANA Menteri Datuk Seri Anwar Ibrahim sekali lagi mencuri tumpuan netizen selepas gambar-gambarnya menghadiri mesyuarat bersama Ketua Setiausaha Negara, Tan Sri Mohd Zuki Ali viral di media sosial.
Menerusi satu ciapan di Twitter, beliau memuat naik beberapa keping foto yang memperlihatkan dirinya menggayakan persalinan baju Melayu berona ungu, lengkap dengan samping dan songkok.
Selain itu, beliau turut menyarungkan sepasang capal ketika menghadiri mesyuarat berkenaan.


Bagaimanapun, menerusi salah satu gambar, Anwar dilihat membuka capalnya ketika sedang bermesyuarat dan hal itu mencetus perbincangan dalam kalangan netizen.
“Dah la pakai selipar, masa meeting boleh tanggal camtu aje,” ujar seorang netizen.
Namun, ciapan tersebut dibalas oleh seorang lagi pengguna Twitter.
“Untuk makluman bersama, capal dibenarkan untuk dipakai bersama baju Melayu bersamping. Aku pun baru tahu,” katanya.
Selain itu, ada juga antara pengguna media sosial yang memberitahu yang martabat capal lebih tinggi berbanding selipar dan kasut-kasut lain.
“Capal actually salah satu pakaian Melayu tradisional. Dipakai bangsawan dan para pahlawan pada zaman dulu kala. Jadi, martabat capal tu lebih tinggi dari selipar dan kasut-kasut lain,” katanya.

"""

s = cleaning(s)
[30]:
%%time

pprint(model.generate([s], max_length = 256, temperature = 0.5))
['Anwar Ibrahim dilihat membuka capalnya ketika bermesyuarat. Foto-foto itu '
 'dibalas oleh seorang lagi pengguna Twitter. Anwar juga dilihat memakai '
 'sepasang baju Melayu berona ungu.']
CPU times: user 3.8 s, sys: 27.8 ms, total: 3.82 s
Wall time: 321 ms
[29]:
%%time

pprint(model_base.generate([s], max_length = 256, temperature = 0.5))
['Datuk Seri Anwar Ibrahim menyiarkan gambar dirinya memakai baju Melayu. Dia '
 'juga memakai sepasang topial ketika menghadiri mesyuarat. Tetapi, seorang '
 "pengguna Twitter membalas dengan mengatakan bahawa itu adalah'masa pertemuan "
 "boleh tanggal camtu aje'."]
CPU times: user 12.9 s, sys: 23.8 ms, total: 12.9 s
Wall time: 1.08 s

As you can see, model_base generated topial word, inferred from capal -> cap, an -> topi, al.

Any malay words derived from english or any malay subwords are subset of english, this can confused the model.

[36]:
model_base_ms = malaya.summarization.abstractive.huggingface(model = 'mesolitica/finetune-summarization-ms-t5-base-standard-bahasa-cased')
[35]:
%%time

pprint(model_base_ms.generate([s], max_length = 256, temperature = 0.5))
You're using a T5TokenizerFast tokenizer. Please note that with a fast tokenizer, using the `__call__` method is faster than using a method to encode the text followed by a call to the `pad` method to get a padded encoding.
['Perdana Menteri Anwar Ibrahim memuat naik gambar di Twitter. Dia juga '
 'dilihat menggayakan sepasang capal semasa mesyuarat. Tetapi dia dilihat '
 'membuka capalnya ketika sedang bermesyuarat.']
CPU times: user 11.5 s, sys: 7.33 ms, total: 11.5 s
Wall time: 963 ms