Machine learning 如何从各种来源检测表格数据

Machine learning 如何从各种来源检测表格数据,machine-learning,text-parsing,Machine Learning,Text Parsing,在我正在玩的一个实验项目中,我希望能够查看文本数据并检测它是否包含表格格式的数据。当然,有很多情况看起来像表格数据,所以我想知道我需要研究什么样的算法来寻找共同的特征 我的第一个想法是写一个长的switch/case语句,检查由制表符分隔的数据,然后是用管道符号分隔数据的另一种情况,然后是用另一种方式分隔数据的另一种情况等等。现在我当然意识到我必须列出一个不同的东西来检测——但我想知道是否有一种比对每个特征进行相对缓慢的搜索更智能的方法来检测这些特征类型 我意识到这个问题不是特别有说服力,所以我

在我正在玩的一个实验项目中,我希望能够查看文本数据并检测它是否包含表格格式的数据。当然,有很多情况看起来像表格数据,所以我想知道我需要研究什么样的算法来寻找共同的特征

我的第一个想法是写一个长的switch/case语句,检查由制表符分隔的数据,然后是用管道符号分隔数据的另一种情况,然后是用另一种方式分隔数据的另一种情况等等。现在我当然意识到我必须列出一个不同的东西来检测——但我想知道是否有一种比对每个特征进行相对缓慢的搜索更智能的方法来检测这些特征类型

我意识到这个问题不是特别有说服力,所以我希望它有一定的意义

有什么想法吗


(也不知道如何标记这一点-因此欢迎帮助!)

唯一可靠的方案是使用机器学习。例如,您可以在一堆表格和非表格材料的示例上训练感知器分类器。

a混合解决方案可能是合适的,也就是说,根据您的建议,您可以使用简单的启发式方法(以“类似开关”的方式处理最常见/最明显的情况),并保留较难的情况,用于自动学习和其他类型的分类器逻辑。

这假设您尚未在TSV中存储定义的类型

TSV文件通常是 [Value1]\t[Value..N]\N

我的建议是:

  • 数一数所有的账单
  • 把所有的新行数起来
  • 计算第一行中的选项卡总数
  • 将选项卡总数除以第一行中的选项卡
  • 结果为4时,如果得到0的余数,则有一个TSV文件的候选文件。在此基础上,您可能需要执行以下操作:

  • 您可以继续读取数据并忽略每行少于或多于预测制表符的行的错误
  • 您可以在阅读之前扫描每一行,以确保所有内容一致
  • 您可以读取不符合格式的行,然后抛出错误

  • 一旦很好地预测了以制表符分隔的值的数量,您就可以使用正则表达式[作为一个组]解析出这些值。

    第一步是非常清楚和准确地定义“表格数据”的含义。听起来您并没有这样做。将要检查的特征向量是什么?我不确定培训是否能够找到格式不正确的行。