4种Python库用于检测英语和非英语语言2025年1月5日 | 阅读 7 分钟 Python 有许多出色的自然语言处理(NLP)库和工具,它们为我们提供了检测语言的各种酷炫方法。在本指南中,我们将介绍四种可以区分英语和非英语的 Python 库。
让我们仔细看看这些库。 langdetect 库langdetect 库是一个广为人知的用于检测语言的 Python 库。它是 Google 的语言检测库的 Python 版本,该库最初是用 Java 编写的。此库可以识别 55 种语言,并且在处理较长的文本时效果很好。 安装要安装,您可以使用 pip 安装程序,如下所示: 语法 基本用法以下是使用 langdetect 的简单方法: 输出 Language: de Probability: 0.5714285714285714 Language: en Probability: 0.42857142857142855 处理包含多种语言的文本: 输出 Language: en, Probability: 0.5714285714285714 Language: es, Probability: 0.2857142857142857 Language: de, Probability: 0.1428571428571428 langdetect 的优点:
langdetect 的缺点:
langid 库langid 库是人们喜欢用来识别语言的另一个工具。它的设计目的是快速准确,并且可以处理 97 种不同的语言。 安装要安装此库,您可以使用 pip 安装程序,如下所示: 语法 基本用法输出 Language found: fr How sure: -54.41310358047485 请记住,langid 会提供置信度分数,但这并不是概率。分数越低(越负),置信度越高。 处理多种语言langid 没有内置的方法来识别文本中的多种语言。但是,您可以分割文本并单独检查每个部分。 输出 Sentence: This is English Detected language: en, Confidence: -54.41310358047485 Sentence: Das ist Deutsch The language detected is German, with a confidence of -40.72214221954346. The sentence "Esto es español" is in Spanish. The system identified it with a confidence of -44.98177528381348. 要设置 langid 检查的语言,您可以使用以下代码: 如果您事先知道可能出现的语言,这可以提高准确性。 langid 的优点:
langid 的缺点:
pycld2 库pycld2 是 Google 的 Compact Language Detector 2 (CLD2) 的 Python 封装。它速度快,在处理较长文本时准确率很高。 安装让 pycld2 工作可能有些麻烦,因为您需要编译它。要安装此库,您可以使用 pip 安装程序,如下所示: 语法 如果此方法无效,您可能需要从源代码安装或使用预编译的 wheel。 基本用法以下是使用 pycld2 的简单示例: 输出 Is reliable: True Text bytes found: 30 Details: (('ja', 'JAPANESE' 100 1024.0), ('un', 'Unknown', 0 0.0), ('un', 'Unknown', 0, 0.0)) 这个元组包含有关识别出的前三种语言的信息。它显示语言代码、名称、置信度以及 CLD2 分数。 处理多种语言pycld2 库可以识别一段文本中的不同语言。 输出 Can trust: True Bytes of text found: 54 Language: en, Name: ENGLISH How sure: 33 Language: de Name: GERMAN How sure: 33 Language: es, Name: SPANISH How sure: 33 使用不同模式pycld2 允许您以不同的方式识别语言。 这将显示文本中每个部分的语言。 pycld2 的优点:
pycld2 的缺点:
fastText 库fastText 库是用于学习词语含义和分组句子的工具。虽然人们用它来分类文本和理解单词,但它也具有识别文本语言的功能。 安装要安装此库,您可以使用 pip 安装程序,如下所示: 语法 基本用法 首先,您需要获取预训练的模型才能使用 fastText 进行语言识别。 输出 We figured out the language: en Confidence: 0.9999998807907104 处理多种语言fastText 不能立即识别一段文本中的多种语言,但您可以将其拆分并查看每个部分。 输出 Sentence: This is English Language found: en How sure: 0.9999998807907104 Sentence: Das ist Deutsch Language found: de How sure: 0.9999822378158569 Sentence: Esto es español Language found: es How sure: 0.9999998807907104 要获取多种可能语言的猜测: 输出 … Language: en, Confidence: 0.9999998807907104 Language: de Confidence: 1.0426505367578566e-07 Language: nl Confidence: 4.515463705506921e-08 … fastText 的优点:
fastText 的缺点:
比较与结论这些库都有各自的优缺点。
选择哪个库取决于您的需求。
|
Python add() 方法向集合添加新元素。它接受一个参数,即要添加的元素。它向调用者返回 None。方法签名如下所示。签名 add(elem) 参数 elem:要添加的元素。返回它返回 None。让我们看一些 add() 方法的示例来理解其功能。...
阅读1分钟
简介:在本教程中,我们将了解 Ubuntu 中 Python 的最佳 IDE。如今,Python 是使用最广泛的编程语言之一。您每天使用的许多流行网站或软件应用程序都由 Python 提供支持。原因在于...
阅读9分钟
简介 Python 是一种高级、解释型、面向对象的语言,具有动态语义。它由 Guido van Rossum 于 1991 年创建,支持多种编程范例,如面向对象、函数式和结构化编程。在深入研究……之前,让我们回顾一下与给定问题相关的基本思想。
阅读 6 分钟
SSL(安全套接字层)是一种数字证书,用于验证网站身份并启用加密连接。它是一种安全协议,有助于在 Web 服务器和 Web 浏览器之间创建加密链接。公司和...
7 分钟阅读
引言:作为软件开发和计算机系统中的一个基本概念,二进制表示充当了计算机理解和存储数据的语言。在这种特定情况下,浮点数的表示在通信包含整数的实数方面起着至关重要的作用……
阅读 4 分钟
随着当前技术进步导致数据的大规模生产,可靠的预测变得越来越必要。因此,基于诸如时间序列预测之类的分析来确定预测值,这些预测处理基于历史记录的未来值预测,这一点很重要……
阅读 19 分钟
人工智能 (AI) 这一计算机科学新学科旨在开发能够复制人类智能的机器,执行传统上涉及人类理解、学习和决策的任务。如果它们还具有处理能力,它们将在具有挑战性的环境中感知事物,并进行更改以适应...
阅读 15 分钟
? Python,一种以其可读性和简洁性而闻名的编程语言,具有各种旨在提升工程师体验的功能。在这些功能中,允许在列表、元组、字典和集合中使用尾部逗号。从一开始,尾部逗号的概念...
阅读 4 分钟
简介 在 Python 中可以捕获 IOError 异常,以处理与输入和输出操作(例如文件处理)相关的故障。可以使用 try-except 块来捕获 IOError。你将可能导致 IOError 的代码放在 try 块中。在...
阅读 4 分钟
逗号分隔值文件 (CSV) 用于存储表格数据。CSV 文件中的数据项由逗号分隔,并以 .csv 扩展名保存。有不同的方法可以处理 CSV 文件并向其中追加数据。这包括:writer() 函数...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India