編寫簡(jiǎn)單的Python程序來判斷文本的語種
1.問題的描述
用Python進(jìn)行文本處理時(shí),有時(shí)候處理的文本中包含中文、英文、日文等多個(gè)語系的文本,有時(shí)候不能同時(shí)進(jìn)行處理,這個(gè)時(shí)候就需要判別當(dāng)前文本是屬于哪個(gè)語系的。Python中有個(gè)langid工具包提供了此功能,langid目前支持97種語言的檢測(cè),非常好用。
2.程序的代碼
以下Python是調(diào)用langid工具包來對(duì)文本進(jìn)行語言檢測(cè)與判別的程序代碼:
import langid #引入langid模塊
def translate(inputFile, outputFile):
fin = open(inputFile, 'r') #以讀的方式打開輸入文件
fout = open(outputFile, 'w') #以寫的方式打開輸出文件
for eachLine in fin: #依次讀入每一行
line = eachLine.strip().decode('utf-8', 'ignore') #去除每行的首位空格等,并統(tǒng)一轉(zhuǎn)化成Unicode
lineTuple = langid.classify(line) #調(diào)用langid來對(duì)該行進(jìn)行語言檢測(cè)
if lineTuple[0] == "zh": #如果該行語言大部分為中文,則不進(jìn)行任何處理
continue
outstr = line #如果該行語言為非中文,則準(zhǔn)備輸出
fout.write(outstr.strip().encode('utf-8') + '\n') #輸出非中文的行,從Unicode轉(zhuǎn)化成utf-8輸出
fin.close()
fout.close()
if __name__ == '__main__': #相當(dāng)于main函數(shù)
translate("myInputFile.txt", "myOutputFile.txt")
以上代碼是用來處理一個(gè)文本,將不屬于中文的行依次輸出到一個(gè)新的文件。
3.注意
第9、10行代碼,langid.classify(line)的輸出結(jié)果是一個(gè)二元組,二元組的第一項(xiàng)表示該文本所屬的語系,如:zh表示中文、en表示英語、等等;二元組的第二項(xiàng)表示該文本中屬于第一項(xiàng)中語系的所占比例。
希望對(duì)大家有所幫助。
相關(guān)文章
Python數(shù)據(jù)分析之真實(shí)IP請(qǐng)求Pandas詳解
這篇文章主要給大家介紹了Python數(shù)據(jù)分析之真實(shí)IP請(qǐng)求Pandas,文中通過示例嗲嗎給大家介紹的很詳細(xì),相信對(duì)大家的學(xué)習(xí)或者理解具有一定的參考借鑒價(jià)值,有需要的朋友們可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。2016-11-11
Python利用Charles 實(shí)現(xiàn)全部自動(dòng)答題思路流程分析
這篇文章主要介紹了Python利用Charles 實(shí)現(xiàn)全部自動(dòng)答題思路流程分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
關(guān)于你不想知道的所有Python3 unicode特性
我的讀者知道我是一個(gè)喜歡痛罵Python3 unicode的人。這次也不例外。我將會(huì)告訴你用unicode有多痛苦和為什么我不能閉嘴。我花了兩周時(shí)間研究Python3,我需要發(fā)泄我的失望。在這些責(zé)罵中,仍然有有用的信息,因?yàn)樗涛覀內(nèi)绾蝸硖幚鞵ython3。如果沒有被我煩到,就讀一讀吧2014-11-11
python高階函數(shù)map()和reduce()實(shí)例解析
這篇文章主要介紹了python高階函數(shù)map()和reduce()實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Python中ini配置文件讀寫的實(shí)現(xiàn)
本文主要介紹了Python中ini配置文件讀寫的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
python文件讀取和導(dǎo)包的絕對(duì)路徑、相對(duì)路徑詳解
每次在讀或?qū)懳募r(shí),獲取腳本文件的絕對(duì)路徑和相對(duì)路徑時(shí)很容易搞混,下面這篇文章主要給大家介紹了關(guān)于python文件讀取和導(dǎo)包的絕對(duì)路徑、相對(duì)路徑的相關(guān)資料,需要的朋友可以參考下2022-04-04

