日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中文文本纠错工具推荐:pycorrector

發(fā)布時間:2023/12/9 编程问答 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中文文本纠错工具推荐:pycorrector 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

pycorrector

https://github.com/shibing624/pycorrector

中文文本糾錯工具。音似、形似錯字(或變體字)糾正,可用于中文拼音、筆畫輸入法的錯誤糾正。python3開發(fā)。

pycorrector依據(jù)語言模型檢測錯別字位置,通過拼音音似特征、筆畫五筆編輯距離特征及語言模型困惑度特征糾正錯別字。

Guide

  • Question

  • Solution

  • Feature

  • Evaluate

  • Install

  • Usage

  • Deep Model Usage

  • Dataset

  • Custom Language Model

  • Reference

Question

中文文本糾錯任務(wù),常見錯誤類型包括:

  • 諧音字詞,如 配副眼睛-配副眼鏡
  • 混淆音字詞,如 流浪織女-牛郎織女
  • 字詞順序顛倒,如 伍迪艾倫-艾倫伍迪
  • 字詞補全,如 愛有天意-假如愛有天意
  • 形似字錯誤,如 高梁-高粱
  • 中文拼音全拼,如 xingfu-幸福
  • 中文拼音縮寫,如 sz-深圳
  • 語法錯誤,如 想象難以-難以想象

當然,針對不同業(yè)務(wù)場景,這些問題并不一定全部存在,比如輸入法中需要處理前四種,搜索引擎需要處理所有類型,語音識別后文本糾錯只需要處理前兩種,
其中’形似字錯誤’主要針對五筆或者筆畫手寫輸入等。本項目重點解決其中的諧音、混淆音、形似字錯誤、中文拼音全拼、語法錯誤帶來的糾錯任務(wù)。

Solution

