问题描述
def lexical_diversity(text,word):
from nltk.book import text
return 100*text.count(word)/len(set(text))
我知道我可以在函数之前导入文本。但是,我想知道为什么会出现以下错误
它告诉我 nltk 中不存在作为语料库的“文本”——这是真的。但是,我希望用户将文本标识为 text1、text2 或 text3。
解决方法
为了在python中导入库的子模块,您可以使用importlib
模块。
import importlib
def lexical_diversity(nltk_sub_module,word):
imported_model_module = importlib.import_module( "nltk.book")
text = getattr(imported_model_module,nltk_sub_module)
return 100*text.count(word)/len(set(text))
lexical_diversity("text3","book")