Machine learning 查找用于将文档分类为可打印或不可打印的功能

Machine learning 查找用于将文档分类为可打印或不可打印的功能,machine-learning,classification,nltk,feature-extraction,feature-selection,Machine Learning,Classification,Nltk,Feature Extraction,Feature Selection,我想对documents.txt、.pdf、.jpeg、.img等文件进行二进制分类,分为两类:可打印和不可打印。从本质上说,我们学校为俱乐部提供免费印刷服务,但现实情况是,许多俱乐部滥用免费印刷,最终印刷了他们的家庭作业、纸张等,这相当于数千美元的墨水和纸张。因此,我们希望采用一些无监督的方法,通过确定文件是否很有可能与俱乐部无关来帮助限制这种情况,例如生物物理学论文,没有生物物理学俱乐部 这是一个非常简单的二元分类问题。我不是在寻找底层的实现细节或应该使用哪种ML算法,而是应该如何发现相关的

我想对documents.txt、.pdf、.jpeg、.img等文件进行二进制分类,分为两类:可打印和不可打印。从本质上说,我们学校为俱乐部提供免费印刷服务,但现实情况是,许多俱乐部滥用免费印刷,最终印刷了他们的家庭作业、纸张等,这相当于数千美元的墨水和纸张。因此,我们希望采用一些无监督的方法,通过确定文件是否很有可能与俱乐部无关来帮助限制这种情况,例如生物物理学论文,没有生物物理学俱乐部

这是一个非常简单的二元分类问题。我不是在寻找底层的实现细节或应该使用哪种ML算法,而是应该如何发现相关的特性,然后将这些特性提供给培训,等等

我的第一个想法是收集学生在图书馆打印的所有文件。这个想法是,如果你有真正的俱乐部印刷,你将在俱乐部印刷中心免费印刷,而不是在图书馆付费。这将是一个庞大的数据集,假设图书馆打印的每个文档都被指定为不可打印/俱乐部材料类别。不幸的是,学校非常自由,出于隐私考虑,反对允许这样做,因此这不是一个没有法律风险的选择

类似的选择是收集与课程/学校作业相关的文档,例如课程大纲、在线课程文档、家庭作业、论文等,并对这些文档进行特征提取/选择。假设学生会滥用印刷品来印刷与他们学习相关的材料

虽然对于基于.pdf和.txt的文档,这种方法应该具有合理的性能,但除了使用文档标题和其他元数据之外,我还不知道如何对基于图像的文档进行分类。一个聪明的违规者可以简单地将他们所有的文本文档转换成图像格式来绕过这个系统。但是,这超出了本问题的范围,应保存下来以供将来的问题/研究。目前,范围仅限于基于文本的文档


请注意,之前也有类似的问题,但我的问题非常具体,我相信这可能会带来一些挑战,比如电影评论分类可能不必面对

我只是想留下一条评论,但结束的时间比我想象的要长

虽然这是一个有趣的问题,但我不确定ML是否能轻松满足您的需求

首先,你的分类问题属于A型与世界型,A型没有严格定义。除非你确切地知道俱乐部印刷的是什么样的东西,否则你不能说新材料属于或不属于那个阶层

当您需要组装足够大的培训集,以便能够涵盖任何可以或不能打印的内容时,这将证明是特别困难的。这样的任务将极其乏味,正如你所说,你将无法访问俱乐部通常打印出来的内容,因此充其量你的训练集中会有很大的班级不平衡

由于目标是使系统自动化,我的意思是,如果存在人机交互,那么检查将打印的内容要比制作一个ML算法更快,该算法将提供一个分数,人类将不得不调查该分数。误报和误报的数量也会有问题。在某些情况下,俱乐部将无法打印他们有权打印的内容

正如你所说的,通过对课程材料而不是课程材料进行分类,可以大大简化问题。为此,我将关注BoW,因为在论文或课程材料中,有些词比其他词更具代表性。字数以及文件的总体大小似乎是提取的明智之举。结构通常也很特殊:提取这样的内容可能是个好主意:少于x字的行数、每页的行数、图片数(如果可以从文件中提取的话)

对于图片,主要要检查的是,如果这是一个扫描的东西,他们经常会扫描和打印课程相关的东西,我想,因为图像的格式已经是一个很好的指示,但我没有看到其他东西,特别是课程相关的


所以对我来说,如果你不能准确地定义你的两个类中的一个,就不要去分类,或者把问题简化成你可以真正定义课程相关的东西

如果你能够编制一份学生不允许打印的文件黑名单,那么你可以实施多层拒绝机制

我建议这三个层次:

将他们想要打印的文件的md5与黑名单文档中所有md5的数据库进行比较。 如果1是pas sed,比较repeat 1,但是在页面级别,而不是文档级别,他们可能只想打印几页而不是整个文档。 如果通过了2,您可以使用图像相似性方法将他们想要打印的页面与黑名单文档的页面进行比较,如。如果您在他们想要打印的页面和其中一个黑名单项目不打印之间获得高分,请相应地更新md5数据库。 如果3通过:打印! 关于SSIM的几句话:这种方法对噪声非常鲁棒,因此即使是一个聪明的学生在图像中添加了某种niose,也会被抓到 然而:

您必须找到从页面和文档数据库中提取感兴趣区域ROI的正确方法如果两个ROI位于页面的两个不同区域,SSIM将为负值 SSIM可能很慢!这里肯定需要一个C实现。 我认为SSIM不是旋转不变的,因此,如果他们将页面颠倒打印,则检查将失败,除非您有一种智能的方法来旋转页面。