【问题标题】:approximate string matching in matlabmatlab中的近似字符串匹配
【发布时间】:2013-04-03 01:54:23
【问题描述】:

假设我有两个小的 (A) 和非常大的字符串 (B)。我想在 B 中找到 A 的匹配字符串,但我对精确匹配不感兴趣。换句话说,我想考虑一个阈值来找到匹配字符串。因此,在这种情况下,我接受 A 的 2-3 个元素与 B 中选定的字符串不完全匹配的字符串。所以,我的问题是我如何在 matlab 中考虑这种近似?因为,据我所知,matlab 中的大多数字符串匹配代码只是找到完全匹配的。

此外,我希望它产生一堆字符串而不是一个匹配项。例如,它应该提供 10 个与 A 匹配的字符串,例如 2-3 不匹配。

【问题讨论】:

    标签: matlab computer-vision signal-processing


    【解决方案1】:

    这听起来像是您想要的 Smith-Waterman (http://en.wikipedia.org/wiki/Smith%E2%80%93Waterman_algorithm) 算法,它在 Bioinformatics Toolbox 中实现。

    如果这不完全符合您的要求,您可能会通过使用 Levenshtein 距离将 A 与 B 的子串进行比较来编写自己的匹配例程,效率可能会有些低。 Matlab Central 上有几个用于 Levenshtein 距离的包(例如,https://www.mathworks.com/matlabcentral/fileexchange/17585-calculation-of-distance-between-strings)。

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 2013-07-10
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 2010-09-08
      • 2016-03-28
      • 1970-01-01
      • 2013-02-04
      相关资源
      最近更新 更多