ImportError:无法从“contractions”导入名称“CONTRACTION_MAP”

Nik*_*ani 2 python nlp machine-learning data-science contractions

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)
Run Code Online (Sandbox Code Playgroud)

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

dsp*_*cer 7

我相信您将PyPIcontractions上提供的包与一本名为“Python 文本分析”(源代码)的教科书中的模块搞错了。contractions

\n\n

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

\n\n

从文档来看,该包可用于修复缩写,例如:

\n\n
import contractions\ncontractions.fix("you\'re happy now")\n# "you are happy now"\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
from contractions import contractions_dict\n
Run Code Online (Sandbox Code Playgroud)\n\n

其中contractions_dict包含以下条目:

\n\n
{..., \'you\xe2\x80\x99ll\': \'you will\', ...}\n
Run Code Online (Sandbox Code Playgroud)\n