1.問題的描述
用python進行文字處理時,有時候處理的文字中包含中文、英文、日文等多個語系的文字,有時候不能同時進行處理,這個時候就需要判別當前文字是屬於哪個語系的。python中有個langid工具包提供了此功能,langid目前支援97種語言的檢測,非常好用。
2.程式的**
以下python是呼叫langid工具包來對文字進行語言檢測與判別的程式**:
import langid #引入langid模組
def translate(inputfile, outputfile):
fin = open(inputfile, 'r') #以讀的方式開啟輸入檔案
fout = open(outputfile, 'w') #以寫的方式開啟輸出檔案
aivuvkb
for eachline in fin: #依次讀入每一行
line = eachline.strip().decode('utf-8', 'ignore') #去除每行的首位空格等,並統一轉化成unicode
linetuple = langid.classify(line) #呼叫langid來對該行進行語言檢測
if linetuple[0] == "zh": www.cppcns.com #如果該行語言大部分為中文,則不進行任何處理
continue
ouaivuvkbtstr = line #如果該行語言為非中文,則準備輸出
fout.write(outstr.strip().encode('utf-8') + '\n') #輸出非中文的行,從unicode轉化成utf-8輸出
fin.close()
fout.close()
if __name__ == '__main__': #相當於main函式
translate("myinputfile.txt", "myoutputfile.txt")
以上**是用來處理乙個文字,將不屬於中文的行依次輸出到乙個新的檔案。
3.注意
第9、10行**,langid.classify(line)的輸出結果是乙個二元組,二元組的第一項表示該文字所屬的語系,如:zh表www.cppcns.com示中文、en表示英語、等等;二元組的第二項表示該文字中屬於第一項中語系的所佔比例。
希望對大家有所幫助。
本文標題: 編寫簡單的python程式來判斷文字的語種
本文位址: /jiaoben/python/122258.html
使用Python來編寫乙個簡單的感知機
眼下,我在hsr上參加了乙個神經網路和機器學習的課程,當中學習到乙個最簡單的神經網路模型。就是感知機 perceptron 背景資料 最簡單的神經網路的模型就是感知機分類器,它有不同的輸入 x1,x2,xn 然後有不同的權重值 w1,w2,wn 例如以下式計算 每乙個相應的權重值與輸入值進行相乘,再...
Python編寫簡單的剪刀石頭布小程式
1 提示使用者選擇石頭剪刀布 2 計算機隨機選擇石頭剪刀布 3 判斷使用者輸贏 4 列印結果 import random 電腦人隨機出拳 computer random.randint 1,3 user int input 請出拳 1.拳頭,2.剪刀,3.布 if computer 1 comput...
用python來編寫TSP問題
import math from os import path import numpy as np import matplotlib.pyplot as plt class tspinstance 設計乙個類,實現從檔案讀入乙個旅行商問題的例項 檔案格式為 city number best kn...