回答

收藏

使用非精确测量(模糊逻辑)查找一系列数据

技术问答 技术问答 248 人阅读 | 0 人回复 | 2023-09-13

每个 产品 可以有很多 细分 行(千)。每个细分市场都有一个 位置 列,该列从每个产品(1、2、3、4、5等)的1开始,还有一个 值
# k7 i$ I# E9 Z9 c+ b& R列,可以包含任何值,例如(323.113、5423.231、873.42、422.64、763.1等)。 )。数据是只读的。
/ |1 n# _. ?, `% O% S( d/ A& o. |将产品视为一首歌曲,将片段视为该歌曲中的一组音符可能会有所帮助。3 e; K" V. ^+ }8 r( v( |
给定连续片段的子集,例如一首歌曲的片段,我想确定产品的潜在匹配项。但是,由于测量潜在的错误,子集中的片段可能 不 匹配数据库中的部分 正好 。! p1 d$ I3 J% D+ H3 l( P
如何通过找到与我所测量的细分子集 最匹配 的商品细分来识别候选商品?另外,数据库是否是此类数据的最佳媒介?+ ^0 X* r) P, y0 E; p- `8 |- ~- b
--' K) k  W3 [) T9 n
这只是关于我将如何解决此问题的一些想法。 请不要将这些作为确切的要求。' B) W* z4 j7 F3 ?4 ?0 \
我乐于接受任何一种算法,以使这项工作尽可能地出色。我当时认为需要多个阈值变量来确定紧密度。一种可能性是实现 接近度 阈值和 匹配 阈值。6 w, Z/ D& y, \) b
例如,给定这些值:
2 i5 D  Y8 e8 D! U% I. i, DProduct A contains these segments: 11,21,13,13,15.% L* A2 L% R- Q3 H2 o' x. t
Measurement 1 has captured: 20,14,14,15.4 c2 U# ]+ y8 [7 F/ o+ Z
Measurement 2 has captured: 11,21,78,13.
) O7 P3 ^* @9 Q: o& `! jMeasurement 3 has captured: 15,13,21,13,11.
$ Z, z- L$ A1 E. }如果 接近度 阈值所允许的测量段为1以上或实际段的下方,然后测量1可以匹配产品A,因为尽管许多段不匹配 准确 ,它们相对于实际值的接近度阈值内。
! B, s" Z6 N( L; u如果 匹配- ^* U+ @- I0 `: n, C3 A8 w
阈值允许进行大于等于3的测量,则度量2可能会返回乘积A,因为尽管分段(78)之一远超过了接近阈值,但它仍按正确的顺序匹配了3个分段,因此在 匹配. E, R7 ?3 H7 [/ M' W/ b( W  y/ C% p
阈值。" b/ o' @2 U+ ~
度量3不会与产品A匹配,因为尽管所有测量的细分都存在于实际细分中,但它们不在接近度或匹配阈值之内。; l1 d8 P7 G8 _' C. X  W! c
更新: 答案之一是要求我定义 最紧密匹配的/ [& Q% H3 ?. t: z
含义。我不确定如何回答,但我会继续以歌曲为类比,以进行解释。假设片段代表录制歌曲的最大频率。如果我再次录制同一首歌曲,它将是相似的,但是由于背景噪声和录音设备的其他限制,某些频率将匹配,某些频率将接近,而另一些频率则会偏离。在这种情况下,您将如何定义某条记录何时与另一条记录“匹配”?这就是我要在此问题中使用的匹配逻辑。' Y" D! u& w9 u1 d; q% D: U+ n
                # [( @( U4 k6 X" s/ p; M( C  d4 C
解决方案:+ R: }4 g' T8 C% C6 `
                % C; ~" m% t7 h2 e$ G; {- n
' H' ^7 l  q$ g' l: A4 K

) H+ T5 [8 e: \+ D) }1 {                如果从字面上看您的歌曲示例,一种方法是将输入简化为位向量指纹,然后在数据库中查找该指纹??作为精确匹配。您可以通过从输入中提取多个指纹和/或尝试使用所有比您的指纹仅1或位错误的位向量来增加找到合适匹配项的机会。9 \5 i9 x  y' y6 l" x5 A
如果您有权访问ACM数字图书馆,则可以在acm = 1321038137_73cd62cf2b16cd73ca9070e7d5ea0744“>
# \# o5 e. t6 z5 t7 dhttp://delivery.acm.org/10.1145/1150000/1145312/上的“ Shazam音乐识别服务”中阅读这种方法的说明。: ~7 g/ P) _3 h& w4 ^- J$ y
p44-wang.pdf?ip = 94.195.253.182&acc = ACTIVE%20SERVICE&CFID =8 Z3 z+ z2 q! `! ~, l; h4 y
53180383&CFTOKEN = 41480065& acm =& G1 m6 a$ Y% a/ `  q4 {: d' K
1321038137_73cd62cf2b16cd73ca9070e7d5ea0744.http://www.music.mcgill.ca/~alastair/print-
) w, q* B" F( Isumer/inger-sumer
% ]4 B  j: \4 q3 r! f# p.pdf。- ?: D- q7 _. }. y+ i
您描述的输入格式建议您可以使用http://en.wikipedia.org/wiki/Locality_sensitive_hashing中描述的随机投影方法执行某些操作。5 D. O" s- U' v( ?' k6 d
要回答第二个问题,具体取决于位置的确切含义,您可以考虑降低数字以哈希由位或字符组成的指纹,并将其存储在文本搜索数据库中,例如Apache Lucene。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则