机器学习可以帮助我消化不对称的订单描述吗?

人工智能 机器学习 基础知识 数据集
2021-10-27 02:02:46

我有订单数据,这是一个示例:

Ninety-six (96) covered pans, desinated mark cutlery.
5 vovered pans by knife co.
(SEE SCHEDULE A FOR NUMBERS). 757 SOUP PANS
115 10-quart capacity pots.
Thirteen (13), 30 mm thick covered pans. 

我有超过 50k 行这样的数据。在一个完美的世界中,以上内容需要按如下方式制成表格:

count, type
96, covered pan
5, covered pan
757, soup pan
115, pot
13, covered pan

机器学习能否成为解决此类问题的正确方法?

2个回答

是的,NLP 处理的一个变体可以帮助找到要提取的正确数字和该数据中的对象类型。

与电子表格相比,原始文本数据是模棱两可的,没有对语言的合理理解,也没有了解业务上下文以提取相关信息。

例如,您期望提取“soup pan”和“covered pan”,而不是“capacity pot”。此外,诸如“30 mm”或“10-quart”等短语的部分是较低重要性的限定词,而不是指定某物的数量。

提取此类数据的当前技术状态是双向 LSTM(一种循环神经网络)您可能会让它标记每个条目中与您要提取的表格数据相关的部分,然后将它们输入到一个更简单的阶段,将它们放入电子表格中。但是,有两个警告:

  • 您需要大量正确标记的训练数据才能获得合理的性能。使用词嵌入层(例如 word2vec 或 GloVe)应该会显着减少所需的训练数据量,但可能需要仔细的预处理阶段,并且当数据中有很多行话时可能不太有用。

  • 性能永远不会完美,系统仍然会犯愚蠢的错误,因为它并没有真正理解正在处理的文本。这适用于解决此问题的所有 ML 方法,也可能适用于编写“专家系统”,尽管编写专家系统以识别何时失败并寻求帮助可能更容易。

也许一个简单的正则表达式可以解决这个问题。但是您可能需要监督、批准和不批准异常。

看这个例子,我前段时间遇到了同样的问题:https ://stackoverflow.com/questions/50689935/regex-like-commands-python