跳转到主要内容

构建多源英语词汇表

项目描述

🗽 CityLex:一个免费的英语词汇数据库

PyPI version Supported Python versions CircleCI

CityLex是一个英语词汇数据库,旨在取代或增强像CELEX这样的数据库。它结合了最多七个独特来源的数据,包括频率规范、形态分析和发音。由于这些数据有不同的许可证条件(一些是专有许可,其他限制再分发),我们不直接提供数据库。相反,用户必须通过执行Python脚本来生成个人副本,以便启用他们希望使用的任何来源。

构建自己的CityLex

要安装CityLex,请执行

pip install citylex

要查看可用的数据源和选项,请执行citylex --help

要生成词汇表,请使用命令行标志至少启用一个来源来执行citylex。由于大部分数据都是从轮廓源下载的,通常需要一个互联网连接。整个过程启用所有来源大约需要四分钟;大部分时间都花在了下载大文件上。

要生成不需要手动下载的所有来源的词汇表,请执行

citylex --all-free

文件格式

生成了两个文件。第一个文件默认为citylex.tsv,是一种标准的宽格式“制表符分隔值”(TSV)文件,可以被导入Excel或R。某些字段(尤其是发音和形态分析)可以每个词形有多个条目。在这种情况下,它们使用^字符分隔。

高级用户可能希望使用第二个文件,默认为citylex.textproto,这是一个文本格式 协议缓冲区,它能更好地表示重复字段。要在Python中解析此文件,请使用以下代码片段

import citylex

lexicon = citylex.read_textproto("citylex.textproto")

这将解析文本格式数据并将数据填充到lexicon中。然后可以像Python字典一样迭代lexicon.entry

不可分发数据源

并非所有CityLex数据都可以自动从在线来源获取。如果您希望启用CELEX功能,请按照以下说明操作。

此专有资源必须从语言数据联盟作为LDC96L14.tgz获取。文件应使用以下方法解压缩

tar -xzf LDC96L14.tgz

这将生成一个名为celex2的目录。要启用CELEX2功能,请使用--celex并将此目录的本地路径作为参数传递给--celex_path

更多信息

对于贡献者

要重新生成citylex_pb2.py,您需要为您的平台安装Protocol Buffers C++运行时,确保版本号(例如,由protoc --version返回的版本号)与requirements.txt中的protobuf版本匹配。然后,运行protoc --python_out=. citylex.proto

许可证

CityLex代码库在Apache 2.0许可下分发。请参阅License.txt获取详细信息。

所有其他数据源都保留其创建者选择的原始许可证;有关更多信息,请参阅citylex --help

作者

CityLex是由Kyle Gorman创建的。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

citylex-0.1.15.tar.gz (13.0 kB 查看哈希值)

上传时间

构建分发

citylex-0.1.15-py3-none-any.whl (13.6 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面