我刚开始使用Keras。刚尝试导入base_filter进行文本预处理。我做了:
from keras.preprocessing.text import base_filter
我收到了错误:
ImportError: cannot import name 'Base_filter'
令人惊讶的是,我进行了谷歌搜索,找不到任何答案。谁知道出了什么问题? base_filter位于keras
非常感谢。
答案 0 :(得分:4)
我猜这是来自新版Keras(2.0)的错误。此更改是最近的,教程/文档可能不是最新的。
我们之前有(like in the doc)文本预处理函数中filter=
参数的默认值是函数“base_filter()
”,此函数将包含要删除的特殊字符列表。
在新版本中,正如您在源代码中看到的那样,默认过滤器不再是base_filter()
函数,而是直接列表:
def text_to_word_sequence(text,
filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n',
lower=True, split=" "):
"""Converts a text to a sequence of word indices.
# Arguments
text: Input text (string).
filters: Sequence of characters to filter out.
lower: Whether to convert the input to lowercase.
split: Sentence split marker (string).
# Returns
A list of integer word indices.
"""
请参阅full code here。
总而言之,doc不是最新的,Keras 2.0中不再存在函数base_filter()
。 base_filter过滤的字符只需替换为字符列表:'!"#$%&()*+,-./:;<=>?@[\\]^_
{|}〜\ t \ n \`
我希望这会有所帮助。