規(guī)則的解決思路

  • 中文糾錯分為兩步走,第一步是錯誤檢測,第二步是錯誤糾正;
  • 錯誤檢測部分先通過結(jié)巴中文分詞器切詞,由于句子中含有錯別字,所以切詞結(jié)果往往會有切分錯誤的情況,這樣從字粒度和詞粒度兩方面檢測錯誤,
    整合這兩種粒度的疑似錯誤結(jié)果,形成疑似錯誤位置候選集;
  • 錯誤糾正部分,是遍歷所有的疑似錯誤位置,并使用音似、形似詞典替換錯誤位置的詞,然后通過語言模型計算句子困惑度,對所有候選集結(jié)果比較并排序,得到最優(yōu)糾正詞。
  • PS:網(wǎng)友源碼解讀

    深度模型的解決思路

  • 端到端的深度模型可以避免人工提取特征,減少人工工作量,RNN序列模型對文本任務(wù)擬合能力強,rnn_attention在英文文本糾錯比賽中取得第一名成績,證明應(yīng)用效果不錯;
  • CRF會計算全局最優(yōu)輸出節(jié)點的條件概率,對句子中特定錯誤類型的檢測,會根據(jù)整句話判定該錯誤,阿里參賽2016中文語法糾錯任務(wù)并取得第一名,證明應(yīng)用效果不錯;
  • Seq2Seq模型是使用Encoder-Decoder結(jié)構(gòu)解決序列轉(zhuǎn)換問題,目前在序列轉(zhuǎn)換任務(wù)中(如機器翻譯、對話生成、文本摘要、圖像描述)使用最廣泛、效果最好的模型之一;
  • BERT/ELECTRA/ERNIE/MacBERT等預(yù)訓(xùn)練模型強大的語言表征能力,對NLP屆帶來翻天覆地的改變,海量的訓(xùn)練數(shù)據(jù)擬合的語言模型效果無與倫比,基于其MASK掩碼的特征,可以簡單改造預(yù)訓(xùn)練模型用于糾錯,加上fine-tune,效果輕松達到最優(yōu)。
  • Feature

    模型

    • kenlm:kenlm統(tǒng)計語言模型工具,規(guī)則方法,語言模型糾錯,利用混淆集,擴展性強
    • deep_context模型:參考Stanford University的nlc模型,該模型是參加2014英文文本糾錯比賽并取得第一名的方法
    • Seq2Seq模型:在Seq2Seq模型加上attention機制,對于長文本效果更好,模型更容易收斂,但容易過擬合
    • ConvSeq2Seq模型:基于Facebook出品的fairseq,北京語言大學團隊改進ConvS2S模型用于中文糾錯,在NLPCC-2018的中文語法糾錯比賽中,是唯一使用單模型并取得第三名的成績
    • transformer模型:全attention的結(jié)構(gòu)代替了lstm用于解決sequence to sequence問題,語義特征提取效果更好
    • BERT模型:中文fine-tuned模型,使用MASK特征糾正錯字
    • ELECTRA模型:斯坦福和谷歌聯(lián)合提出的一種更具效率的預(yù)訓(xùn)練模型,學習文本上下文表示優(yōu)于同等計算資源的BERT和XLNet
    • ERNIE模型:百度公司提出的基于知識增強的語義表示模型,有可適配中文的強大語義表征能力。在情感分析、文本匹配、自然語言推理、詞法分析、閱讀理解、智能問答等16個公開數(shù)據(jù)集上超越世界領(lǐng)先技術(shù)
    • MacBERT模型:來自哈工大SCIR實驗室2020年的工作,改進了BERT模型的訓(xùn)練方法,使用全詞掩蔽和N-Gram掩蔽策略適配中文表達,和通過用其相似的單詞來掩蓋單詞,從而縮小訓(xùn)練前和微調(diào)階段之間的差距

    錯誤檢測

    • 字粒度:語言模型困惑度(ppl)檢測某字的似然概率值低于句子文本平均值,則判定該字是疑似錯別字的概率大。
    • 詞粒度:切詞后不在詞典中的詞是疑似錯詞的概率大。

    錯誤糾正

    • 通過錯誤檢測定位所有疑似錯誤后,取所有疑似錯字的音似、形似候選詞,
    • 使用候選詞替換,基于語言模型得到類似翻譯模型的候選排序結(jié)果,得到最優(yōu)糾正詞。

    思考

  • 現(xiàn)在的處理手段,在詞粒度的錯誤召回還不錯,但錯誤糾正的準確率還有待提高,更多優(yōu)質(zhì)的糾錯集及糾錯詞庫會有提升,我更希望算法上有更大的突破。
  • 另外,現(xiàn)在的文本錯誤不再局限于字詞粒度上的拼寫錯誤,需要提高中文語法錯誤檢測(CGED, Chinese Grammar Error Diagnosis)及糾正能力,列在TODO中,后續(xù)調(diào)研。
  • Demo

    http://42.193.145.218/product/corrector/

    Evaluate

    查看評估結(jié)論

    提供評估腳本pycorrector/utils/eval.py和評估執(zhí)行腳本examples/evaluate_models.py,該腳本有兩個功能:

    • 構(gòu)建評估樣本集:評估集pycorrector/data/eval_corpus.json, 包括字粒度錯誤100條、詞粒度錯誤100條、語法錯誤100條,正確句子200條。用戶可以修改條數(shù)生成其他評估樣本分布。
    • 計算兩個數(shù)據(jù)集的糾錯準召率:采用保守計算方式,簡單把糾錯之后與正確句子完成匹配的視為正確,否則為錯。

    測試環(huán)境:

    • 機器:linux(centos7) 線上機
    • CPU:28核 Intel? Xeon? Gold 5117 CPU @ 2.00GHz
    • GPU:Tesla P40,顯存 22919 MiB(22 GB)
    • 內(nèi)存:251 GB
    數(shù)據(jù)集模型cpu/gpu準確率召回率每百條預(yù)測時長(秒)QPS
    sighan_15rulecpu17.98%15.37%119
    sighan_15bertgpu37.62%36.46%951.05
    sighan_15erniegpu29.70%28.13%1020.98
    sighan_15macbertgpu63.64%63.64%250
    corpus500rulecpu48.60%28.13%119
    corpus500bertgpu58.60%35.00%951.05
    corpus500erniegpu59.80%41.33%1020.98
    corpus500macbertgpu56.20%42.67%250

    Install

    • 全自動安裝:pip install pycorrector
    • 半自動安裝:
    git clone https://github.com/shibing624/pycorrector.git cd pycorrector python setup.py install

    通過以上兩種方法的任何一種完成安裝都可以。如果不想安裝依賴包,直接使用docker拉取安裝好的部署環(huán)境即可。

    安裝依賴

    • docker使用
    docker run -it -v ~/.pycorrector:/root/.pycorrector shibing624/pycorrector:0.0.2

    后續(xù)調(diào)用python3使用即可,該鏡像已經(jīng)安裝好kenlm、pycorrector等包,具體參見Dockerfile。

    使用示例:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2ngSbsRv-1636205742536)(docs/git_image/docker.png)]

    • kenlm安裝
    pip install https://github.com/kpu/kenlm/archive/master.zip

    安裝kenlm-wiki

    • 其他庫包安裝
    pip install -r requirements.txt

    Usage

    • 文本糾錯

    示例base_demo.py

    import pycorrectorcorrected_sent, detail = pycorrector.correct('少先隊員因該為老人讓坐') print(corrected_sent, detail)

    output:

    少先隊員應(yīng)該為老人讓座 [('因該', '應(yīng)該', 4, 6), ('坐', '座', 10, 11)]

    規(guī)則方法默認會從路徑~/.pycorrector/datasets/zh_giga.no_cna_cmn.prune01244.klm加載kenlm語言模型文件,如果檢測沒有該文件,則程序會自動聯(lián)網(wǎng)下載。當然也可以手動下載模型文件(2.8G)并放置于該位置。

    查看更多使用說明
    • 錯誤檢測

    示例detect_demo.py

    import pycorrectoridx_errors = pycorrector.detect('少先隊員因該為老人讓坐') print(idx_errors)

    output:

    [['因該', 4, 6, 'word'], ['坐', 10, 11, 'char']]

    返回類型是list, [error_word, begin_pos, end_pos, error_type],pos索引位置以0開始。

    • 關(guān)閉字粒度糾錯

    示例disable_char_error.py

    import pycorrectorerror_sentence_1 = '我的喉嚨發(fā)炎了要買點阿莫細林吃' correct_sent = pycorrector.correct(error_sentence_1) print(correct_sent)

    output:

    '我的喉嚨發(fā)炎了要買點阿莫西林吉', [('細林', '西林', 12, 14), ('吃', '吉', 14, 15)]

    上例中吃發(fā)生誤糾,如下代碼關(guān)閉字粒度糾錯:

    import pycorrectorerror_sentence_1 = '我的喉嚨發(fā)炎了要買點阿莫細林吃' pycorrector.enable_char_error(enable=False) correct_sent = pycorrector.correct(error_sentence_1) print(correct_sent)

    output:

    '我的喉嚨發(fā)炎了要買點阿莫西林吃', [('細林', '西林', 12, 14)]

    默認字粒度、詞粒度的糾錯都打開,一般情況下單字錯誤發(fā)生較少,而且字粒度糾錯準確率較低。關(guān)閉字粒度糾錯,這樣可以提高糾錯準確率,提高糾錯速度。

    默認enable_char_error方法的enable參數(shù)為True,即打開錯字糾正,這種方式可以召回字粒度錯誤,但是整體準確率會低;

    如果追求準確率而不追求召回率的話,建議將enable設(shè)為False,僅使用錯詞糾正。

    • 加載自定義混淆集

    通過加載自定義混淆集,支持用戶糾正已知的錯誤,包括兩方面功能:1)錯誤補召回;2)誤殺加白。

    示例use_custom_confusion.py

    import pycorrectorpycorrector.set_log_level('INFO') error_sentences = ['買iphonex,要多少錢','共同實際控制人蕭華、霍榮銓、張旗康', ] for line in error_sentences:print(pycorrector.correct(line))print('*' * 42) pycorrector.set_custom_confusion_dict(path='./my_custom_confusion.txt') for line in error_sentences:print(pycorrector.correct(line))

    output:

    ('買iphonex,要多少錢', []) # "iphonex"漏召,應(yīng)該是"iphoneX" ('共同實際控制人蕭華、霍榮銓、張啟康', [['張旗康', '張啟康', 14, 17]]) # "張啟康"誤殺,應(yīng)該不用糾 ***************************************************** ('買iphonex,要多少錢', [['iphonex', 'iphoneX', 1, 8]]) ('共同實際控制人蕭華、霍榮銓、張旗康', [])

    具體demo見example/use_custom_confusion.py,其中./my_custom_confusion.txt的內(nèi)容格式如下,以空格間隔:

    iPhone差 iPhoneX 100 張旗康 張旗康

    set_custom_confusion_dict方法的path參數(shù)為用戶自定義混淆集文件路徑。

    • 加載自定義語言模型

    默認提供下載并使用的kenlm語言模型zh_giga.no_cna_cmn.prune01244.klm文件是2.8G,內(nèi)存較小的電腦使用pycorrector程序可能會吃力些。

    支持用戶加載自己訓(xùn)練的kenlm語言模型,或使用2014版人民日報數(shù)據(jù)訓(xùn)練的模型,模型小(140M),準確率低些。

    示例load_custom_language_model.py,其中people2014corpus_chars.klm(密碼o5e9)是自定義語言模型文件。

    from pycorrector import Corrector import os pwd_path = os.path.abspath(os.path.dirname(__file__)) lm_path = os.path.join(pwd_path, './people2014corpus_chars.klm') model = Corrector(language_model_path=lm_path)corrected_sent, detail = model.correct('少先隊員因該為老人讓坐') print(corrected_sent, detail)

    output:

    少先隊員應(yīng)該為老人讓座 [('因該', '應(yīng)該', 4, 6), ('坐', '座', 10, 11)]
    • 英文拼寫糾錯

    支持英文單詞的拼寫錯誤糾正。

    示例en_correct_demo.py

    import pycorrectorsent = "what happending? how to speling it, can you gorrect it?" corrected_text, details = pycorrector.en_correct(sent) print(sent, '=>', corrected_text) print(details)

    output:

    what happending? how to speling it, can you gorrect it? => what happening? how to spelling it, can you correct it? [('happending', 'happening', 5, 15), ('speling', 'spelling', 24, 31), ('gorrect', 'correct', 44, 51)]
    • 中文簡繁互換

    支持中文繁體到簡體的轉(zhuǎn)換,和簡體到繁體的轉(zhuǎn)換。

    示例traditional_simplified_chinese_demo.py

    import pycorrectortraditional_sentence = '憂郁的臺灣烏龜' simplified_sentence = pycorrector.traditional2simplified(traditional_sentence) print(traditional_sentence, '=>', simplified_sentence)simplified_sentence = '憂郁的臺灣烏龜' traditional_sentence = pycorrector.simplified2traditional(simplified_sentence) print(simplified_sentence, '=>', traditional_sentence)

    output:

    憂郁的臺灣烏龜 => 憂郁的臺灣烏龜 憂郁的臺灣烏龜 => 憂郁的臺灣烏龜
    • 命令行模式

    支持批量文本糾錯

    python -m pycorrector -h usage: __main__.py [-h] -o OUTPUT [-n] [-d] input@description:positional arguments:input the input file path, file encode need utf-8.optional arguments:-h, --help show this help message and exit-o OUTPUT, --output OUTPUTthe output file path.-n, --no_char disable char detect mode.-d, --detail print detail info

    case:

    python -m pycorrector input.txt -o out.txt -n -d

    輸入文件:input.txt;輸出文件:out.txt;關(guān)閉字粒度糾錯;打印詳細糾錯信息;糾錯結(jié)果以\t間隔

    Deep Model Usage

    安裝依賴

    pip install -r requirements-dev.txt

    介紹

    本項目的初衷之一是比對、共享各種文本糾錯方法,拋磚引玉的作用,如果對大家在文本糾錯任務(wù)上有一點小小的啟發(fā)就是我莫大的榮幸了。

    主要使用了多種深度模型應(yīng)用于文本糾錯任務(wù),分別是前面模型小節(jié)介紹的seq2seq、
    transformer、bert、macbert、electra,各模型方法內(nèi)置于pycorrector文件夾下,有README.md詳細指導(dǎo),各模型可獨立運行,相互之間無依賴。

    使用方法

    各模型均可獨立的預(yù)處理數(shù)據(jù)、訓(xùn)練、預(yù)測。

    • MacBert模型

    基于MacBert預(yù)訓(xùn)練模型的糾錯

    示例macbert_demo.py,詳細教程參考README

  • 模型下載
  • 下載fine-tune后的預(yù)訓(xùn)練MacBert MLM模型-密碼QKz3,解壓后放置于~/.pycorrector/dataset/macbert_models/chinese_finetuned_correction目錄下。

    macbert_models └── chinese_finetuned_correction├── config.json├── added_tokens.json├── pytorch_model.bin├── special_tokens_map.json├── tokenizer_config.json└── vocab.txt
  • 糾錯
  • import syssys.path.append("..") from pycorrector.macbert.macbert_corrector import MacBertCorrectorif __name__ == '__main__':error_sentences = ['真麻煩你了。希望你們好好的跳無','少先隊員因該為老人讓坐','機七學習是人工智能領(lǐng)遇最能體現(xiàn)智能的一個分知','一只小魚船浮在平凈的河面上','我的家鄉(xiāng)是有明的漁米之鄉(xiāng)',]m = MacBertCorrector()for line in error_sentences:correct_sent, err = m.macbert_correct(line)print("query:{} => {}, err:{}".format(line, correct_sent, err))

    output:

    query:真麻煩你了。希望你們好好的跳無 => 真麻煩你了。希望你們好好的跳舞, err:[('無', '舞', 14, 15)] query:少先隊員因該為老人讓坐 => 少先隊員應(yīng)該為老人讓坐, err:[('因', '應(yīng)', 4, 5)] query:機七學習是人工智能領(lǐng)遇最能體現(xiàn)智能的一個分知 => 機器學習是人工智能領(lǐng)域最能體現(xiàn)智能的一個分知, err:[('七', '器', 1, 2), ('遇', '域', 10, 11)] query:一只小魚船浮在平凈的河面上 => 一只小魚船浮在平凈的河面上, err:[] query:我的家鄉(xiāng)是有明的漁米之鄉(xiāng) => 我的家鄉(xiāng)是有名的漁米之鄉(xiāng), err:[('明', '名', 6, 7)] 查看Seq2Seq模型
    • Seq2Seq模型

    seq2seq 模型使用示例:

    配置

    通過修改config.py。

    數(shù)據(jù)預(yù)處理

    cd seq2seq # 數(shù)據(jù)預(yù)處理 python preprocess.py

    自動新建文件夾output,在output下生成train.txt和test.txt文件,以TAB("\t")間隔錯誤文本和糾正文本,文本以空格切分詞,文件內(nèi)容示例:

    希 望 少 吸 煙 。 希 望 煙 民 們 少 吸 煙 。 以 前 , 包 括 中 國 , 我 國 也 是 。 以 前 , 不 僅 中 國 , 我 國 也 是 。 我 現(xiàn) 在 好 得 多 了 。 我 現(xiàn) 在 好 多 了 。

    訓(xùn)練

    python train.py

    設(shè)置config.py中arch='convseq2seq',訓(xùn)練sighan數(shù)據(jù)集(2104條樣本),200個epoch,單卡P40GPU訓(xùn)練耗時:3分鐘。

    預(yù)測

    python infer.py

    預(yù)測輸出效果樣例截圖:

    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ptmhIWA3-1636205742537)(./docs/git_image/convseq2seq_ret.png)]

    PS:

  • 如果訓(xùn)練數(shù)據(jù)太少(不足萬條),深度模型擬合不足,會出現(xiàn)預(yù)測結(jié)果全為unk的情況,解決方法:增大訓(xùn)練樣本集,使用下方提供的糾錯熟語料(nlpcc2018+hsk,130萬對句子)測試。
  • 深度模型訓(xùn)練耗時長,有GPU盡量用GPU,加速訓(xùn)練,節(jié)省時間。
  • Dataset

    數(shù)據(jù)集語料下載鏈接壓縮包大小
    人民日報2014版語料人民日報2014版百度網(wǎng)盤(密碼uc11)
    飛書(密碼cHcu)
    383M
    NLPCC 2018 GEC官方數(shù)據(jù)集NLPCC2018-GEC官方trainingdata114M
    NLPCC 2018+HSK熟語料nlpcc2018+hsk+CGED百度網(wǎng)盤(密碼m6fg)
    飛書(密碼gl9y)
    215M
    NLPCC 2018+HSK原始語料HSK+Lang8百度網(wǎng)盤(密碼n31j)
    飛書(密碼Q9LH)
    81M
  • NLPCC 2018 GEC官方數(shù)據(jù)集NLPCC2018-GEC,
    訓(xùn)練集trainingdata[解壓后114.5MB],該數(shù)據(jù)格式是原始文本,未做切詞處理。
  • 漢語水平考試(HSK)和lang8原始平行語料[HSK+Lang8]百度網(wǎng)盤(密碼n31j),該數(shù)據(jù)集已經(jīng)切詞,可用作數(shù)據(jù)擴增
  • 以上語料,再加上CGED16、CGED17、CGED18的數(shù)據(jù),經(jīng)過以字切分,繁體轉(zhuǎn)簡體,打亂數(shù)據(jù)順序的預(yù)處理后,生成用于糾錯的熟語料(nlpcc2018+hsk),網(wǎng)盤鏈接:https://pan.baidu.com/s/1BkDru60nQXaDVLRSr7ktfA 密碼:m6fg [130萬對句子,215MB]
  • Custom Language Model

    什么是語言模型?-wiki

    語言模型對于糾錯步驟至關(guān)重要,當前默認使用的是從千兆中文文本訓(xùn)練的中文語言模型zh_giga.no_cna_cmn.prune01244.klm(2.8G),
    此處也提供人民日報2014版語料訓(xùn)練得到的輕量版語言模型people2014corpus_chars.klm(密碼o5e9)。

    大家可以用中文維基(繁體轉(zhuǎn)簡體,pycorrector.utils.text_utils下有此功能)等語料數(shù)據(jù)訓(xùn)練通用的語言模型,或者也可以用專業(yè)領(lǐng)域語料訓(xùn)練更專用的語言模型。更適用的語言模型,對于糾錯效果會有比較好的提升。

  • kenlm語言模型訓(xùn)練工具的使用,請見博客:http://blog.csdn.net/mingzai624/article/details/79560063
  • 附上訓(xùn)練語料<人民日報2014版熟語料>,包括:
    1)標準人工切詞及詞性數(shù)據(jù)people2014.tar.gz,
    2)未切詞文本數(shù)據(jù)people2014_words.txt,
    3)kenlm訓(xùn)練字粒度語言模型文件及其二進制文件people2014corpus_chars.arps/klm,
    4)kenlm詞粒度語言模型文件及其二進制文件people2014corpus_words.arps/klm。
  • 尊重版權(quán),傳播請注明出處。

    Todo

    • 優(yōu)化形似字字典,提高形似字糾錯準確率
    • 整理中文糾錯訓(xùn)練數(shù)據(jù),使用seq2seq做深度中文糾錯模型
    • 添加中文語法錯誤檢測及糾正能力
    • 規(guī)則方法添加用戶自定義糾錯集,并將其糾錯優(yōu)先度調(diào)為最高
    • seq2seq_attention 添加dropout,減少過擬合
    • 在seq2seq模型框架上,新增Pointer-generator network、Beam search、Unknown words replacement、Coverage mechanism等特性
    • 更新bert的fine-tuned使用wiki,適配transformers 2.10.0庫
    • 升級代碼,兼容TensorFlow 2.0庫
    • 升級bert糾錯邏輯,提升基于mask的糾錯效果
    • 新增基于electra模型的糾錯邏輯,參數(shù)更小,預(yù)測更快
    • 新增專用于糾錯任務(wù)深度模型,使用bert/ernie預(yù)訓(xùn)練模型,加入文本音似、形似特征。
    • 規(guī)則方法,改進generate_items疑似錯字生成函數(shù),提速并優(yōu)化邏輯。
    • 預(yù)測提速,規(guī)則方法加入vertebi動態(tài)規(guī)劃,深度模型使用beamsearch搜索結(jié)果,引入GPU + fp16預(yù)測部署。
    • 語言模型糾錯ppl閾值參數(shù),使用動態(tài)調(diào)整方法替換寫死的閾值。

    Reference

    • 基于文法模型的中文糾錯系統(tǒng)
    • Norvig’s spelling corrector
    • Chinese Spelling Error Detection and Correction Based on Language Model, Pronunciation, and Shape[Yu, 2013]
    • Chinese Spelling Checker Based on Statistical Machine Translation[Chiu, 2013]
    • Chinese Word Spelling Correction Based on Rule Induction[yeh, 2014]
    • Neural Language Correction with Character-Based Attention[Ziang Xie, 2016]
    • Chinese Spelling Check System Based on Tri-gram Model[Qiang Huang, 2014]
    • Neural Abstractive Text Summarization with Sequence-to-Sequence Models[Tian Shi, 2018]
    • 基于深度學習的中文文本自動校對研究與實現(xiàn)[楊宗霖, 2019]
    • A Sequence to Sequence Learning for Chinese Grammatical Error Correction[Hongkai Ren, 2018]
    • ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators
    • Revisiting Pre-trained Models for Chinese Natural Language Processing

    總結(jié)

    以上是生活随笔為你收集整理的中文文本纠错工具推荐:pycorrector的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。