在 python 中使用机器学习的文体学
stylometry using machine learning in python
我们正在尝试实现一个系统,将输入作为小说,并可以提取作者的风格(字长、句子长度、逗号的使用等),以便它可以预测文档的作者身份;当我们提供任何受过训练的作者的匿名文件时。
我们训练有素的系统必须通过使用机器学习算法来学习作者的风格。
使用朴素贝叶斯算法训练我们的系统来提取每个作者的风格有什么问题吗?否则,你能给我一个更好的选择吗?
我们正在尝试在 python 中实现它。
你能告诉我从哪里开始吗?提前致谢..
我会先看看 scikit-learn:一个机器学习库,有很多已实现的算法。
对于文本分类,朴素贝叶斯通常达不到最好的效果。查看支持向量机和基于它们思想的算法,例如(您可以在 scikit 网站上搜索这些并从那里开始):SGDClassifier、PassiveAggressiveClassifier 和 LinearSVC。
Scikit 还实现了朴素贝叶斯分类器,所以也请看看这些。
我不会首先手动确定与作者风格相关的内容。查看 CountVectorizer(词袋模型)和 TfidfVectorizer(词袋模型的 tf-idf 权重),它们应该为您构建不错的功能。
有许多 python 库可用于测量输入文本的不同语言方面,然后将这些值用作特征可能会提高模型的质量。我将在这里列举一些可以帮助您衡量主观性、复杂性、非正式性、特异性等方面的因素:
Domain-Agnostic-Sentence-Specificity-Prediction
Python Semantic Complexity Analyser
希望对您有所帮助!
我们正在尝试实现一个系统,将输入作为小说,并可以提取作者的风格(字长、句子长度、逗号的使用等),以便它可以预测文档的作者身份;当我们提供任何受过训练的作者的匿名文件时。
我们训练有素的系统必须通过使用机器学习算法来学习作者的风格。 使用朴素贝叶斯算法训练我们的系统来提取每个作者的风格有什么问题吗?否则,你能给我一个更好的选择吗?
我们正在尝试在 python 中实现它。 你能告诉我从哪里开始吗?提前致谢..
我会先看看 scikit-learn:一个机器学习库,有很多已实现的算法。
对于文本分类,朴素贝叶斯通常达不到最好的效果。查看支持向量机和基于它们思想的算法,例如(您可以在 scikit 网站上搜索这些并从那里开始):SGDClassifier、PassiveAggressiveClassifier 和 LinearSVC。
Scikit 还实现了朴素贝叶斯分类器,所以也请看看这些。
我不会首先手动确定与作者风格相关的内容。查看 CountVectorizer(词袋模型)和 TfidfVectorizer(词袋模型的 tf-idf 权重),它们应该为您构建不错的功能。
有许多 python 库可用于测量输入文本的不同语言方面,然后将这些值用作特征可能会提高模型的质量。我将在这里列举一些可以帮助您衡量主观性、复杂性、非正式性、特异性等方面的因素:
Domain-Agnostic-Sentence-Specificity-Prediction
Python Semantic Complexity Analyser
希望对您有所帮助!