bmd1905 / vietnamese-correction

A project improves the quality and accuracy of the Vietnamese language.
30 stars 11 forks source link

Corrected text is truncated around 70 chars #1

Closed terrynguyen255 closed 10 months ago

terrynguyen255 commented 10 months ago

Hi, Thank you for the awesome repo & demo.

While trying it, I'm experiencing this issue. Same on https://huggingface.co/datasets/bmd1905/error-correction-vi Could you help guide how could I avoid it? Thank you so much. If you need any further information, please let me know

>>> print(corrector("toi dang là sinh diên nem hay ở truong đạ hoc khoa jọc tự nhiên , trogn năm ke tiep toi sẽ chọn chuyen nganh về trí tue nhana tạo"))
[{'generated_text': 'Tôi đang là sinh viên hay ở trường đại học khoa học tự nhiên, trong'}]

>>> print(corrector("một số chuyen gia tài chính ngâSn hànG của Việt Nam cũng chung quan điểmnày"))
[{'generated_text': 'Một số chuyên gia tài chính ngân hàng của Việt Nam cũng chung quan điểm này.'}]

>>> print(corrector("Nhưng sức huỷ divt của cơn bão mitch vẫn chưa thấm vào đâu lsovớithảm hoạ tại Bangladesh ăm 1970"))
[{'generated_text': 'Nhưng sức huỷ diệt của cơn bão mitch vẫn chưa thấm vào đâu so với thảm'}]
bmd1905 commented 10 months ago

Thank you for considering my repo, here is my answers:

  1. In order to get the text from the prediction, simply get the first element in the list, now we have a dictionary, just get the 'generated_text' key. Here is the code example:
    corrected_text = corrector("kinh tế viet nam dang dứng truoc 1 thoi ky đổi mơi chưa tung có tienf lệ trong lịch sử", max_length=128)
    print(corrected_text[0]['generated_text'])

Output:

Kinh tế Việt Nam đang đứng trước 1 thời kỳ đổi mới, chưa từng có tiền lệ trong lịch sử.
  1. My pipeline can also work with batch of sentences, you just send a list of sentences into the model, here is an example:
    
    corrected_texts = corrector(["kinh tế viet nam dang dứng truoc 1 thoi ky đổi mơi chưa tung có tienf lệ trong lịch sử",
                            "Lần này anh Phươngqyết xếp hàng mua bằng được 1 chiếc"],
                           max_length=128)

for corrected_text in corrected_texts: print(corrected_text['generated_text'])


Output:

Kinh tế Việt Nam đang đứng trước 1 thời kỳ đổi mới, chưa từng có tiền lệ trong lịch sử. Lần này anh Phương quyết xếp hàng mua bằng được 1 chiếc.



Hopefully my answer meet your needs!
terrynguyen255 commented 10 months ago

Thank you for the flash response @bmd1905 . It's definitely helpful. Thank you so much for your tips and dedication.

anonymousz97 commented 6 months ago

print(corrector("toi dang là sinh diên nem hay ở truong đạ hoc khoa jọc tự nhiên , trogn năm ke tiep toi sẽ chọn chuyen nganh về trí tue nhana tạo")) [{'generated_text': 'Tôi đang là sinh viên hay ở trường đại học khoa học tự nhiên, trong'}]

I believe the answer is not related to the question @bmd1905 , for example this sentence we got truncate generation part

bmd1905 commented 6 months ago

print(corrector("toi dang là sinh diên nem hay ở truong đạ hoc khoa jọc tự nhiên , trogn năm ke tiep toi sẽ chọn chuyen nganh về trí tue nhana tạo")) [{'generated_text': 'Tôi đang là sinh viên hay ở trường đại học khoa học tự nhiên, trong'}]

I believe the answer is not related to the question @bmd1905 , for example this sentence we got truncate generation part

Sorry, it was my mistake. To answer your question, just increase the max_length variable to either 512 or 1024. Doing this will make you happy with the result.

for example:

corrector("toi dang là sinh diên nam hai ở truong đạ hoc khoa jọc tự nhiên , trogn năm ke tiep toi sẽ chọn chuyen nganh về trí tue nhana tạo", 
                max_length=512)