对于我的一部分工作,我们根据用户在其驱动器中拥有的所有文件制作一份综合列表。这些用户必须决定是否存档这些文件(由Y或N表示)。作为对这些用户的服务,我们手动填写这些用户。
我们将这些文件导出到excel中的长列表中,该列表将每个文件显示为 X:\ 4。经济学\ 10。 XXXXXXXX \ 04。 XXXXXXXXX \ 04。 xxxxxxxxxx \ filexyz.pdf
我认为我们可以轻松地自动执行此操作,因为标准命名约定可以轻松确定要保留哪些文件以及删除哪些文件。一个包含字符串" CAB"的文件例如,应保留文件名中的文件名。但是,我不知道如何以及从哪里开始。有人能指出我正确的方向吗?
答案 0 :(得分:0)
我建议采取以下一般步骤
您可以在python中阅读excel file into a pandas dataframe。理想情况下,您将拥有一个看起来像这样的原始数据框
Filename Keep
0 X:\4. Economics ...\filexyz.pdf 0
1 X:\4. Economics ...\fileabc.pdf 1
2 X:\3. Finance ...\filetef.pdf 1
3 X:\3. Finance ...\file123.pdf 0
4 G:\2. Philosophy ..\file285.pdf 0
....
这部分更取决于您,例如您可以删除所有特殊字符和数字。这将留下如下字母
Filename Keep
0 "X Economics filexyz pdf" 0
1 "X Economics fileabc pdf" 1
2 "X Finance filetef pdf" 1
3 "X Finance file123 pdf" 0
4 "G Philosophy file285 pdf" 0
....
对于理解文本数据的算法,通常会对它们进行矢量化。这意味着您将它们转换为算法可以处理的数字。一个简单的方法是使用tf-idf and scikit-learn。在此之后,您的数据框可能看起来像这样
Filename Keep
0 [0.6461, 0.3816 ... 0.01, 0.38] 0
1 [0., 0.4816 ... 0.25, 0.31] 1
2 [0.61, 0.1663 ... 0.11, 0.35] 1
....
既然您拥有可以使用的算法的好数字,您可以使用scikit-learn训练分类器。只需搜索" scikit learn分类示例"你会发现很多。
一旦你有一个训练有素的分类器,你可以比较它以前没见过的测试数据的预测。这样你就能获得准确的感觉。
希望这足以让你入门!