好了各位。最后,在堆栈溢出社区的帮助下,我收集了20个销售网站产品页面的商业产品,具有以下功能
Product URL
Product Price
Product Name
Product Category
Product Page Title
Product Page Description
Product Page Keywords现在,通过使用这些产品的特性,我必须对它们进行分类。分类是什么意思?让我解释一下。
现在,你可以想象,每个网站都以自己的方式列出产品。没有格式。因此,假设iphone 4以20种不同的方式在20个不同的网站上销售。所以我需要实现的是将这20个iphone页面分组在20个不同的网站上。所以当人们用iphone 4单词查询我的网站时,我会显示出20个结果。基本上,在500.000多个产品urls中,我需要对每个产品进行分组。因此,假设有15个gefore gtx 570卡在这500千个urls中,所以我需要将它们归类为同一个产品。你可以想象它是谷歌的产品。但我是在我自己的国家,也就是土耳其,谷歌没有土耳其的产品搜索。
简单地说,使用上面的特征,你会建议什么算法。如果可能的话,我不想使用任何训练技巧。一切都自动化了。
我使用的是C# 4.0 WPF,数据存储在MSSQL 2008 R2数据库中。
发布于 2012-02-09 23:09:12
您不需要将各个字段中的单词反向索引到页面上吗?作为一个简单的例子,将每个Product (例如,按空格)分解并标准化每个关键字(比如小写,抛出标点符号),然后将其映射到产品的URL或记录。然后搜索"iphone“就能让你接近正确的结果。您甚至有一个产品页关键字字段。
然后,产品分组就是搜索关键字的组合,比如"iphone“。
当然,要完善这样一个系统是非常复杂的,但基本的逻辑似乎适用于这里。例如,您对土耳其术语的标记可能需要特殊处理。
发布于 2012-02-23 21:48:49
我会意识到作为装饰器的特性来自于Decorator模式。每个人都可以封住另一个装潢师。所以,每个真实的对象都会有特性: FirstObject,FirstObject.envelopes,FirstObject.envelopes.envelopes,.一直到最后。你将不得不做一个功能,为任何装饰者显示所有内在的。以及从你的数据库中产生的"MATRYOSHKA“的功能。
任何装饰师都有其特定的领域:
另一个变体--每个对象都是这样的特性的列表,只有独立的特性。但那就是,IMHO,对于您的任务来说,过于动态的构造,而且更难控制。
这是最原始的模型。
至于更详细的内容,您应该考虑到特性名称的同义词。这意味着,可能的功能值列表将更改为列表列表。
下一步-一些特性可以作为一个字符串单独存在或组合在一起。例如,GeForce或590或GeForce 590。要实现这一点,您应该使用从属性,而不是装饰。
还有一个步骤--你应该考虑用数字表示的特性(价格,日期)。它独立于前两个步骤。而不是列出可能的值,装饰者将有一系列可能的值。搜索模式将被更改,以使范围设置成为可能。
下一个独立的步骤-按特征排序。在可能的值列表中,您拥有按包含排序的所有功能,并按顺序排序所有值。这是自然秩序。但你可以改变命令。
所以,你应该做的两个权力工具:搜索用户界面和订购用户界面。IMHO,尽量不要按代码对这些对象进行搜索或排序,而是使用SQL。对象只应表示它们,用于输入和输出以及设置搜索/排序UI定义。
当然,可以进一步阐述,但更好的办法是逐步实现这一任务。
https://softwareengineering.stackexchange.com/questions/134292
复制相似问题