从字符串中提取信息——ML中有什么技巧可以解决

Extract information from a string - What technique in ML can solve

我想知道机器学习领域有什么技术可以解决下面的问题?(例如:分类、CNN、RNN等)

问题描述:

用户输入一个字符串,我想分解这个字符串得到我想要的信息。例如:

  1. 用户输入“R21TCCCUSISS”,经过代码分解后得到信息:“R21”为产品型号,“TCC”为批号,“CUSISS”为产地
  2. 用户输入“TT3SUAWXCCAT”,经过代码分解后得到信息:“TT3S”为产品型号,“SUAW”为批号,“X”为用户输入的错误字符input , "CCAT" 为原点

产品型号、批号、产地等没有固定字符串长度。类似的产品类型可能是“R21”或“TT3S”,意思是产品类型可能包含2个或3个字符。

另外,有时字符串可能包含错误的输入信息,如上面示例 2 中的“X”。

我试图找到相关的解决方案,但我得到的最相关的是这个:https://github.com/philipperemy/Stanford-NER-Python

然而,我得到的字符串并不是一个句子。一个句子包含空格和语法,但我得到的字符串不符合这种情况。

你的问题无法用任何 ML 合理地解决,因为你有一个定义的产品类型列表等,因为可能没有任何实际的简单逻辑,而且通常你永远不会在连续体中工作(向量 space 等)。 ML 的目的是从少量数据构建回归函数和 hope/expect 良好的泛化(回归适合所有看不见的例子,过去现在和未来)。

基本上,您是在尝试对输入语法和生成进行逆向工程(这是通过算法完成的,可能包括随机数生成器)。但是,为了断言您的分类器功能正常工作,您需要所有数据也是真实数据,这违反了 ML 原则。

您想列出所有定义的产品类型列表(基本事实),并将输入的位(有或没有正则表达式模式)分散到不同的类型(批号、原产地)。 “学习”实际上是构建一个函数(或几个,每种类型一个),一个元素一个元素地填充映射(c++)或字典(c#),并使用它来解析输入。