如何从excel中的列中提取和分类数据?

数据挖掘 Python 分类 预处理 文本 命名实体识别
2022-02-27 01:20:19

我在 Excel 工作表中有一个列,其中包含大量由||分隔符分隔的数据。数据可以分为一些类别,如实体、IFSC 代码、交易参考 ID 等。

单个单元格如下所示:

EFT INCOMING||0141201||NHFI0141201||UTR||SBIN118121948660 M S||some-name ||some-purpose||TRN REF NO:a1b2c3d4e5

并非每个单元格都具有相同数量的类甚至相同类型的类。另一个例子:

COMM/CHARGES/FEES||CHECK/REF.6546644473||BILPAY CCTY BEARING C||00.00||00012||18031358||BLPY||TRN REF NO:a1b2c3d4e5

我尝试使用正则表达式提取此信息,并且能够获取提取为单个列表的 ref-id 或 IFSC 代码列表。但我需要将一个单元格分解为多个带有单独信息的单元格。如果某个单元格没有该类数据,则应保持空白。

我也尝试使用命名实体识别,但出现了同样的问题,我得到实体列表作为输出,而不是故障。

请帮我确定这是什么问题?文本分类?解决它的方法是什么?

2个回答

您需要执行一些预处理步骤。

  1. 将您的 excel 文件转换为某种文本文件(csv 可能是最简单的)
  2. 使用 python 操作文件,可以直接读取文件,也可以使用 csv python 模块或 pandas 等库。

最后一点建议:正则表达式很棒,但我认为您可能将它们用于错误的任务,我强烈建议您采用编程方法。

一个更简单但功能强大的解决方案可以是这样的:

  1. 根据您的分隔符,清理您的 Excel 中的数据
  2. 确保您的数据正确映射到 Excel 中的相应标题
  3. 将其存储在兼容的数据结构中,即数据框、二维列表等
  4. 使用 RASA-NLU 等工具执行意图分类,其中您的列(如实体、IFSC 代码、交易参考 ID)是意图
  5. 将您的数据映射到 RASA 为每列分类的意图,并将最终结果存储在 csv 文件中

注意:您可以在此处阅读有关 RASA 框架的信息

谢谢 !!