围绕google chromium的嵌入式紧凑语言检测库(cld2)的python绑定

pycld2的Python项目详细描述


DownloadsLatest VersionSupported Python versionsDevelopment StatusDownload formatBuild status

此包包含CLD(压缩语言检测)库 由dick站点维护(https://code.google.com/p/cld2/)。第一次 fork是在版本r161中完成的。它还包含python绑定 最初由Mike McCandless创建。 这里的绑定不同于上游的绑定,它使 语言默认选项支持超过165种语言!

本项目的目标是整合上游图书馆 绑定,因此用户可以pip安装一个包而不是两个。

许可证与Chromium的许可证相同,包含在 供参考的许可证文件。

Python

安装

$ git clone http://github.com/abosamoor/pycld2.git
$ cd pycld2
$ ./setup.py install

示例

import pycld2 as cld2

detectedLangName, detectedLangCode, isReliable, textBytesFound, details = cld2.detect("This is my sample text", pickSummaryLanguage=True, removeWeakMatches=False)
print '  detected: %s' % detectedLangName
print '  reliable: %s' % (isReliable != 0)
print '  textBytes: %s' % textBytesFound
print '  details: %s' % str(details)

# The output look lie so:
#  detected: ENGLISH
#  reliable: True
#  textBytes: 25
#  details: [('ENGLISH', 'en', 64, 20.25931928687196), ('FRENCH', 'fr', 36, 8.221993833504625)]

文件

首先,必须将内容(纯文本或html)编码为utf8 字节。然后,像这样检测:

topLanguageName, topLanguageCode, isReliable, textBytesFound, details = cld2.detect(bytes)

返回顶级语言的代码和名称。如果 第一语言比第二语言好得多。文本字节找到 告诉您CLD分析的实际字节数(删除HTML标记后, 空间过大的塌陷区域等)。每个顶部都有一个条目 匹配的3种语言,包括 匹配以及单独的标准化得分。

检测方法采用可选参数:

  • isPlainText(默认值为false):如果您知道 字节没有任何XML/HTML标记
  • includeExtendedLanguages(默认为true):设置为false 排除谷歌添加的“扩展”语言
  • hintTopLevelDomain(默认为none):设置为 内容来自的域名(例如,如果url是 http://www.krasnahora.cz,传递字符串“cz”)。这暗示了 这会使探测器有点偏压。
  • hintLanguageCode(默认为none):设置为可能的语言。 例如,如果web服务器声明了语言或内容 它本身嵌入了一个http-equiv元标记,声明语言pass 这个(例如意大利语的“it”)。这提供了一个可能会产生偏见的暗示 探测器。
  • hintEncoding(默认值为none):设置为 内容(注意,您仍然必须传递utf-8编码字节)。这个 给出了一个可能会使探测器产生一定偏差的提示。注:这是 当前不工作。
  • pickSummaryLanguage(默认值为false):如果为false,cld将始终 返回最匹配的语言作为答案。如果是真的,它会 有时选择第二个或第三个匹配项(例如,如果英语和x匹配, 如果x(not-unk)足够大,假设英语是样板 然后返回x)。在简单的测试中,精确度似乎受到了一些影响(xx 当这是真的,所以我默认为假。
  • removeWeakMatches(默认值为true):如果匹配不强 够了,删掉它。这确保了当 返回语言。

模块导出这些全局常数:

  • cld2.ENCODINGS:cld识别的编码名称列表(如果 提供提示,必须是这些名称之一)。
  • cld2.LANGUAGES:语言及其代码的列表(如果您提供 HintLanguagecode,它必须是这些代码中的一个代码)。
  • cld2.EXTERNAL_LANGUAGES:外部语言及其 代码。注意,不能暗示外部语言,但可以 如果传递includeextendedlanguages=true(默认值),则匹配。
  • cld2.DETECTED_LANGUAGES:所有可检测语言的列表,如 我能确定的最好(这是从单元测试中逆向工程的, 如果语言经过测试并通过 对于至少一个示例文本)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我不知道为什么我的非常简单的JPA项目不能工作   java编程故障操作listenersFillRect   java缓冲区图像宽度和高度随机反转值   使用java从ldap服务器获取数据   ObjectInputStream的反序列化Java运行时错误   java HTTP400:GET请求在Wildfly 18上不起作用,但在JBoss 7上起作用   仅运行testMethod()的java JMH基准测试   java Mockito:捕获HttpServletResponse#sendError()   maven Java Security正在阻止应用程序启动   Aspose pdfviewer中RussianLitter链接的java问题   java我在访问具有值的单元格时遇到空指针异常?   java如何在返回类型为int[]的函数中声明长度未知的整数数组?   java如何在NetBeans中为组织目的创建文件夹?   zip Java ZipFile api无法提取大型文件   字节码检测的Java代理问题