python语言检测-- fasttext[船医]

python语言检测[船医]

  • 前言
  • 关键代码
  • 优点
  • 缺点

前言

场景:

有各种语言的脏数据,如:英文和法语,利用正则式也难以准确提. 取目标语言数据

解决方法:

利用fasttext的预训练模型预测,筛选出目标语言数据

Python版本: 3.8

关键代码

版本一 fastext

#安装fasttext
!pip install fasttext==0.9.2
#下载安装包,如果网络许可
!wget https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin

import fasttext
model = fasttext.load_model('lid.176.bin')
word = 'Bugün hava çok güzel'
#假设英语标签为1,其他语言标签为零
if model.predict(word)[0][0] == '__label__en':
     return 1
 else:
 	 return 0

版本二 fasttext-langdetect

#安装fasttext-langdetect, wget是用于后台下载模型
!pip install fasttext-langdetect wget

from ftlangdetect import detect
result = detect(text="Bugün hava çok güzel", low_memory=False)
#假设英语标签为1,其他语言标签为零
if result['lang']  == 'en':
     return 1
 else:
 	 return 0

优点

  • 在运行速度和准确性方面, fasttext是目前最好。
    详见:fasttext-langdetect - benchmark
  • 简单,一行代码可以分类

缺点

要说的话,就是要考虑加载模型的大小

你可能感兴趣的:(python实用小代码,python,深度学习,nlp)