获取给定单词的含义、同义词、反义词、词性、用法示例、发音和连字符的模块
Vocabular的Python项目详细描述
词汇
一个字典魔术师在一个模块的形式!
Author: | Tasdik Rahman |
---|
我的一些项目也在Gratipay
内容
1.1它是什么
对于给定的单词,使用Vocabulary,可以得到它的
- 表示
- 同义词
- 反义词
- 词性:单词是否为noun,interjection 或adverbet el
- translate:将短语从源语言翻译为所需语言。
- 用法示例:关于如何在 句子
- 发音
- 连字符:显示特定的应力点(如果有的话)
1.2功能
- 用简单的Python 编写
- 返回JSON对象、PYTHON字典和列表
- 最小依赖项(仅使用requests模块)
- 容易 install
- 替代Wordnet(差不多!)想看看吗?这是 一个small comparison
- 愚蠢地easy to use
- 快!
- 支持
- 两者,python2.*和python3.*
- 适用于Mac、Linux和Windows
1.3为什么我要使用词汇
Wordnet是一个很好的资源。毫无疑问!那你为什么要 当我们已经有了Wordnet时,使用Vocabulary?
1.3.1 wordnet比较
假设您想找出单词car的同义词。
- 使用Wordnet
>>>fromnltk.corpusimportwordnet>>>syns=wordnet.synsets('car')>>>syns[0].lemmas[0].name'car'>>>[s.lemmas[0].nameforsinsyns]['car','car','car','car','cable_car']>>>[l.nameforsinsynsforlins.lemmas]['car','auto','automobile','machine','motorcar','car','railcar','railway_car','railroad_car','car','gondola','car','elevator_car','cable_car','car']
- 使用Vocabulary 执行相同操作
>>>fromvocabulary.vocabularyimportVocabularyasvb>>>vb.synonym("car")'[{"seq":0,"text":"automobile"},{"seq":1,"text":"cart"},{"seq":2,"text":"automotive"},{"seq":3,"text":"wagon"},{"seq":4,"text":"motor"}]'>>>## load the json data>>>car_synonyms=json.loads(vb.synonym("car"))>>>type(car_synonyms)<class'list'>>>>
那就这样。您可以以简单的JSON格式获取数据。
你也可以继续比较其他方法。
1.4安装
1.4.1选项1:通过pip安装(建议方式)
$ pip install vocabulary
如果您在代理服务器后面
$ pip --proxy[username:password@]domain_name:port install vocabulary
注意:如果您得到command not found,则 $ sudo apt-get install python-pip应该可以解决这个问题
1.4.2选项2:从源安装(仅在必须时)
$ git clone https://github.com/prodicus/vocabulary.git
$ cd vocabulary/
$ pip install -r requirements.txt
$ python setup.py install
1.4.3演示
1.6贡献
请参考Contributing page for details
1.6.2出资人
- 对于添加将api响应作为不同数据结构返回的功能,应该对@tenorz007大加赞赏。
- 感谢Anton Relin添加了translate模块。
- 为他们的贡献向所有的人发出了巨大的呼声。
1.9类似
启发的其他类似软件- Vocabulary:此python对应项的Go lang端口
- woordy:返回单词翻译
- guile-words:此python对应项的Guile Scheme端口
1.9.1已知问题
- 在python2中,当使用方法vocabulary.synonym()或vocabulary.发音()
>>>vb.synonym("car")[{"seq":0,"text":"automotive"},{"seq":1,"text":"motor"},{"seq":2,"text":"wagon"},{"seq":3,"text":"cart"},{"seq":4,"text":"automobile"}]>>>type(vb.pronunciation("hippopotamus"))<class'list'>>>>json.dumps(vb.pronunciation("hippopotamus"))'[{"raw": "(h\\u012dp\\u02cc\\u0259-p\\u014ft\\u02c8\\u0259-m\\u0259s)", "rawType": "ahd-legacy", "seq": 0}, {"raw": "HH IH2 P AH0 P AA1 T AH0 M AH0 S", "rawType": "arpabet", "seq": 1}]'>>>
返回的是list对象,而不是JSON对象。 当返回后者时,存在一些unicode问题。修理 很快就会发布。
我可以建议python-ftfy在这件事上对你有帮助。