heack's picture
Update README.md
ddf6568
metadata
pipeline_tag: text2text-generation

HeackMT5-ZhCleanText1ML: A Text Cleaning Model for Chinese Texts

This model, heack/HeackMT5-ZhCleanText1ML, is a fine-tuned mT5 model for Chinese text cleaning tasks. It is designed to remove gibberish, clean up the text, retain original information as much as possible, and does not process large sections of non-Chinese text (such as English text).

此模块,主要解决困扰中国互联网多年的乱码问题,同时借助Transformer大模型,可以对文字进行提炼(很少的情况下以及 模型非常确信的情况下),进行文字清理。你大可以相信此模型,它不会对你的文本进行任意的改动。对于非中文字符的文本, 本模型不做处理。

此模型基于100万行数据进行训练得到,训练结果:

step epoch learning_rate loss eval_loss
129000 3.73 1e-05 1.714 1.706

Model Details

  • Model: mT5
  • Language: Chinese (multiple languages supported)

Usage

Here is how you can use this model for text cleaning:

from transformers import MT5ForConditionalGeneration, T5Tokenizer
model = MT5ForConditionalGeneration.from_pretrained("heack/HeackMT5-ZhCleanText1ML")
tokenizer = T5Tokenizer.from_pretrained("heack/HeackMT5-ZhCleanText1ML")
text = """
大众汽车集团在第五届中国国际进口博览会携旗下大众汽车品牌、奥灶液弊胀演蹂穷蹭齿港呛奸怀甫磁洒暮烂犁投迪品牌和保时捷品牌亮相,共展出5款纯电动车
型。其中,大众汽车役络观示惑觉髓品牌展出了ID.家族最新成员——ID.AERO概念车,将于2023年上市;奥迪展出了两款豪华运动纯电动车奥迪RS e-tro???Mission GT和首款“Roadjet
陆地专机”奥迪Q5e-t��������Ʒ�2022��ף��µϽron。到2022年底,奥迪将在中国D��������市场提供7款新能源车型。保时捷则展出了两款纯电动车,其中保时捷Mission R概念车为亚洲首秀。保时捷将进一步在电气化领域持续发力,大量创新技
术萤恒扔剪秆仁忙殃掉雄停遵冒姑只脸玉匣有望应用于未来的量产车中,包括全新的电池组和冷����������却系统等。“自2015年以来,中国在智能汽车领域已逐渐在世界上领先。在自动驾驶领域,没有其他国家的技术创新和实施速度现在能够超越中国。”大众汽车集d
团执行副总裁刘云峰说,他指出,中德双方的务实合作广泛而深入,其中经贸合作发挥了压舱石作鑳藉寲杞�鍨嬬殑涓绘垬鍦轰箣涓�銆用,特别是在掏傻汽车行业。大众汽车集团有关人士介绍,大众正积极主动地推进转型,创新求变,oYFb而中国是大众汽车向电动化和交智能化
转型的主战场之一。除了代表大众迄柑居昧懦汽车电动化攻势的多款纯电车型和创新技术外,大众汽车还在本届进博<script会通过互动形式展示了旗下软件公司CARIAD的最新软件研发成果。按计划,在中国,大众汽车品牌ID.家族浴屋??????????????聂日票绢缀郁硼魏挖两
裙快温屎棠虐惨遇的产品阵容将拓展至纯电中型轿车细分市场。
"""
inputs = tokenizer("filter:"+text, return_tensors="pt")
outputs = model.generate(inputs.input_ids, max_new_tokens=512)
filtered_text = tokenizer.decode(outputs[0], skip_special_tokens=True, num_beams=4, length_penalty=0.8)
print(filtered_text)
======================
"""
大众汽车集团在第五届中国国际进口博览会携旗下大众汽车品牌、奥迪品牌和保时捷品牌亮相,共展出5款纯电动车
型。其中,大众汽车品牌展出了ID.家族最新成员——ID.AERO概念车,将于2023年上市;奥迪展出了两款豪华运动纯电动车奥迪RS e-tronMission GT和首款“Roadjet 
陆地专机”奥迪Q5e-tron。到2022年底,奥迪将在中国市场提供7款新能源车型。保时捷则展出了两款纯电动车,其中保时捷Mission R概念车为亚洲首秀。保时捷将进一步在电气化领域持续发力,大量创新技
术有望应用于未来的量产车中,包括全新的电池组和冷却系统等。“自2015年以来,中国在智能汽车领域已逐渐在世界上领先。在自动驾驶领域,没有其他国家的技术创新和实施速度现在能够超越中国。”大众汽车集
团执行副总裁刘云峰说,他指出,中德双方的务实合作广泛而深入,其中经贸合作发挥了压舱石作用,特别是在汽车行业。大众汽车集团有关人士介绍,大众正积极主动地推进转型,创新求变,而中国是大众汽车向电动化和交智能化 
转型的主战场之一。除了代表大众汽车电动化攻势的多款纯电车型和创新技术外,大众汽车还在本届进博会通过互动形式展示了旗下软件公司CARIAD的最新软件研发成果。按计划,在中国,大众汽车品牌ID.家族的产品阵容将拓展至纯电中型轿车细分市场。
"""

For long text(more than 512 tokens)

from transformers import MT5ForConditionalGeneration, T5Tokenizer

def split_text(text, tokenizer, length):
    chunks = []
    chunk = ""
    for char in text:
        chunk = chunk + char
        if len(tokenizer.encode(chunk, truncation=False)) >= length:
            if char in {'.', '。', ',', ',', '\n'}:
                chunks.append(chunk)
                chunk = ""
            else:
                for i in range(1, 21):
                    if chunk[-i] in {'.', '。', ',', ',', '\n'}:
                        break
                else:
                    i = 0
                if i == 0:
                    chunks.append(chunk)
                    chunk = ""
                else:
                    chunks.append(chunk[:-i])
                    chunk = chunk[-i:]
    chunks.append(chunk)

    assert "".join(chunks) == text
    return chunks

def filter_luanma_text(text, model, tokenizer):
    chunks = split_text(text, tokenizer,500)
    filter_texts = []
    for chunk in chunks:
        inputs = tokenizer("filter:" + chunk, return_tensors="pt")
        outputs = model.generate(input_ids=inputs["input_ids"], max_new_tokens=500)
        filter_text = tokenizer.decode(outputs[0], max_length=500, skip_special_tokens=True, num_beams=4, length_penalty=0.8)
        filter_texts.append(filter_text)
    return " ".join(filter_texts)

model = MT5ForConditionalGeneration.from_pretrained("heack/HeackMT5-ZhCleanText1ML")
tokenizer = T5Tokenizer.from_pretrained("heack/HeackMT5-ZhCleanText1ML")

filtered_text = filter_luanma_text("需要df过滤的文=本", model, tokenizer)
print(filtered_text)
======================================
"""
需要过滤的文本
"""

Credits

This model is trained and maintained by KongYang from Shanghai Jiao Tong University. For any questions, please reach out to me at my WeChat ID: kongyang.

License

This model is released under the CC BY-NC-SA 4.0 license.

Citation

If you use this model in your research, please cite:

Citation

If you use this model in your research, please cite:

@misc{kongyang2023heackmt5ZhCleanText1ML,
    title={heack/HeackMT5-ZhCleanText1ML: A Large-Scale Multilingual Abstractive Summarization for Chinese Texts},
    author={Kong Yang},
    year={2023}
}