|
每个 产品 可以有很多 细分 行(千)。每个细分市场都有一个 位置 列,该列从每个产品(1、2、3、4、5等)的1开始,还有一个 值2 X; ~2 p& c d8 {' L
列,可以包含任何值,例如(323.113、5423.231、873.42、422.64、763.1等)。 )。数据是只读的。' S& k. A' D7 L" T1 B
将产品视为一首歌曲,将片段视为该歌曲中的一组音符可能会有所帮助。: M. H5 Q) B% D0 M, T
给定连续片段的子集,例如一首歌曲的片段,我想确定产品的潜在匹配项。但是,由于测量潜在的错误,子集中的片段可能 不 匹配数据库中的部分 正好 。% ^, C4 t8 _! X7 C
如何通过找到与我所测量的细分子集 最匹配 的商品细分来识别候选商品?另外,数据库是否是此类数据的最佳媒介?+ g( e0 z) X; Y" h2 [
--7 F) h5 s" e9 K% K I9 }1 r T
这只是关于我将如何解决此问题的一些想法。 请不要将这些作为确切的要求。
5 {0 F6 B! Q- E2 i- X4 z我乐于接受任何一种算法,以使这项工作尽可能地出色。我当时认为需要多个阈值变量来确定紧密度。一种可能性是实现 接近度 阈值和 匹配 阈值。
4 d7 Y5 W7 M9 H例如,给定这些值:
% b$ G( u/ T+ |5 YProduct A contains these segments: 11,21,13,13,15.
% B) H' O1 j3 P% `3 a! a: |Measurement 1 has captured: 20,14,14,15.& u( l% _# `, p. n; B3 g4 m
Measurement 2 has captured: 11,21,78,13.
2 C$ l& X; L8 y0 ]: e2 S9 w! ^Measurement 3 has captured: 15,13,21,13,11.- a0 o9 t, r% H! Y0 {5 g
如果 接近度 阈值所允许的测量段为1以上或实际段的下方,然后测量1可以匹配产品A,因为尽管许多段不匹配 准确 ,它们相对于实际值的接近度阈值内。
7 V3 W! u: |! I" X如果 匹配0 P7 S' Z# Q+ V9 Q. y0 g% O
阈值允许进行大于等于3的测量,则度量2可能会返回乘积A,因为尽管分段(78)之一远超过了接近阈值,但它仍按正确的顺序匹配了3个分段,因此在 匹配
% `; ?5 ` V1 q2 N& \) N阈值。& I+ @& `; P! M2 N/ m3 ^3 r
度量3不会与产品A匹配,因为尽管所有测量的细分都存在于实际细分中,但它们不在接近度或匹配阈值之内。' K5 H! a M9 c8 f
更新: 答案之一是要求我定义 最紧密匹配的
7 E) X: [# l6 s" w$ W* u含义。我不确定如何回答,但我会继续以歌曲为类比,以进行解释。假设片段代表录制歌曲的最大频率。如果我再次录制同一首歌曲,它将是相似的,但是由于背景噪声和录音设备的其他限制,某些频率将匹配,某些频率将接近,而另一些频率则会偏离。在这种情况下,您将如何定义某条记录何时与另一条记录“匹配”?这就是我要在此问题中使用的匹配逻辑。
: v% D, u( m& |4 t5 N* B 4 E% z, D$ ] j8 R
解决方案:
% I5 k7 N4 s- C# D% N! Z
5 y, {. w: c8 }0 ^! W2 ]2 p" a# a2 v0 q: S7 O
d/ `; n/ g: g& _9 K
如果从字面上看您的歌曲示例,一种方法是将输入简化为位向量指纹,然后在数据库中查找该指纹??作为精确匹配。您可以通过从输入中提取多个指纹和/或尝试使用所有比您的指纹仅1或位错误的位向量来增加找到合适匹配项的机会。0 o& s/ V9 C- ^4 o5 g+ U
如果您有权访问ACM数字图书馆,则可以在acm = 1321038137_73cd62cf2b16cd73ca9070e7d5ea0744“>. m/ R8 l0 G: a+ I" N! E
http://delivery.acm.org/10.1145/1150000/1145312/上的“ Shazam音乐识别服务”中阅读这种方法的说明。
/ T! D; K* X1 _p44-wang.pdf?ip = 94.195.253.182&acc = ACTIVE%20SERVICE&CFID =
$ K7 w- ~6 ^# M53180383&CFTOKEN = 41480065& acm =
: g t. j3 r0 E1321038137_73cd62cf2b16cd73ca9070e7d5ea0744.http://www.music.mcgill.ca/~alastair/print-
3 P$ p) _2 z8 g7 k, w! F: Dsumer/inger-sumer
. Q! J4 P# S4 K0 u& L.pdf。
7 D: u8 [( ~4 @您描述的输入格式建议您可以使用http://en.wikipedia.org/wiki/Locality_sensitive_hashing中描述的随机投影方法执行某些操作。0 m4 |, ]1 ]4 c
要回答第二个问题,具体取决于位置的确切含义,您可以考虑降低数字以哈希由位或字符组成的指纹,并将其存储在文本搜索数据库中,例如Apache Lucene。 |
|