黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

編寫簡單的Python程序來判斷文本的語種

系統 1952 0

1.問題的描述

用Python進行文本處理時,有時候處理的文本中包含中文、英文、日文等多個語系的文本,有時候不能同時進行處理,這個時候就需要判別當前文本是屬于哪個語系的。Python中有個langid工具包提供了此功能,langid目前支持97種語言的檢測,非常好用。


2.程序的代碼

以下Python是調用langid工具包來對文本進行語言檢測與判別的程序代碼:
?

            
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')   #去除每行的首位空格等,并統一轉化成Unicode 
    lineTuple = langid.classify(line)           #調用langid來對該行進行語言檢測 
    if lineTuple[0] == "zh":               #如果該行語言大部分為中文,則不進行任何處理 
      continue 
  
    outstr = 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表示中文、en表示英語、等等;二元組的第二項表示該文本中屬于第一項中語系的所占比例。

?

希望對大家有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論