Python:langdetect和langid检测语言类型
需求問題:
前幾天,因為工作的需要,要求對爬取的語料進行語種識別,所以在網上查閱了一些資料。在這里跟大家介紹下兩個語言檢測工具langdetect和langid。
1.langid模塊
在這里提供一下,官方文檔。大家有興趣的話,可以去研究下。https://github.com/saffsd/langid.py
安裝方法也很簡單,直接下DOS 命令行輸入下面命令:
pip install langid
langid 模塊提供了一個很重要的方法 langid.classify()。
該方法返回的結果是元組類型(),元組的第一個參數代表語言類型,第二個參數代表該語言的可信度。
代碼如下:
import langidlanguage1 = "今天是2019.11.20號,距離過年還有3個月。加油,加油!!!" language2 = 'Thanks for his honesty and courage, the truth will not be covered by lies.' language3 = "Temuan-temuan awal ini masih perlu untuk dikonfirmasi oleh penelitian lebih lanjut"print(langid.classify(language1)) print(langid.classify(language2)) print(langid.classify(language3))輸出結果如下:
(‘zh’, -259.3397614955902) # zh代表中文
(‘en’, -192.87218618392944) # en 代表英語
(‘id’,-95.6275782585144) # id 代表印尼語
注意下:自己測試了下,語言的檢測率還可以,但是效率太慢了。輸出的語言類型是參考ISO 639-1語言編碼標準。
詳情可參考百度百科:ISO 639-1
2.langdetect 模塊
安裝方法也很簡單,在DOS 窗口下輸入下面的命令:
pip install langdetect
langdetect 模塊提供了兩個很重要的方法。
- 一個是langdetect .detect() 該方法是檢測語言的類型
- 另外一個是langdetect.detect_langs() 該方法是檢測所有語言類型及其所占的比例。
代碼如下:
import langdetect language1 = "今天是2019.11.20號,距離過年還有3個月。加油,加油!!!" language2 = 'Thanks for his honesty and courage, the truth will not be covered by lies.' language3 = "Hello,world。Python 生命之旅!!"print(langdetect.detect(language1)) print(langdetect.detect(language2)) print(langdetect.detect(language3)) print(langdetect.detect_langs(language1)) print(langdetect.detect_langs(language3))輸入結果如下:
zh-cn #中文
en # 英文
en #英文
[zh-cn:0.9999985317701515]
[en:0.8571398609764227, cy:0.14285913702201758] # 在這里 就可以看出來準確率不是很高了
注意:該模塊提供的方法速度挺快的,但是,網上有人說,準確率不夠。
總結
以上是生活随笔為你收集整理的Python:langdetect和langid检测语言类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python获取文件夹下所有文件的两种方
- 下一篇: python中的Xpath方法总结