I used your cleaner and I noticed there is 1 feature that has not been integrated is the removal of constantly repetitive punctuation marks (minus ...)
Example:
{"rawContent": "Đang ngủ trưa, cô gái hốt hoảng phát hiện chủ trọ tự ý mở cửa lẻn vào phòng 😀???????", "cleanedContent": "Đang ngủ trưa, cô gái hốt hoảng phát hiện chủ trọ tự ý mở cửa lẻn vào phòng ???????"}
I think in this case response should be:
{"rawContent": "Đang ngủ trưa, cô gái hốt hoảng phát hiện chủ trọ tự ý mở cửa lẻn vào phòng 😀???????", "cleanedContent": "Đang ngủ trưa, cô gái hốt hoảng phát hiện chủ trọ tự ý mở cửa lẻn vào phòng ?"}