【问题标题】:String pattern recognition without training set无训练集的字符串模式识别
【发布时间】:2018-08-14 07:45:42
【问题描述】:

我有多个字符串,它们是基于一些(大部分)已知变量和一些未知模板创建的。我想知道从这些字符串中提取可变部分的那些模板是什么。之后我可以相对容易地推断出每个子字符串的含义,所以这里只有模式识别是问题。例如:

"76 (q) h"
"a x q y 123"
"c x e y 73"
"3 (e) z"
...

# pattern recognition: examples -> templates
"{1} x {2} y {3}"
"{1} ({2}) {3}"

# clusters based on template type
"{1} x {2} y {3}" -> ["a x q y 123", "c x e y 73", ...]
"{1} ({2}) {3}" -> ["76 (q) h", "3 (e) z", ...]

# inference: substrings -> extracted variables
"76 (q) h" -> ["76", "q", "h"] -> {x: "h", y: "q", z: 76}
"a x q y 123" -> ["a", "q", "123"] -> {x: "a", y: "q", z: 123}
"c x e y 73" -> ["c", "e", "73"] -> {x: "c", y: "e", z: 73}
"3 (e) z" -> ["3", "e", "z"] -> {x: "z", y: "e", z: 3}

我发现了一个类似的问题:Intelligent pattern matching in string,但在我的情况下,没有办法用阳性来训练解析器。知道如何解决这个问题吗?

【问题讨论】:

    标签: parsing artificial-intelligence pattern-recognition


    【解决方案1】:

    原来我需要的是所谓的顺序模式挖掘。有很多算法,例如 SPADE、PrefixSpan、CloSpan、BIDE 等。我需要的是一种算法,它也适用于间隙,或者一种算法可以找到我可以与通配符连接的频繁子字符串。从发现的频繁闭合模式中选择合适的模式远非显而易见,我仍在努力,但我现在比 2 个月前更接近了。

    【讨论】:

      猜你喜欢
      • 2014-06-04
      • 2011-06-02
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 2012-09-17
      • 1970-01-01
      • 2015-04-03
      相关资源
      最近更新 更多