我们正在尝试构建一个系统,该系统可以接受小说作为输入,并提取作者的风格(如单词长度、句子长度、逗号的使用等),以便在提供任何已训练作者的匿名文档时,能够预测文档的作者身份。
我们的训练系统需要通过机器学习算法来学习作者的风格。使用朴素贝叶斯算法来训练我们的系统以提取每个作者的风格是否存在问题?如果有更好的替代方案,请告诉我?
我们正在尝试用Python来实现它。你能告诉我从哪里开始吗?提前感谢..
回答:
我建议你从查看scikit-learn开始:这是一个包含许多已实现算法的机器学习库。
对于文本分类,朴素贝叶斯通常不会取得最佳效果。请考虑支持向量机及其基于思想的算法,例如(你可以在scikit网站上搜索这些并从那里开始):SGDClassifier、PassiveAggressiveClassifier和LinearSVC。
Scikit也实现了朴素贝叶斯分类器,所以也请查看这些。
我不会建议你手动决定什么是作者风格的相关因素。请查看CountVectorizer(词袋模型)和TfidfVectorizer(词袋模型的tf-idf加权),这些应该能为你构建不错的初始特征。