首页 > 解决方案 > ImportError:无法从“收缩”中导入名称“CONTRACTION_MAP”

问题描述

ImportError                               Traceback (most recent call last)
<ipython-input-13-74c9bc9e3e4a> in <module>
      8 from nltk.tokenize.toktok import ToktokTokenizer
      9 #import contractions
---> 10 from contractions import CONTRACTION_MAP
     11 import unicodedata
     12 

ImportError: cannot import name 'CONTRACTION_MAP' from 'contractions' (c:\users\nikita\appdata\local\programs\python\python37-32\lib\site-packages\contractions\__init__.py)

一个问题是:该CONTRACTION_MAP变量是否已从contractions包中弃用?

标签: pythonmachine-learningnlpdata-sciencecontractions

解决方案


我相信您已经将PyPIcontractions上可用的包与教科书“Text Analytics with Python”(源代码)中的模块误认为了。contractions

CONTRACTIONS_MAP变量在后者中定义,不是contractions包 API 的一部分(记录在GitHub Readme.md 中)。

从文档中,该包可用于修复以下收缩:

import contractions
contractions.fix("you're happy now")
# "you are happy now"

如果您想访问收缩到扩展版本的地图,可以使用以下命令导入:

from contractions import contractions_dict

contractions_dict包含以下条目:

{..., 'you’ll': 'you will', ...}

推荐阅读