sheldonresearch / chinese_text_classification

113 stars 84 forks source link

vectorizer.fit_transform 错误 #1

Open wangxuezhan opened 6 years ago

wangxuezhan commented 6 years ago

作者你好,我在执行你的源代码TFIDF_space.py的时候, tfidfspace.tdm = vectorizer.fit_transform(bunch.contents)这一行报错TypeError: cannot use a string pattern on a bytes-like object 使用你博客上面的代码,报错TypeError: 'builtin_function_or_method' object is not iterable,请问是什么原因?刚开始学,不太懂,请您指教!我的微信zhan10,期待您的解答!

chongwangcc commented 6 years ago

问题定位: 在 TFIDF_space.py 文件 的 stpwrdlst = readfile(stopword_path).splitlines()一行; 原因:读入停用词文件,使用“rb”模式读字节了,改为“r”模式就好了 运行环境:win10, pycharm中 解决方案:

  1. 在 Tools.py 中新建函数:

    # 读取文件
    def readfile_str(path):  
    with open(path, "r",encoding="utf8") as fp:  
        content = fp.read()  
    return content
  2. 在 TFIDF_space.py 中 导入函数 from Tools import readfile_str,

  3. TFIDF_space.py 文件中 stpwrdlst = readfile(stopword_path).splitlines()替换 为 stpwrdlst = readfile_str(stopword_path).splitlines()