編寫簡單的Python程式來判斷文字的語種

2022-10-04 23:18:28 字數 1377 閱讀 5797

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...