algorithm - 具有加权过滤器的字符串的模式识别算法?

标签 algorithm machine-learning pattern-matching pattern-recognition

是否有模式识别算法可以指定匹配或缺失某些参数的权重?例如,假设我有 3 个字符串:

str1 = Samsung 11.6" 64GB Slate PC Tablet with Wi-Fi - Black  
str2 = Samsung Series 7 XE700T1A-A05US 11.6-Inch Slate (64 GB, Win 7 Pro)
str3 = Samsung Series 7 XE700T1A-A03US 11.6-Inch Slate (128 GB SSD, Win 7 HP)

我想将 str2 与 str1 匹配,因为它们具有相等的 GB,即使传统的字符串距离会说 str2 更接近 str3。实际上,我希望有任何东西可以处理大量具有不同权重的参数。

任何指向正确方向的指示都将不胜感激。

最佳答案

  1. 创建命名实体的字典,例如“三星”、“英制”、“Wi-Fi”等
  2. 创建一组规则来提取特征,例如{Number}{Space}?"GB" 表示千兆字节或 {TradeMark}{Space}"Series"{Space}{Number} 表示商标和系列。
  3. 创建特征向量,将已知属性设置为相应的值,将未知属性设置为类似“NA”(不可用)的值。
  4. 测量项目之间的距离(表示为特征向量),而不是字符串。

注意:为了更轻松地使用字典和规则,请考虑使用 GATE框架。要测量两个向量之间的距离,您可以使用 cosine distance .

关于algorithm - 具有加权过滤器的字符串的模式识别算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976601/

相关文章:

php - 生成总和为 N 的所有可能的 3 个正整数

algorithm - 从层序遍历输出构造一个唯一的二叉搜索树

algorithm - 寻找可被给定整数 k 整除的对所需的最佳算法

machine-learning - 张量网络与神经网络

Javascript RegEx恰好一个数字模式

Java 正则表达式转义序列

javascript - 正则表达式匹配是否包含彼此相邻的相同字符 0 或 2 或 4 次

c++ - 我在使用 find_last_of 时遇到问题

python - 为什么我得到 "Supported target types are: (' 二进制', 'multiclass' )。相反,得到 'continuous'。“错误?

python - 将 Estimator 转换为 TPUEstimator