构建多源英语词汇表
项目描述
🗽 CityLex:一个免费的英语词汇数据库
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.proto
为协议缓冲区数据结构citylex.bib
为使用的数据源引用
对于贡献者
要重新生成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创建的。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。