用于跟踪消费者口味偏好的系统和方法 [0001] 本申请是国家申请号为201680079731.7的发明专利申请的分案申请,该发明专利 申请的申请日为2016年11月12日,发明名称为“用于跟踪消费者口味偏好的系统和方法”。 [0002] 本申请要求2015年11月24日提交的题为“RECOMMENDATION SYSTEM(推荐系统)”的美国临时申请No. 62/259,516的权益,该申请通过引用整体地结合于本文。 背景技术 [0003] 1. 技术领域 本发明一般涉及感官项目选择,以及更具体地涉及葡萄酒选择。 [0004] 2. 相关领域的讨论 对于普通的葡萄酒消费者而言,从可得到的广泛数量和类型的葡萄酒中选择葡萄 酒通常是困难的。诸如气味和味道之类的葡萄酒感官特性对于在杂货店或其他一般零售商 处购买一瓶葡萄酒的消费者而言一般是不可获得的,而这对于确定消费者是否将更喜欢该 葡萄酒而言是必要的。此外,即使向消费者提供了诸如味道(桃、皮革、香草,等等)之类的葡萄酒特性,而如何将所列出的味道转换成实际的葡萄酒口味和偏好对于消费者而言可能不 是显而易见的。 [0005] 为了在选择葡萄酒方面协助消费者,已经开发了各种方法和系统。商店可以提供 众包式(crowd‑sourcing)技术,该众包式技术可以包括由其他消费者所做出的充当对消费者的指导的葡萄酒评论。其他系统可以使用诸如由富有经验的葡萄酒专家所做出的葡萄酒 的得分、葡萄酒产地的位置和/或葡萄酒品种之类的数据来提供葡萄酒推荐。还有其他系统可以使用来自消费者的问题应答和/或其他数据来开发针对消费者的被用来向消费者提供 推荐的简况(profile)。 [0006] 除了诸如葡萄酒品种之类的基本参数之外,先前开发的葡萄酒推荐系统和方法依 赖于(由消费者、专家和/或评论员做出的)主观意见,其可能广泛地发生变化并且导致葡萄酒推荐系统的不可靠应答。 发明内容 [0007] 本发明的若干实施例通过提供一种项目推荐系统有利地解决了上文的需求以及 其他需求,该项目推荐系统包括:数据库,其包括针对多个项目的数据,该数据包括针对至少一个基于化学的项目特征的值;计算设备,其包括处理器;至少一个推荐模块,其被配置成在处理器上运行并且被配置成实行以下步骤:接收至少一个用户偏好应答,该用户偏好 应答指示了针对多个项目的感官特性的用户偏好;将每个用户偏好应答与关联于至少一个 基于化学的特征的用户偏好值相关联;至少部分地基于将关联于至少一个基于化学的特征 的用户偏好值与针对所关联的基于化学的特征的项目值进行比较来计算针对每个项目的 关联性分数;以及至少部分地基于至少一个项目的关联性分数来推荐至少一个项目。 [0008] 在另一个实施例中,本发明可以被表征为一种项目推荐系统,其包括:数据库,其包括针对多个项目群组的数据,该数据包括针对至少一个基于化学的群组特征的值,每个 群组包括与该群组相关联的多个项目;计算设备,其包括处理器;至少一个推荐模块,其被配置成在处理器上运行并且被配置成实行以下步骤:接收至少一个用户偏好应答,该用户 偏好应答指示了针对多个项目的感官特性的用户偏好;将每个用户偏好应答与关联于至少 一个基于化学的特征的用户偏好值相关联;至少部分地基于将关联于至少一个基于化学的 特征的用户偏好值与该至少一个基于化学的群组特征进行比较来选择一个项目群组。 [0009] 在又一实施例中,本发明可以被表征为一种用于推荐项目的方法,其包括以下步 骤:由推荐系统来接收指示了针对多个项目的感官特性的用户偏好的至少一个用户偏好应 答,该推荐系统包括包含了针对多个项目的数据的数据库,该数据包括针对至少一个基于 化学的项目特征的值,该推荐系统进一步包括计算设备,该计算设备包括处理器和被配置 成在处理器上运行的至少一个推荐模块;由至少一个推荐模块将每个用户偏好应答与关联 于至少一个基于化学的特征的用户偏好值相关联;由至少一个推荐模块至少部分地基于将 关联于至少一个基于化学的特征的用户偏好值与针对所关联的基于化学的特征的项目值 进行比较来计算针对每个项目的关联性分数;以及至少部分地基于该至少一个项目的关联 性分数来推荐至少一个项目。 附图说明 [0010] 本发明的若干实施例的上述和其他方面、特征和优点将根据结合附图所呈现的本 发明的以下更特定的描述而是更显而易见的。 [0011] 图1是本发明的第一实施例中的第一推荐系统的示意图。 [0012] 图2是本发明的另一实施例中的第二推荐系统的示意图。 [0013] 图3是本发明的另一实施例中的第三推荐系统的示意图。 [0014] 图4是本发明的另一实施例中的第一学习系统的示意图。 [0015] 图5是本发明的另一实施例中的第二学习系统的示意图。 [0016] 图6是本发明的另一实施例中的第六推荐系统的示意图。 [0017] 图7是用于与推荐系统中的一个或多个一起使用的示例性计算机系统的示意图。 [0018] 图8是第一示例性网络推荐系统的示意图。 [0019] 图9是第二示例性网络推荐系统的示意图。 [0020] 图10是用于推荐系统的第一项目数据库。 [0021] 图11是用于推荐系统的第二项目数据库。 [0022] 图12是示例性项目分析系统。 [0023] 图13是化合物的分组的示图。 [0024] 图14是术语对项目映射表。 [0025] 图15是术语对群组映射表。 [0026] 图16是用于创建调查单元的流程图。 [0027] 图17是用于创建基于化学的测验问题类型的调查单元的流程图。 [0028] 图18是第一用户界面的图示。 [0029] 图19是化学特征对应答映射表。 [0030] 图20是化学特征对用户映射表。 [0031] 图21是味道对用户映射表。 [0032] 图22是用户偏好导出协议流程图。 [0033] 图23是事件对项目映射表。 [0034] 图24是事件对群组映射表。 [0035] 图25是用于部署推荐系统的过程的流程图。 [0036] 图26是用于示例性推荐过程的流程图。 [0037] 图27是用于第一基于情境的问题的第一基于情境的用户界面的图示。 [0038] 图28是用于第二基于情境的问题的第二基于情境的用户界面的图示。 [0039] 图29是用于第三基于情境的问题的第三基于情境的用户界面的图示。 [0040] 图30是用于第四基于情境的问题的第四基于情境的用户界面的图示。 [0041] 图31是术语选择用户界面的图示。 [0042] 图32是针对优惠劵生成过程的流程图。 [0043] 图33是示例性推荐用户界面的图示。 [0044] 图34是针对推荐生成过程的流程图。 [0045] 图35是化合物对用户映射表。 [0046] 图36是味道描述符的图表。 [0047] 对应的附图标记遍及附图的若干视图指示对应的部件。技术人员将理解的是,附 图中的要素是出于简明性和清晰性来图示的,并且尚未一定按比例绘制。例如,可以相对于其他要素夸大附图中的一些要素的尺寸以帮助改善本发明的各种实施例的理解。而且,通 常没有描绘在商业上可行的实施例中有用或必要的常见但充分理解的要素,以便促成本发 明的这些各种实施例的较不受妨碍的视图。 具体实施方式 [0048] 不以限制的意义来理解以下描述,而是仅仅出于描述示例性实施例的一般原理的 目的来做出以下描述。应当参考权利要求来确定本发明的范围。 [0049] 遍及本说明书对“一个实施例”、“实施例”或类似语言的引用意指将结合实施例所描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,短语“在一个实施例中”、“在实施例中”以及类似的语言的出现遍及本说明书可以(但不一定)全部指代同一实施例。 [0050] 此外,可以在一个或多个实施例中以任何适合的方式将本发明所描述的特征、结 构或特性进行组合。在以下描述中,提供了许多具体细节,诸如以下各项的示例:编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等等,以提供对本发明的实施例的透彻理解。然而,相关领域技术人员将意识到,可以在不具有具体细节中的一个或多个的情况下或者利用其他方法、部件、材料等等来实践本发明。在其他实例中,没有详细示出或描述公知的结构、材料或操作以避免使本发明的各方面晦涩难懂。 [0051] 首先参照图1,示出了本发明的第一实施例的第一推荐系统100的示意图。示出的 是处理单元102、输入/输出模块104、系统总线106、存储设备108、推荐引擎110、用户偏好‑项目特征映射模块112、用户偏好确定引擎114以及数据库访问模块116。 [0052] 处理单元102、输入/输出模块104、存储设备108、推荐引擎110、用户偏好‑项目特征映射模块112、用户偏好确定引擎114以及数据库访问模块116全部经由系统总线106交互 式地进行耦合。 [0053] 处理单元102包括至少一个计算机处理器和相关联的非临时性存储器,并且被配 置成为本文中所描述的各种软件、模块和其他计算部件提供处理。输入/输出模块104被配 置成在第一推荐系统100之外提供通信。 [0054] 存储设备108被配置成存储由一个或多个模块访问的数据。可以将全部所需要的 数据存储在内部存储设备108上,或者将数据的一部分存储在如在图8中示出的单独的数据 库上并且由第一系统100经由数据库访问模块116来进行访问。以下在图10和11中进一步详 述对于系统的操作所需要的数据。 [0055] 推荐引擎110被配置成使用所存储的数据、用户输入和/或来自其他模块的结果来 返回项目推荐。以下进一步描述推荐过程,但是总之,推荐引擎计算针对每个项目的关联性分数并且呈现所计算的分数高于预定阈值所针对的项目,或者具有最高关联性分数的预定 数量的项目。例如,对于葡萄酒项目而言,推荐引擎基于针对葡萄酒的基于化学的特征的用户偏好来针对每种葡萄酒计算关联性分数。 [0056] 项目特征是特定项目的任何有形的、可测量的属性。在本文中所公开的实施例中 所使用的特征通常是基于化学的特征(即,特定化合物在给定项目中的所测量的量)、描述性特征(例如,葡萄酒的年份、或者生产葡萄酒的地理区域)、聚集特征(例如,量化葡萄酒中“果实”存在的特征,其聚集有关若干化合物的存在的信息)、感官特征(例如,记述特定可检测芳香或口味的存在或不存在的特征)。可以在附加的实施例中使用其他项目特征类型(例如,有关一种葡萄酒已经被推荐给其他消费者的次数的信息)。 [0057] 基于化学的特征包括:从项目的化学分析得出的项目属性和/或项目的化学属性。 基于化学的特征包括在项目中所找到的化合物。例如,化学分析已经识别了在葡萄酒中所 找到的化合物。在葡萄酒中所识别的每种化合物都是基于化学的特征。在葡萄酒中所识别 的化合物的示例包括:乙酸乙酯、香茅醇、癸醛、2‑苯基乙基、二乙基硫化物,以及许多其他化合物。在由Flamini等人2003年发表的参考文献“Mass Spectrometry in Grape and Wine Chemistry”中包括了包括在葡萄酒中所识别的附加化合物的表格,并且将该表格通 过引用整体地结合于本文。 [0058] 除了项目的化合物之外,基于化学的特征包括项目的其他可识别的化学属性。可 识别的化学属性包括:酒精百分比、总酸度、残余糖分百分比、黏度、与苹果酸发酵相关联的化合物的存在以及单宁的量。 [0059] 在一个示例中,通过作为每个值之间的差的平方和的平方根而计算关联于基于化 学的特征的用户偏好值(例如,针对葡萄酒的用户偏好值包括Oak=5、TA=5、RS=5,其中Oak、TA和RS指代基于化学的特征)与项目的对应值(例如,针对特定葡萄酒的值为Oak=3、TA=7、RS=3)之间的欧几里得距离来获得关联性分数。在该示例中,针对用户和项目示例的关联性 2 2 2 分数将是√[(5‑3) +(5‑7) +(5‑3) ] = 3.4641。 [0060] 在一些实施例中,可以在计算推荐之前,将项目聚类成组(也被称为群组),其中对项目组(群组)进行选择以代替对各个项目进行选择,如下文进一步描述的那样。在其他实施例中,针对通过以下在图2中所描述的术语对群组映射模块202所选择的每个项目来计算 关联性分数。 [0061] 用户偏好‑项目特征映射模块112创建和更新针对每个唯一用户的用户偏好数据 文件1008,其包括与项目的定量的或以其他方式的可识别的基于化学的特征(诸如特定化 合物或化学属性(诸如酒精百分比)的存在)相关联的各个值。在一些实施例中,将基于化学的特征映射到诸如味道之类的描述符,以及数据文件将用户与针对每个描述符的值相关 联。以下在图36中示出了味道描述符的示例。 [0062] 用户偏好确定引擎114被配置成获得关于用户偏好的数据,该数据然后被用户偏 好‑项目特征映射模块112用来更新用户偏好数据文件1008,以包括该用户偏好数据。在一个实施例中,用户偏好确定引擎114呈现关于用户如何更喜欢食用食品和饮用饮料的问题 并且接收关于其的应答。在其他实施例中,用户偏好确定引擎114为用户呈现多个描述符来进行选择,该多个描述符然后被用来更新用户偏好数据文件1008和/或被发送到推荐引擎 110以供关联性分数的计算使用。在其他实施例中,用户偏好确定引擎114从诸如用户购买 历史之类的其他数据源获得用户偏好数据。 [0063] 数据库访问模块116连接到单独的数据库并且从单独的数据库检索数据。 [0064] 接下来参照图2,示出了本发明的另一个实施例中的第二推荐系统200的示意图。 示出的是处理单元102、输入/输出模块104、系统总线106、存储设备108、推荐引擎110、用户偏好‑项目特征映射模块112、用户偏好确定引擎114、数据库访问模块116、术语对群组映射模块202、项目筛选标准生成引擎204以及项目描述符导出引擎206。 [0065] 第二推荐系统200包括第一推荐系统100的部件以及被耦合到系统总线106的附加 元件。 [0066] 术语对群组映射模块202确定了与所选择的一个或多个描述符最佳匹配的一个或 多个群组。例如,术语对群组映射模块202关于所选择的一个或多个描述符(诸如“橡木味”或“甜的”)计算针对每个群组的关联性分数。术语对群组映射模块202然后返回关于所选择的一个或多个描述符具有最高关联性分数的一个或多个项目群组。例如,每个群组与包括 针对各种术语(描述符)的值的矢量相关联,例如,[术语1值,术语2值,术语3值,……,术语n值]。如果术语对群组映射模块202接收术语1值=1和术语3值=3的输入,则术语对群组映射 模块202返回具有术语1值等于1和术语3值也等于1的一个或多个群组。以下在图21和36中 示出了味道描述符2014的示例。 [0067] 在第二推荐系统200中,术语对群组映射模块202向推荐引擎110发送通过术语(描 述符)进行匹配的一个或多个群组,该推荐引擎110然后计算针对群组中的项目的关联性分数,如先前所描述的那样。 [0068] 项目筛选标准生成引擎204被配置成向用户呈现至少一个情境和/或筛选问题并 且接受对每个问题的应答。以下在图26‑29中示出了情境/筛选问题的示例。以下在图26中示出了使用项目筛选标准生成引擎204的过程的示例。项目筛选标准生成引擎204基于对至 少一个情境/筛选问题的应答来生成筛选标准。该筛选标准被发送到推荐引擎110。例如,所生成的筛选标准可以是“从库存中选择起泡葡萄酒或玫瑰蒸馏葡萄酒”。推荐引擎在接收到筛选标准之后,将从被筛选的葡萄酒列表中推荐葡萄酒或者在生成所推荐的葡萄酒的列表 之后来对葡萄酒进行筛选。 [0069] 项目描述符导出引擎206被配置成向用户呈现多个描述符,并且接收选择了至少 一个描述符的用户输入。描述性术语可以是名词、形容词或二者。图31中示出了由项目描述符导出引擎206呈现给用户以用于选择描述符的用户界面的示例。 [0070] 接下来参照图3,示出了本发明的另一个实施例中的第三推荐系统300的示意图。 示出的是处理单元102、输入/输出模块104、系统总线106、存储设备108、推荐引擎110、用户偏好‑项目特征映射模块112、用户偏好确定引擎114、数据库访问模块116、术语对群组映射模块202、项目筛选标准生成引擎204、项目描述符导出引擎206、优惠劵生成模块302以及 POS/商店交互模块304。 [0071] 第三推荐系统300包括第二推荐系统200的部件,以及也被耦合到系统总线106的 优惠劵生成模块302和POS/商店交互模块304的附加元件。 [0072] POS/商店交互模块304连接到用于商店的POS系统和/或连接到商店的商店库存系 统。POS/商店交互模块304被配置成从所连接的商店获得库存数据。库存数据可以被用来确定每个项目类型(例如,每个项目SKU)中有多少在商店位置处是可得到的,以便避免推荐当前在商店没有存货的项目。如果商店具有相关联的货架图(planogram),则POS/商店交互模块304可以获得该货架图并且使用该货架图来找到商店中的任何库存项目的物理位置。 POS/商店交互模块304还可以被用来直接连接到在商店的现金出纳机系统上运行的软件, 并且向现金出纳机系统传递信息,例如针对要在购买期间使用的优惠劵的信息,和/或消费者的忠诚卡号码。 [0073] 优惠劵生成模块302生成用于项目的优惠劵。以下在图32中进一步描述了优惠劵 生成过程。在一些实施例中,作为被生成为来自商店的促销的部分的替代,优惠劵可以直接来自生产商/品牌。附加地,在一些实施例中,优惠劵生成模块302可以通过将POS/商店交互模块304配置成向POS系统直接传递优惠劵信息来与POS/商店交互模块304进行直接交互。 [0074] 接下来参照图4,示出了本发明的另一个实施例中的第一学习系统400的示意图。 示出的是处理单元102、输入/输出模块104、系统总线106、存储设备108、数据库访问模块 116、项目聚类模块402以及用户偏好‑项目特征相关性学习模块404。 [0075] 第一学习系统400包括:如先前所描述那样耦合的处理单元102、输入/输出模块 104、系统总线106、存储设备108以及数据库访问模块116。第一学习系统400还包括被耦合到系统总线106的项目聚类模块402和用户偏好‑项目特征相关性学习模块404。第一学习系统400被配置成学习用户偏好与所选择的项目特征之间的相关性(映射、对应性)。下文在图 19和20中示出了由第一学习系统400所生成的映射表的示例。 [0076] 项目聚类模块402被配置成识别多个组/群组、将每个项目分配给群组以及存储关 于群组分配的数据。在一个实施例中,预先确定群组的数量,以及然后使用诸如凝聚聚类、K均值或Ward分层聚类之类的聚类算法将项目划分成预先确定的群组。在另一个实施例中, 由诸如Birch、DBSCAN或均值漂移之类的聚类算法来确定群组的数量。在其他实施例中,由人来将项目进行聚类。在一个实施例中,通过在特征空间中计算每个项目特征(即,与项目相关联的每个数据点)的平均值来确定群组的中心。将每个项目分配给欧几里得空间中最 靠近的群组。在典型的实施例中,选择和存储针对每个群组的代表性项目。可以由人或者通过使用算法来选择代表性项目。在一个实施例中,代表性项目是最靠近群组中心的项目。 [0077] 用户偏好‑项目特征相关性学习模块404被配置成使关于用户偏好的数据与一个 或多个项目特征相关,即,将用户偏好映射成项目特征。用户偏好‑项目特征相关性学习模块404接收(诸如通过用户进行测验所产生的)用户信息/数据和项目特征数据,以及产生相关性/映射数据,诸如以下在图19和20中示出的。 [0078] 接下来参照图5,示出了本发明的另一个实施例的第二学习系统500的示意图。示 出的是处理单元102、输入/输出模块104、系统总线106、存储设备108、数据库访问模块116、项目聚类模块402、用户偏好‑项目特征相关性学习模块404以及术语对群组相关性学习模 块502。 [0079] 第二学习系统500包括第一学习系统400的部件,以及也被耦合到系统总线106的 术语对群组相关性学习模块502。 [0080] 术语对群组相关性学习模块502被配置成通过学习术语与群组之间的相关性来建 立由术语对群组映射模块202后续使用的映射。在一些实施例中,学习是机器学习。术语对群组相关性学习模块502处理其中每个单个项目记录包括项目‑术语配对的数据集合。术语对群组相关性学习模块502从数据库804检索每个项目的基于化学的特征,并且计算每个基 于化学的特征与每个术语之间的关联。在一些实施例中,根据基于化学的特征‑术语关联,即使在基于化学的数据对于该项目不可用时,术语对群组相关性学习模块502仍确定了项 目‑术语关联。 [0081] 接下来参照图6,示出了本发明的另一个实施例中的第四推荐系统600的示意图。 示出的是处理单元102、输入/输出模块104、系统总线106、存储设备108、推荐引擎110、用户偏好‑项目特征映射模块112、用户偏好确定引擎114、数据库访问模块116、术语对群组映射模块202、项目筛选标准生成引擎204、项目描述符导出引擎206、优惠劵生成模块302、POS/商店交互模块304、项目聚类模块402、用户偏好‑项目特征相关性学习模块404以及术语对群组相关性学习模块502。 [0082] 处理单元102、输入/输出模块104、系统总线106、存储设备108、推荐引擎110、用户偏好‑项目特征映射模块112、用户偏好确定引擎114、数据库访问模块116、术语对群组映射模块202、项目筛选标准生成引擎204、项目描述符导出引擎206、优惠劵生成模块302、POS/商店交互模块304、项目聚类模块402、用户偏好‑项目特征相关性学习模块404以及术语对群组相关性学习模块502是如先前在图1‑5中所描述的那样。 [0083] 第四推荐系统600包括来自先前所描述的推荐/学习系统100、200、300、400和500 的部件。第四推荐系统600包括学习模块/引擎和推荐模块/引擎二者,以使得单个第四推荐系统600被配置成执行学习系统400、500的映射功能和推荐系统100、200、300的推荐功能二者。 [0084] 接下来参照图7,示出了用于与推荐系统100、200、300、400、500、600中的一个或多个推荐系统一起使用的示例性计算机系统700。示出的是处理单元102、输入/输出模块104、系统总线106、存储设备108、系统存储器702、至少一个引擎/模块704、串行端口706、键盘 708、外部接口710、显示适配器712以及监视器714。 [0085] 如先前所描述的那样,处理单元102、输入/输出模块104和存储设备108都被耦合 到系统总线106。 [0086] 系统存储器702包括非临时性存储器并且存储至少一个引擎/模块704。该至少一 个引擎模块可以包括先前所描述的引擎和/或模块中的任一项(例如,推荐引擎110)。先前所描述的引擎和模块可以被包括在任何功能组合中并且不限于图1‑6中示出的配置。经由 处理单元102来如所要求的那样运行引擎和模块。 [0087] 串行端口706被耦合到系统总线106,并且提供用于连接到附加的计算设备的接 口。键盘708被耦合到系统总线并且被配置成提供诸如对用户偏好的应答之类的用户输入。 键盘708还可以包括诸如鼠标之类的其他类型的用户输入。 [0088] 外部接口710被耦合到系统总线并且将其他设备连接到系统100、200、300、400、 500、600。在一些实施例中,外部接口710是USB端口。系统100、200、300、400、500、600可以包括多个外部接口710。 [0089] 可选的显示适配器712被耦合到系统总线106并且接收来自引擎/模块704中的至 少一个的显示输入,并且将其发送到可选的监视器714。监视器714被耦合到显示适配器 712,显示从显示适配器712接收到的显示输入。在其他实施例中,由诸如自助服务终端 (kiosk)808之类的单独设备来呈现该显示,以及并不需要显示适配器712和监视器714。 [0090] 接下来参照图8,示出了第一示例性网络推荐系统800。示出的是服务器802、数据 库804、移动电话806、商店自助服务终端808、膝上型计算机810、平板设备812、台式计算机 814、第一网络816以及第二网络818。 [0091] 服务器802和数据库804均被通信地耦合到第一网络816,以及因此彼此通信地耦 合。在一些实施例中,数据库804位于服务器802内。第一网络816被通信地耦合到第二网络 818。多个客户端计算设备:移动电话806、商店自助服务终端808、膝上型计算机810、平板设备812以及台式计算机814全都被通信地耦合到第二网络818。将理解的是,耦合到第二网络 818的计算设备意图表示各种类型的计算设备,该各种类型的计算设备可以被耦合到第二 网络818来获得推荐,以及不是所有设备都将一定被耦合到网络。 [0092] 计算设备806、808、810、812、814可以经由物理连接或无线地耦合到网络。类似地,与第一网络816的连接可以是物理的或无线的。 [0093] 服务器802容纳推荐/学习系统100、200、300、400、500和600中的一个或多个,并且接收来自客户端计算设备806、808、810、812、814的请求和其他输入。每个计算设备806、 808、810、812、814被配置成与服务器802进行通信、向用户呈现来自服务器802的信息、接收用户输入以及将用户输入往回发送给服务器802。数据库804包括至少一个项目数据库。在 典型的实施例中,数据库管理软件被安装在数据库804上,以及数据库804包括被配置成运 行数据库管理软件的处理硬件。每个项目数据库包括至少一个数据文件。以下在图10和11 中示出了被包括在数据库804中的数据文件的示例。在一些实施例中,数据库804被包括在 系统100、200、300、400、500和600中,而不是图8中示出的单独的数据库804。数据库804通常由系统100、200、300、400、500和600经由数据库访问模块116来访问。 [0094] 在第一示例性网络推荐系统800的操作的一个示例中,用户以要接收针对诸如葡 萄酒之类的项目的推荐的目的来使用商店自助服务终端808。自助服务终端808与服务器 802经由网络816、818进行通信,以向服务器802发送用户输入以及接收来自服务器802的数据。在一个示例中,用户向自助服务终端808中输入指示来发起推荐对话。发起指示被发送到服务器802。服务器802然后向自助服务终端808发送用于向用户呈现例如关于用户的饮 食偏好的一系列问题的指令。用户输入对问题的应答,以及自助服务终端808往回向服务器 802发送每个应答的指示。服务器802还可以向自助服务终端808发送用于向用户呈现情境/ 筛选问题的指令,该情境/筛选问题诸如是葡萄酒的场合、价格范围和颜色。用户输入对情境/筛选问题的应答,以及自助服务终端808往回向服务器802发送每个情境/筛选应答的指 示。 [0095] 服务器802使用响应于用户问题所接收到的指示来将由对问题的应答所指示的用 户偏好与数据库804中存储信息所针对的一个或多个项目进行分析型匹配。服务器802然后 向自助服务终端808发送所匹配的一个或多个项目,由此自助服务终端808向用户显示所匹 配的一个或多个项目。 [0096] 服务器802访问存储在数据库804中的数据以生成问题,并且向自助服务终端808 发送推荐。以下在图10和11中进一步描述存储在数据库中的数据。虽然示例中所描述的通 信是在服务器802与自助服务终端808之间,但是将理解的是,服务器802可以与客户端计算设备806、808、810、812、814中的任一项进行通信。附加地,客户端计算设备806、808、810、 812、814中的任一项可以起到用于零售商店经理的控制台系统的客户端的作用。零售商店 经理的控制台系统可以被安装在服务器802上并且发送诸如推荐系统的操作和使用之类的 信息。例如,由零售商店经理的控制台系统所发送的信息可以包括在一段时间内使用该系 统的多个用户和/或关于用户偏好和在一段时间内所推荐的项目的统计信息。在另一实施 例中,并非零售商店经理的控制台系统,而是服务器802生成了商店使用/零售报告并且向 商店经理发送该报告。 [0097] 接下来参照图9,示出了第二示例性网络推荐系统900。示出的是服务器802、数据 库804、商店自助服务终端808、第一网络816以及第二网络818。 [0098] 在简化的示例性第二网络推荐系统900中,商店自助服务终端808被通信地耦合到 服务器802和数据库804,如先前所描述的那样。 [0099] 在第二示例性网络推荐系统900中,代替如在图8中示出的可用的多个计算设备, 仅仅通过位于商店中的一个或多个商店自助服务终端808来提供与用户的交互。第二网络 推荐系统900从位于商店处的电源来接收电力。第二网络推荐系统900被连接到商店的无线 网络。每个自助服务终端808被链接到其所位于的商店的库存。 [0100] 接下来参照图10,示出了示例性推荐系统的第一实施例中的第一项目数据库 1000。示出的是数据库804、第一项目数据库1000、项目描述数据文件1002、项目特征数据文件1004、用户简况数据文件1006、用户偏好数据文件1008、项目群组数据文件1010、库存数据文件1012、术语对群组映射数据文件1014、事件对群组映射数据文件1016、项目筛选标准导出协议数据文件1018、用户偏好导出协议数据文件1020、用户特征对项目特征的映射数 据文件1022、术语数据文件1024、商店数据文件1026以及优惠码数据文件1028。 [0101] 被存储在数据库804上的示例性第一项目数据库1000包括项目描述数据文件 1002,其包括与多个项目中的每个相关联的信息。信息可以包括价格、制造商、名称,等等。 第一项目数据库1000中的每个项目与唯一的项目标识术语(诸如ID号码)相关联。 [0102] 项目特征数据文件1004包括针对多个项目的项目特征。如先前所描述的,项目特 征是诸如化合物、相关联的术语、价格、颜色等等的项目变量。用户简况数据文件1006包括与每个唯一用户相关联的数据(其中每个用户具有诸如号码之类的唯一的用户标识术语)。 针对每个用户的用户数据可以包括诸如电子邮件地址、性别和出生日期之类的信息。 [0103] 用户偏好数据文件1008包括与每个用户相关联的关于该用户的项目偏好的数据。 例如,对于第一用户而言,与第一用户相关联的用户偏好数据包括残余糖分=5、总酸度=5以及Oak=5,从而指代针对项目的第一用户的偏好与残余糖分、总酸度和Oak的那些值相匹配。 [0104] 项目群组数据文件1010存储每个项目与一个群组的关联。由唯一的群组标识术语 来识别每个群组。 [0105] 库存数据文件1012包括项目的库存,包括可用于购买的项目的类型和量。 [0106] 术语对群组映射数据文件1014包括术语/描述符与项目之间的关联。在一个实施 例中,术语对群组映射数据文件1014是具有以术语作为列标头并且以群组标识作为行标头 的表格。表格单元格中的值“1”指示术语/描述符与群组的关联,以及表格单元格中的值“0”指示术语/描述符与群组之间没有关联。在图15中示出示例性术语对群组映射表1500。在另一示例中,可以通过矢量来表达术语对群组映射,诸如群组1=[果味的,清爽的],其指示群组#1与术语“果味的”和“清爽的”相关联。在另一矢量示例中,可以利用指示群组与术语相关联的术语“1”来列出所有术语:群组#1=[果味的=1,橡木味=0,清爽的=1],其指示群组与“果味的”和“清爽的”相关联,但是不与“橡木味”相关联。 [0107] 事件对群组映射数据文件1016包括每个群组与诸如“晚餐”或“婚礼”之类的多个事件之间的关联。在一个实施例中,事件对群组映射数据文件1016是具有以事件作为列标 头并且以群组标识术语作为行标头的表格。表格单元格中的值“1”指示群组与事件的关联,以及表格单元格中的值“0”指示群组与事件之间没有关联。图24中示出了示例性事件对群组映射表2400。 [0108] 项目筛选标准导出协议数据文件1018存储被用来从用户导出筛选标准的情境/筛 选协议。例如,一个协议可以包括关于价格范围和用户想要购买项目所针对的情境(诸如一种类型的场合)的问题。 [0109] 用户偏好导出协议数据文件1020存储关于用户偏好协议的数据。例如,在一个实 施例中,用户偏好导出协议数据文件1020包括至少一个用户偏好协议,其用于向用户呈现 一系列问题,针对该一系列问题,应答导出关于项目的用户偏好。被包括在用户偏好协议中的问题的示例是图18中所呈现的基于特征的问题1802。 [0110] 用户应答对项目特征的映射数据文件1022包括对用户偏好协议的用户应答与项 目特征之间的关联。例如,在一个实施例中,用户应答对项目特征的映射数据文件1022包括对于关于饮食的问题的用户应答与特定的基于化学的特征之间的关联。对问题的每个应答 被映射到一个或多个特定特征的值。例如,在图18中所提问的问题“你希望你的茶或咖啡是怎样的 ”中,应答“黑的”被映射到低残余糖分值的项目特征。图19中示出了化学特征对应答映射表1900的示例。 [0111] 术语数据文件1024包括被用来与一个或多个项目群组相关联的术语/描述符的列 表。图30中示出了术语的示例。 [0112] 商店数据文件1026包括关于商店的信息,诸如商店标识术语、商店位置、商店名称以及商店库存。 [0113] 优惠码数据文件1028存储优惠码以及关于它们与项目和商店的关联的数据。例 如,第一优惠码与第一项目和第一商店相关联,以及优惠码数据文件1028包括以下指示:当在第一商店处购买时,仅可以向第一项目应用第一优惠码。 [0114] 接下来参照图11,示出了示例性推荐系统的第二实施例中的第二项目数据库 1100。示出的是数据库804、第二项目数据库1100、葡萄酒描述数据文件1102、葡萄酒化学特征数据文件1104、用户简况数据文件1006、用户偏好数据文件1008、葡萄酒群组数据文件 1106、库存数据文件1012、术语对葡萄酒群组映射数据文件1108、事件对葡萄酒群组映射数据文件1110、葡萄酒筛选标准导出协议数据文件1112、用户偏好导出协议数据文件1020、用户特征对葡萄酒化学特征的映射数据文件1114、术语数据文件1024、商店数据文件1026以 及优惠码数据文件1028。 [0115] 在具有类似数据文件的情况下,第二项目数据库1100被构造为类似于第一数据 库。代替一般的项目参考,第二数据库1100已经被专门配置用于作为项目的葡萄酒。每种葡萄酒与唯一的葡萄酒标识术语相关联。 [0116] 葡萄酒描述数据文件1102将每种葡萄酒与针对该葡萄酒的信息相关联,该信息诸 如是名称、年份、产区、酿酒厂、价格和品尝记录。 [0117] 葡萄酒化学特征数据文件1104包括针对葡萄酒的基于化学的特征。基于化学的特 征可以是在葡萄酒中找到的特定挥发性化合物或者诸如残余糖分百分比或酒精百分比之 类的可量化的化学属性。 [0118] 用户简况数据文件1006、用户偏好数据文件1008、商店数据文件1026以及优惠码 数据文件1028是如在图10中先前所描述的那样。 [0119] 葡萄酒群组数据文件1106存储每种葡萄酒与一个葡萄酒群组的关联。由唯一的群 组标识术语来识别每个群组。通过根据预定的标准来对葡萄酒进行分类,以及将具有类似 值的葡萄酒进行分组来确定葡萄酒群组。在典型实施例中的标准是诸如总酸度和残余糖分 之类的基于化学的特性或属性。 [0120] 库存数据文件1012记录针对每种葡萄酒的库存。 [0121] 术语对葡萄酒群组映射数据文件1108包括术语与葡萄酒之间的关联,如先前在图 10中所描述的那样。以下在图15中示出了针对葡萄酒群组的示例性术语对群组映射表 1500。 [0122] 事件对葡萄酒群组映射数据文件1110包括每个葡萄酒群组与诸如“晚餐”或“婚 礼”之类的多个事件之间的关联。在一个实施例中,事件对葡萄酒群组映射数据文件1110包括具有以事件作为列标头并且以群组标识术语作为行标头的表格。表格单元格中的值“1”指示群组与事件的关联,以及表格单元格中的值“0”指示群组与事件之间没有关联。图24中示出了示例性事件对葡萄酒群组映射表2400。 [0123] 葡萄酒筛选标准导出协议数据文件1112存储用以导出针对葡萄酒的筛选标准的 协议。例如,葡萄酒筛选标准协议包括诸如葡萄酒价格范围以及用户想要购买该葡萄酒所 针对的情境之类的问题。 [0124] 用户偏好导出协议数据文件1020存储与用于确定关于葡萄酒的用户偏好的用户 偏好协议有关的信息。例如,示例性用户偏好协议使用关于用户更喜欢如何喝他的咖啡的 问题来协助确定用户的葡萄酒偏好。 [0125] 用户应答对葡萄酒化学特征的映射数据文件1114包括对用户偏好协议的用户应 答与葡萄酒的基于化学的特征之间的关联。用户应答对葡萄酒化学特征的映射数据文件 1114在一个实施例中包括对于用户偏好协议的每个可能的用户应答与特定的葡萄酒的基 于化学的特征值的关联。例如,在图18中所提问的基于特征的问题1802中,“你希望你的茶或咖啡是怎样的 ”,应答“黑的”被映射到具有葡萄酒低残余糖分值的基于化学的特征。图 19中示出了示例性化学特征对应答映射表1900的示例。 [0126] 术语数据文件1024是被用来与多个葡萄酒或葡萄酒群组相关联的术语/描述符的 列表。图31中示出了示出葡萄酒术语/描述符的示例性术语选择用户界面3100。以下在图21和36中示出了包括附加的味道描述符2104的味道描述符图表3600。 [0127] 接下来参照图12,示出了供示例性网络推荐系统800、900使用的用于确定项目化 学特征的示例性项目分析系统1200。示出的是项目样本1202、自动取样器1204、气相色谱仪 1206、质谱仪1208、气味端口1210、气味强度计1212、数据系统1214、调节方法1216以及数据库804。 [0128] 自动取样器1204接收至少一个项目样本1202。在一些实施例中,自动取样器1204 接收要被分析的多个单独的项目。在其他实施例中,并不使用自动取样器1204,而是将项目样本1202直接放置在气相色谱仪1206中。气相色谱仪1206接收项目样本1202并且将该项目 分离成其构成化合物。将化合物发送到质谱仪1208,该质谱仪1208识别和测量该项目的化 合物和其他化学属性。 [0129] 气味端口1210是被用来访问化合物以便确认或识别与可测量化合物相关联的特 定感官特性的端口。气味强度计1212确定感官特性的值并且将该感官特性值发送到数据系 统1214。在目前的实施例中,气味强度计1212是正在进行操作的化学师。 [0130] 数据系统1214接收来自自动取样器1204(如果在项目分析系统1200中呈现)、气相色谱仪1206以及质谱仪1208的关于项目的数据。 [0131] 可选的调节方法1216是在计算设备上运行的应用,该计算设备接收来自数据系统 1214的项目数据并且被用来基于其他变量的浓度重新计算所感知的感官体验。例如,调节 方法1216可以包括:如果项目的酒精百分比大于15.5,则将项目的总酸度值减小1。调节方法1216还可以接收来自数据库804的项目数据。 [0132] 由数据系统1214来缩放和转化由数据系统1214所接收到的项目数据。数据系统 1214然后向数据库804发送由第一示例性网络推荐系统800所需要的数据。所获得的数据包 括所有可识别化合物、所识别化合物的量以及其他相关的基于化学的特征。 [0133] 将由本领域普通技术人员理解的是,可以代替图12中所公开的系统而使用用于采 集对于项目而言必要的化学数据的任何化学分析装备和/或方法。 [0134] 接下来参照图13,示出了化合物的示例性分组。示出的是化合物的数据库1300、产品X化合物的分组1302、产品Y化合物的分组1304以及产品Z化合物的分组1306。 [0135] 如在图13中图示的,化合物可以被用来对不同产品或项目进行分类和识别。化合 物数据库1300包括在项目或产品中可以被识别的化合物的身份。化合物的数据库1300可以 是通用的或者被限制为特定类型的项目,诸如酒精饮料或更具体地被限制为葡萄酒。 [0136] 产品X化合物的分组1302是包括项目产品X的化合物。产品X化合物1302中的一些 被包括在化合物的数据库1300中,如在产品X化合物1302的分组与化合物的数据库1300的 重叠中示出的。类似地,产品Y化合物的分组1304中的一些和产品Z化合物的分组1306中的 一些被包括在化合物的数据库1306中。如在图13中示出的,产品X化合物的分组1302、产品Y化合物的分组1304以及产品Z化合物的分组1306不重叠。这意为可以仅仅基于每个产品的 被包括在化合物的数据库1300中的化合物就可以对每个产品进行识别和分类。 [0137] 虽然在图13中示出的示例中,化合物1302、1304和1306的分组被示为不具有重叠,但是将理解是,在其他实例中,产品或项目可以共享化合物。 [0138] 接下来参照图14,示出了示例性的术语对项目映射表1400。示出的是多个项目标 识1402、多个术语1404以及多个术语‑项目值1406。 [0139] 术语对项目映射表1400包括多个行,其中每个行与一个项目标识1402相关联。每 个列与一个术语1404(也被称为描述符)相关联。在示例性表格1400中,术语1404是“有滋味的(Zesty)”、“柔和的”、“淡味的”、“烈性的”、“未熟的”、“醇熟的”、“清新可口的”以及“日常的”。 [0140] 针对每个单元格的术语‑项目值1406指示了术语是否与该项目相关联。在示例性 表格1400中,“1”值指示关联,以及“0”值指示没有关联。如在图14中示出的,项目1与术语“有滋味的”、“柔和的”或“烈性的”无关联,但是与“日常的”、“淡味的”、“未熟的”、“醇熟的”以及“清新可口的”相关联。 [0141] 由如上文在图5中所描述的术语对群组相关性学习模块502来确定术语‑项目值 1406。 [0142] 接下来参照图15,示出了示例性的术语对群组映射表1500。示出的是多个群组标 识1502、多个术语1404以及多个术语‑群组值1506。 [0143] 术语对群组映射表1500与术语对项目映射表1400相类似,具有以下区别:代替多 个项目标识1402,术语对群组映射表1500包括多个群组标识1502。每个群组标识指代如先 前所描述的项目的组。术语‑群组值1506识别与每个群组相关联的是哪个术语。如在图15中示出的,群组1与术语“有滋味的”、“柔和的”或“烈性的”无关联,但是与“日常的”、“淡味的”、“未熟的”、“醇熟的”以及“清新可口的”相关联。 [0144] 接下来参照图16,示出了用于创建调查单元(也被称为UOI)的流程图。示出的是创建UOI步骤1600、创建UOI应答步骤1602、选择未被选择的UOI应答步骤1604、关联项目特征步骤1606、确定影响步骤1608、未被选择的应答决策点1610以及完成UOI步骤1612。 [0145] 如先前所描述的,数据库804包括用户偏好导出协议数据文件1020,该用户偏好导 出协议数据文件1020包括被用来确定用户偏好的用户偏好协议。被包括在用户偏好导出协 议数据文件1020中的每个用户偏好协议包括至少一个调查单元。每个调查单元被定义为被 用来从人类或其他系统或者未构造的数据或已构造的数据提取信息的查询单元。在一个实 施例中,一个调查单元是多选问题。在另一实施例中,一个调查单元是一个或多个SQL语句,其作用于数据库并且返回关于用户偏好的数据(例如,包括用户的社交媒体历史或用户的 购买历史的数据)。用户偏好确定引擎114被配置成创建如在图16中所描述的调查单元。 [0146] 在第一创建UOI步骤1600中,用户偏好确定引擎114创建新的调查单元,例如第一 问题。在接下来的创建UOI应答步骤1602中,确定了对UOI的可能应答。在一个实施例中,由人来确定可能的应答(诸如对问题的多选答案)。在另一实施例中,可能应答可以是项目的价格范围或原料。 [0147] 在接下来的选择未被选择的UOI应答步骤1604中,从对UOI的可能应答列表中选择 先前未被选择的应答。该过程继续进行到关联项目特征步骤1606。 [0148] 在关联项目特征步骤1606期间,将至少一个术语、基于化学的特征或项目特质与 应答相关联。术语、基于化学的特征和特质可以包括价格、制造商、颜色、原料、化合物、化学属性、重量、用户评论评级或者可以与项目相关联的任何其他特质或属性。 [0149] 在确定影响步骤1608中,对于与应答相关联的每个术语、化学特征和/或特质而 言,针对所选择的应答来确定用户偏好值的对应值(或值上的变化)并且将其与该应答相关联。例如,如果应答与总酸度的基于化学的特征相关联,则可以将总酸度用户偏好的值增加 1。在另一示例中,应答与酒精百分比相关联,以及将针对酒精的用户偏好的值除以2。该过程然后继续进行到未被选择的应答决策点1610。 [0150] 在未被选择的应答决策点1610期间,如果存在剩余的未被选择的应答(即,不是所有应答都已经被分配术语等和值),则该过程返回到选择未被选择的UOI应答步骤1604,以及选择不同的应答并且该过程进行重复。 [0151] 如果所有应答都已经被选择并且已经被分配术语等和值,则该过程继续进行到完 成UOI步骤1612。在完成UOI步骤1612中,将包括UOI的完整UOI、所有UOI应答、与每个应答相关联的术语等以及与每个应答相关联的值保存到用户偏好导出协议数据文件1020。附加 地,将对术语/特征的每个特定应答与定量影响的关联存储在可能的用户应答对项目特征 的映射数据文件1022中。 [0152] 接下来参照图17,示出了用于创建基于化学的测验问题类型的调查单元(UOI)的 流程图。示出的是创建问题步骤1700、创建问题应答步骤1702、选择未被选择的问题应答步骤1704、关联基于化学的项目特征步骤1706、确定基于化学的影响步骤1608、未被选择的应答决策点1610以及完成问题步骤1712。 [0153] 用于创建基于化学的测验问题类型的调查单元(UOI)的流程图是图16中示出的一 种类型的一般UOI流程图。流程图指定UOI是测验问题,以及特征是基于化学的,即,涉及项目的化学属性和/或组分。 [0154] 在第一创建问题步骤1700中,用户偏好确定引擎114创建新的问题,例如第一测验 问题。在接下来的创建问题应答步骤1702中,确定了对测验问题的可能应答。 [0155] 在接下来的选择未被选择的问题应答步骤1704中,从对问题的可能应答列表中选 择先前未被选择的应答。该过程继续进行到关联基于化学的项目特征步骤1706。 [0156] 在关联基于化学的项目特征步骤1706期间,至少一个基于化学的特征1904与应答 相关联。基于化学的特征可以包括化合物、化学属性或可能与项目相关联的任何其他基于 化学的特质。基于化学的特征的示例包括酒精含量、总酸度、残余糖分水平以及在项目中所找到的任何挥发性化合物的水平。 [0157] 在确定影响步骤1708中,对于与应答相关联的每个基于化学的特征而言,针对所 选择的应答来确定基于化学的特征的对应值并且将其与该应答相关联。该过程然后继续进 行到未被选择的应答决策点1610。 [0158] 在未被选择的应答决策点1610期间,如果存在剩余的未被选择的应答(即,不是所有应答都已经被分配术语等和值),则该过程返回到选择未被选择的问题应答步骤1704,以及选择不同的应答并且该过程进行重复。 [0159] 如果所有应答都已经被选择并且已经被分配术语等和值,则该过程继续进行到完 成问题步骤1712。在完成问题步骤1712中,将包括问题的完整问题、所有问题应答、与每个应答相关联的术语等以及与每个应答相关联的值被保存到用户偏好导出协议数据文件 1020。附加地,将对基于化学的特征的每个特定应答与定量的影响的关联存储在可能的用 户应答对项目特征的映射数据文件1022中。 [0160] 接下来参照图18,示出了用于基于特征的问题1802的第一用户界面1800的示例。 示出的是基于特征的问题1802和多个基于特征的问题应答1804。 [0161] 图18中示出的是被呈现给用户来例如经由触摸屏自助服务终端提供输入的基于 特征的用户偏好协议问题的示例。基于特征的问题1802是使用在图16中所描述的过程所开 发的用户偏好协议的部分。 [0162] 示例性的基于特征的问题是“你喜欢你的茶或咖啡是怎样的 ”可用的应答选择 是“黑的”、“黑的加糖”、“加奶”、“加奶和糖”以及“我不喜欢”。当用户选择可用应答中的一个时,基于先前与应答相关联的项目特征影响来更新用户偏好,如先前在图16和17中所描 述的那样。例如,应答“黑的”将被确定来降低残余糖分值的项目特征的用户偏好值。 [0163] 接下来参照图19,示出了示例性化学特征对应答映射表1900。示出的是多个应答 标识1902、多个基于化学的特征1904以及多个特征‑应答值1906。 [0164] 基于化学的特征对应答映射表1900包括多个行,其中每个行与一个应答标识1902 相关联。每个列与一个基于化学的特征1904相关联。在示例性表格1900中,基于化学的特征 1904是表示酒精百分比的“Alc.”、表示葡萄酒的“橡木味”程度的“Oak”(可以使用基于化学的评估或者通过由人来对葡萄酒进行评估来定义“橡木味”)、表示总酸度的“TA”、表示残余糖分百分比的“RS”、表示黏度的“VS”、表示与苹果酸发酵相关联的化合物的存在的“ML”,以及表示单宁的量的“TAN”。 [0165] 针对每个单元格的特征‑应答值1906指示下述增量:基于针对特定调查单元的相 关联的应答来增加或缩减对应的用户偏好值。在示例性表格1900中,特征‑应答值1906被示为正数和负数,指示对应的用户偏好值被增加或缩减的量。例如,如果用户选择第一应答,则针对该用户的Oak值、ML值和VS值被增加1,RS值被缩减1,以及针对该用户的Alc.值、Tan值和TA值不改变。 [0166] 接下来参照图20,示出了示例性的基于化学的特征对用户映射表2000。示出的是 多个用户标识2002、多个基于化学的特征1904以及多个特征值2006。 [0167] 基于化学的特征对用户映射表2000包括多个行,其中每个行与一个用户标识2002 相关联。每个列与一个基于化学的特征1904相关联。基于化学的特征1904与在基于化学的 特征对应答映射表1900中是相同的。 [0168] 针对每个单元格的特征值2006指示针对每个化学特征的每个用户偏好的程度。在 示出的实施例中,由数值来表示特征值2006,其中较高值指示较高用户偏好以及较低值指 示较低用户偏好。 [0169] 通过执行包括至少一个调查单元的一个或多个用户偏好协议来确定特征值2006。 由用户对应答的选择将改变由化学特征对应答映射表1900所确定的特征值2006的值。例 如,如果用户从化学特征对应答映射表1900中选择第一应答,则针对该用户的Oak特征值、ML特征值和VS特征值2006被增加1,RS特征值2006被缩减1,以及针对该用户的Alc.特征值、Tan特征值和TA特征值2006不改变。 [0170] 接下来参照图21,示出了示例性的味道对用户映射表2100。示出的是多个用户标 识2002、多个味道描述符2104以及多个味道‑用户值2106。 [0171] 味道对用户映射表2100包括多个行,其中每个行与一个用户标识2002相关联。每 个列与一个味道描述符2104相关联。示例性味道描述符2104包括“蔓越莓”、“橡木”、“樱桃”、“香草”、“土味”、“黑莓”和“灯笼椒”。 [0172] 针对每个单元格的味道‑用户值2106指示针对每个味道的每个用户的偏好的程 度。在示出的实施例中,由数值来表示味道‑用户值2106,其中较高值指示较高用户偏好以及较低值指示较低用户偏好。 [0173] 通过执行包括至少一个调查单元的一个或多个用户偏好协议来确定味道‑用户值 2106。由用户对应答的选择将改变由与化学特征对应答映射表1900相似的味道对应答映射 表所确定的味道‑用户值2106的值。 [0174] 接下来参照图22,示出了用户偏好导出协议流程图。示出的是创建组步骤2200、选择UOI步骤2202、所有UOI已选择决策点2204以及记录选择顺序步骤2206。 [0175] 在第一创建组步骤2200中,创建了用户偏好协议。在接下来的选择UOI步骤2202 中,从先前存储的各个交互单元的池中选择一个UOI。例如,从先前所存储的测验问题池中选择测验问题。在一些实施例中,调查单元被加权,其中在选择UOI步骤2202期间,UOI被分配权重。该过程然后继续进行到所有UOI已选择决策点2204。 [0176] 在所有UOI已选择决策点2204中,如果UOI仍旧未被选择,则该过程返回到选择UOI 步骤2202,以及将先前未被选择的UOI添加到协议。 [0177] 如果已经选择了池中的所有UOI,则该过程前进到记录选择顺序步骤2206。在记录 选择顺序步骤2206中,UOI的选择顺序以及UOI被存储和识别为用户偏好导出协议。 [0178] 接下来参照图23,示出了示例性的事件对项目映射表2300。示出的是多个项目标 识1402、多个事件2304以及多个事件‑项目值2306。 [0179] 事件对项目映射表2300包括多个行,其中每个行与一个项目标识1402相关联。每 个列与一个事件2304相关联。在示例性的事件对项目映射表2300中,事件2304是“晚餐”、“聚会”、“午餐”和“约会”。 [0180] 针对每个单元格的事件‑项目值2306指示了项目是否与事件相关联。在示例性事 件对项目映射表2300中,“1”值指示关联,以及“0”值指示没有关联。如在图14中示出的,项目1与事件“晚餐”、“聚会”和“约会”没有关联,而是与事件“午餐”相关联。 [0181] 由术语对群组相关性学习模块502来确定事件‑项目值2306,或者可以手动地输入 事件‑项目值2306。 [0182] 接下来参照图24,示出的是示例性事件对群组映射表2400。示出的是多个群组标 识1502、多个事件2304以及多个事件‑群组值2406。 [0183] 事件对群组映射表2400与事件对项目映射表2300类似,具有的区别是:代替多个 项目标识1402,事件对群组映射表2400包括多个群组标识1502。每个群组标识1502指代如 先前所描述的项目的组。事件‑群组值2406识别与每个群组相关联的是哪个事件。如在图24中示出的,群组1与事件“晚餐”、“聚会”和“约会”没有关联,而是与事件“午餐”相关联。 [0184] 接下来参照图25,在本发明的一个实施例中示出了用于部署一个推荐系统的过程 的流程图。示出的是获得库存步骤2500、获得项目特征步骤2502、选择偏好协议步骤2504、选择情境协议步骤2506、确定POS交互步骤2508、确定硬件实施例步骤2510、确定软件实施例步骤2512以及部署软件/硬件实施例步骤2514。 [0185] 在第一获得库存步骤2500中,获得针对项目的库存数据,以及将库存数据放置在 库存数据文件1012中。可以由商店或客户端或通过对可能提供的外部库存数据的访问来提 供库存数据。在接下来的获得项目特征步骤2502中,获得针对每个项目的特征数据,并且将其放置在项目特征数据文件1004中。特征数据包括基于化学的特征,诸如某些化合物的量 和酒精百分比。该过程然后继续进行到选择偏好协议步骤2504。 [0186] 在选择偏好协议步骤2504中,从用户偏好导出协议数据文件1020中选择至少一个 用户偏好协议。 [0187] 在接下来的选择情境协议步骤2506中,从项目筛选标准导出协议数据文件1018中 选择至少一个情境和/或筛选协议。该过程然后继续进行到确定POS交互步骤2508。 [0188] 在确定POS交互步骤2508期间,确定了必要的POS交互。POS交互的示例是利用API 调用连接到POS系统。继续进行到接下来的确定硬件实施例步骤2510,确定了硬件实施例。 例如,确定了包括计算机的硬件实施例并且由组装和购买团队对其进行准备。 [0189] 在接下来的确定软件实施例步骤2512中,确定了要被用于部署的软件实施例,并 且将软件部署在硬件实施例上。例如,确定了对于系统部署而言必要的软件并且将其安装 在硬件上。 [0190] 在最终的部署软件/硬件实施例步骤2514中,将系统部署在部署地点处。例如,硬 件和软件被部署在商店处。 [0191] 接下来参照图26,在本发明的一个实施例中示出了用于示例性推荐过程的流程 图。示出的是发起过程步骤2600、用户偏好协议交互步骤2602、情境筛选协议交互步骤 2604、描述符交互步骤2606、转换用户偏好结果步骤2608、计算关联性分数步骤2610、筛选项目步骤2612、分类项目步骤2614以及呈现推荐步骤2616。 [0192] 在第一发起过程步骤2600中,发起推荐过程。通常,由接收来自用户的指示的推荐系统100、200、300、500、600的推荐引擎110来发起该过程。例如,指示可以经由移动设备上的应用(app)通过网络来发送,或者经由在商店处的自助服务终端上运行的应用来输入。 [0193] 在接下来的用户偏好协议交互步骤2602中,向用户呈现用户偏好协议,并且用户 提供对用户偏好协议所呈现的问题的应答。被包括在用户偏好协议中的问题的示例是“你 怎么喝咖啡或者茶 ”。问题通常指代诸如口味和气味之类的感官偏好。 [0194] 在接下来可选的情境筛选协议交互步骤2604中,向用户可选地呈现情境和/或筛 选协议,并且用户提供对情境/筛选协议的应答。被包括在情境/筛选协议中的问题的示例 是“你指望购买葡萄酒用于什么场合 ” 接下来的描述符交互步骤2606也是可选的。在描述符交互步骤2606期间,向用户 呈现可以被用来描述项目的不同版本的多个术语/描述符。术语可以是形容词或名词。用户选择一个或多个术语/描述符。以下在图31中示出了用于选择术语的示例性术语选择用户 界面3100。 [0195] 接下来,在转换用户偏好结果步骤2608期间,一个或多个映射表被用来将被存储 在用户偏好数据文件1008中的用户偏好转换成基于化学的表示,以及将该表示存储在用户 偏好数据文件1008中。在图19的示例性的基于化学的特征对应答映射表1900中示出了被用 来将用户偏好应答转换成基于化学的表示的映射表的示例。然后使用化学特征对应答映射 表1900的值来更新针对该用户的用户偏好数据。 [0196] 在接下来的计算关联性分数步骤2610中,基于针对每个项目的属性与针对该项目 的用户偏好数据之间的相似度来计算针对每个项目的关联性分数。关联性分数可以是针对 基于化学的属性的用户偏好值与基于化学的属性值进行比较之间的距离度量。例如,关联 性分数可以是特征空间中的矢量之间的欧几里得距离。替换地,可以基于具有给定用户偏 好值的人喜欢具有给定化学特征的项目的可能性来计算关联性分数。例如,关联性分数被 计算为有75%的机会该用户喜欢该项目,因为与该用户共享类似用户偏好的用户中的75%已 经喜欢了同样的葡萄酒。此外,可以使用关联性分数计算方法的任何组合。例如,距离度量可以是欧几里得距离,以及可以基于贝叶斯定理来计算可能性。例如,通过将针对某些化合物的用户偏好(诸如示例性用户偏好Oak=5、TA=5以及RS=5)与葡萄酒项目的特征(诸如示例 2 2 2 性葡萄酒项目Oak=3、TA=7、RS=3)之间欧几里得距离计算为[(5‑3) +(5‑7) +(5‑3)]的平方根来计算关联性分数。 [0197] 在接下来的可选筛选项目步骤2612期间,如果在情境筛选协议交互步骤2604和/ 或描述符交互步骤2606中提供了应答,则基于所接收到的应答来将项目从列表滤除。 [0198] 在接下来的分类项目步骤2614中,通过关联性分数来对项目(或剩余的项目)进行分类。例如,以关联性分数的降序对项目进行分类。 [0199] 在最终的呈现推荐步骤2616中,推荐引擎110从项目列表的顶部选择预定数量的 项目(即,与输入标准最紧密匹配的项目)。关于所选择的项目的信息被呈现给用户。例如,对于葡萄酒项目而言,将具有最高三个关联性分数的葡萄酒作为所推荐的葡萄酒呈现给用 户。 [0200] 再次参照图26,针对在任何时候具有可以被映射到用户输入的基于化学的特征的 项目示出了本发明的一个实施例中的示例性推荐过程。在示例性推荐过程的一个实施例 中,项目是葡萄酒。针对葡萄酒的推荐过程包括具体地目标朝向下述各项的协议:针对葡萄酒的感官偏好、葡萄酒将被用于其中的情境、葡萄酒描述符偏好以及针对葡萄酒的筛选(诸如颜色或价格)。 [0201] 接下来参照图27,示出了针对基于情境的问题2702的第一基于情境的用户界面 2700的示例。示出的是第一基于情境的问题2702和多个第一基于情境的问题应答2704。 [0202] 图27中示出的是被呈现给用户以例如经由触摸屏自助服务终端来提供输入的基 于情境的用户偏好协议问题的示例。第一基于情境的问题2702是项目筛选标准导出协议的 部分,该项目筛选标准导出协议被保存在项目筛选标准导出协议数据文件1018中并且是使 用与图16中所描述的过程类似的过程来开发的。 [0203] 示例性的第一基于情境的问题2702是“你指望购买葡萄酒用于什么场合 ”可用 的应答2704是“晚餐”、“午餐”、“聚会”、“约会”和“没有特殊场合”。当用户选择可用应答 2704中的一个时,使用诸如示例性事件对项目映射表2300之类的事件对项目映射表或者诸 如示例性事件对群组映射表2400之类的事件对群组映射表来选择项目。例如,如果用户选 择应答“聚会”并且使用了事件对项目映射表2300,则仅项目2匹配“聚会”情境,因此仅项目 2将被包括在推荐中。 [0204] 接下来参照图28,示出了针对第二基于情境的问题2802的第二基于情境的用户界 面2800的示例。示出的是第二基于情境的问题2802和多个第二基于情境的问题应答2804。 [0205] 图28中示出的是被呈现给用户以例如经由触摸屏自助服务终端来提供输入的基 于情境的用户偏好协议问题的另一个示例。第二基于情境的问题2802是项目筛选标准导出 协议的部分,该项目筛选标准导出协议被保存在项目筛选标准导出协议数据文件1018中并 且是使用与图16中所描述的过程类似的过程来开发的。 [0206] 示例性第二基于情境的问题2802是“你将推荐哪一种或多种葡萄酒颜色 选择一 个或多个。”可用的第二基于情境的问题应答2804是“白葡萄酒”、“红葡萄酒”、“玫瑰葡萄酒”和“任何葡萄酒”。在第二基于情境的用户界面2800中,用户被允许选择多于一个选项。 当用户选择可用的第二基于情境的问题应答2804中的一个或多个时,根据所选择的应答来 对项目进行筛选。例如,如果用户选择应答“红葡萄酒”和“玫瑰葡萄酒”,则将对葡萄酒进行筛选以仅包括匹配红葡萄酒标准和玫瑰葡萄酒标准的葡萄酒。 [0207] 接下来参照图29,示出了针对第三基于情境的问题2902的第三基于情境的用户界 面2900的示例。示出的是第三基于情境的问题2902和应答滑块2904。 [0208] 在图29中示出的是被呈现给用户以例如经由触摸屏自助服务终端来提供输入的 基于情境的用户偏好协议问题的另一个示例。第三基于情境的问题2902是项目筛选标准导 出协议的部分,该项目筛选标准导出协议被保存在项目筛选标准导出协议数据文件1018中 并且是使用与图16中所描述的过程类似的过程来开发的。 [0209] 示例性第三基于情境的问题2902是“你在寻找什么价格范围 ”使用户能够通过 沿着用以指示下价格边界和上价格边界的从“$1”到“$50+”的价格范围移动两个滑块来提供应答。在示例性的第三基于情境的用户界面2900中,用户已经选择了$5的下边界和$50+ 的上边界。然后对项目(在该示例中是葡萄酒)进行筛选以排除具有在所述边界外的价格值的项目。 [0210] 接下来参照图30,示出了针对第四基于情境的问题3002的第四基于情境的用户界 面3000的示例。示出的是第四基于情境的问题3002和多个第四基于情境的问题应答3004。 [0211] 图30中示出的是被呈现给用户以例如经由触摸屏自助服务终端来提供输入的基 于情境的用户偏好协议问题的另一个示例。第四基于情境的问题3002是项目筛选标准导出 协议的部分,该项目筛选标准导出协议被保存在项目筛选标准导出协议数据文件1018中并 且是使用与图16中所描述的过程类似的过程来开发的。 [0212] 示例性第四基于情境的问题3002是“你希望选项包括起泡葡萄酒和/或餐后甜酒 吗 选择一个或多个。”可用的第四问题应答是“起泡葡萄酒”和“餐后甜酒”。当用户选择可用的第四基于情境的问题应答3004中的一个或多个时,根据所选择的应答来对项目进行筛 选。例如,如果用户选择应答“起泡葡萄酒”而非“餐后甜酒”,则将被标识为起泡葡萄酒的项目包括在内,而将被标识为餐后甜酒的项目滤除。 [0213] 接下来参照图31,在本发明的一个实施例中示出了术语选择用户界面3100。示出 的是术语选择用户界面3100、术语选择问题3102和多个术语3104。 [0214] 术语选择用户界面3100被用于用户来选择被用于对项目进行筛选的一个或多个 术语(也被称为描述符)。在示例性术语选择用户界面3100中,术语被用来对葡萄酒进行筛选。使用术语对项目映射表(例如,如在图14中示出的术语对项目映射表1400)将每个术语映射到项目,或者使用术语对群组映射表(例如,如在图15中示出的术语对群组映射表 1500)将每个术语映射到群组。推荐引擎110然后可以包括匹配术语中的一个或多个术语的项目,或者基于所选择的术语中有多少术语与项目相匹配来增加关联性分数。 [0215] 接下来参照图32,在本发明的一个实施例中示出了用于优惠劵生成过程的流程 图。示出的是优惠劵查询步骤3200、优惠劵存在决策点3202、用户认证决策步骤3204、从数据库获得电子邮件地址步骤3206、生成条形码步骤3208、发送条形码步骤3210、结束步骤 3212以及获得电子邮件地址步骤3214。 [0216] 在第一优惠劵查询步骤3200中,优惠劵生成模块302针对用于第一项目的优惠码 来查询存储在数据库804中的优惠码数据文件1028。该过程然后继续进行到优惠劵存在决 策点3202。 [0217] 在优惠劵存在决策点3202中,如果针对第一项目找到了优惠码,则该过程继续进 行到用户认证决策步骤3204。如果针对第一项目没有找到优惠码,则该过程继续进行到结 束步骤3212并且该过程结束。 [0218] 在用户认证决策步骤3204中,优惠劵生成模块302检查用户是否是被认证的。如果 用户已经被包括在数据库804中,则用户是被认证的。如果用户是被认证的,则该过程继续进行到从数据库获得电子邮件地址步骤3206,以及优惠劵生成模块302从被存储在用户简 况数据文件1006中的用户简况检索用户电子邮件。该过程然后继续进行到生成条形码步骤 3208。 [0219] 如果用户不是被认证的,则该过程继续进行到获得电子邮件地址步骤3214,以及 优惠劵生成模块302提示用户输入有效的电子邮件地址并且接收该电子邮件地址。该过程 然后继续进行到生成条形码步骤3208。 [0220] 在生成条形码步骤3208期间,优惠劵生成模块302生成与所找到的优惠码相对应 的条形码。该过程然后继续进行到接下来的发送条形码步骤3210。 [0221] 在发送条形码步骤3210中,优惠劵生成模块302向电子邮件地址发送包括所生成 的条形码的电子邮件。该过程然后在结束步骤3121中结束。 [0222] 接下来参照图33,在本发明的一个实施例中示出了示例性推荐用户界面3300。示 出的是所推荐的项目图形3302、所推荐的项目标签3304、电子邮件发送优惠劵按钮3306、电子邮件输入框以及优惠劵条形码3310。 [0223] 在图32的推荐用户接口3300中示出的是在图25的推荐过程已经被完成并且项目 已经被筛选和排序之后向用户呈现的用户界面。在图33的示例中,所推荐的项目是葡萄酒。 在推荐用户界面3300中,识别了至少一个所推荐的项目。在图33的示例中,指示了第一个 (即,最为推荐的)葡萄酒。识别针对最为推荐的葡萄酒的信息包括所推荐的项目图形3302,其包括葡萄酒标签的图形,以及列表上的葡萄酒的位置的顺序指示(在该示例中是第一个)以及葡萄酒的匹配百分比(在该示例中是100%)。识别信息还包括所推荐的项目标签3304,其在本示例中包括所推荐的葡萄酒的名称、年份和当前价格。将理解的是,虽然在示例性推荐用户界面3300中示出了单个葡萄酒,但是例如在表格中可以同时示出多个项目。 [0224] 示例性推荐用户界面3300还包括电子邮件发送优惠劵按钮3306、电子邮件输入框 3308以及优惠劵条形码3310。如先前在图31中所描述的,优惠劵生成模块302确定优惠码是否是可用的。在图33的示例中,已经针对项目找到了优惠码并且显示了优惠劵条形码3310。 在图33的示例中,用户电子邮件地址是不可用的,所以电子邮件输入框3308被用于用户输 入他的电子邮件地址。用户然后按下电子邮件发送优惠劵按钮3306,这使优惠劵生成模块 302将优惠劵条形码3310发送到由用户输入的电子邮件地址。 [0225] 接下来参照图34,在本发明的另一个实施例中示出了用于推荐生成过程的流程 图。示出的是询问偏好协议问题步骤3400、未询问偏好问题决策点3402、询问情境/筛选问题步骤3404、未询问情境/筛选问题决策点3406、选择描述符步骤3408、计算推荐步骤3410以及呈现推荐步骤3412。 [0226] 在图34中示出的是用于示例性推荐过程的流程图。用户可以使用下述各项来与该 过程进行对接:具有屏幕并且被配置用于用户输入的自助服务终端808、或者计算设备应 用、或者用于征求和接收用户输入以及通过网络与所需要的引擎和/或模块进行通信的其 他适合的设备。 [0227] 在第一询问偏好协议问题步骤3400中,用户偏好确定引擎114使用从用户偏好导 出协议数据文件1020中选择的用户偏好协议来向用户呈现来自所选择的协议的未询问问 题。用户输入应答,该应答被存储在用户偏好数据文件1008中。在图18中示出了在询问偏好协议问题步骤3400期间的用户界面的示例。该过程然后继续进行到接下来的未询问偏好问 题决策点3402。 [0228] 在未询问偏好问题决策点3402中,用户偏好确定引擎114确定是否存在剩余的未 询问用户偏好协议问题。如果存在剩余的未询问用户偏好协议问题,则该过程返回到询问 偏好协议问题步骤3400并且向用户呈现另一个问题。 [0229] 如果全部用户偏好协议问题都已经被询问,则该过程继续进行到询问情境/筛选 问题步骤3404。 [0230] 在询问情境/筛选问题步骤3404中,项目筛选标准生成引擎204使用从项目筛选标 准导出协议数据文件1018中选择的情境/筛选协议来向用户呈现来自所选择的情境/筛选 协议的未询问问题。用户输入应答,该应答被存储在用户偏好数据库1008中。在图26‑29中示出了在询问情境/筛选问题步骤3404期间的用户界面的示例。该过程然后继续进行到接 下来的未询问情境/筛选问题决策点3406。 [0231] 在未询问情境/筛选问题决策点3406中,项目筛选标准生成引擎204确定是否存在 剩余的未询问情境/筛选协议问题。如果存在剩余的未询问情境/筛选协议问题,则该过程 返回到询问情境/筛选问题步骤3404并且向用户呈现另一个问题。 [0232] 如果全部情境/筛选协议问题都已经被询问,则该过程继续进行到选择描述符步 骤3408。 [0233] 在选择描述符步骤3408期间,项目描述符导出引擎206向用户呈现多个描述符(术 语)。用户选择一个或多个描述符。在图30中示出了在选择描述符步骤3408期间的用户界面的示例。该过程然后继续进行到计算推荐步骤3410。 [0234] 在计算推荐步骤3410期间,推荐系统100、200、300、600基于先前步骤的用户应答来计算项目推荐。用户偏好‑项目特征映射模块1022使用诸如先前所描述的用户应答对项 目特征的映射数据文件1022之类的数据来将应答映射到针对基于化学的特征的值。在一个 实施例中,针对推荐来选择项目群组。使用术语对群组映射模块202来选择所选择的项目群组,该术语对群组映射模块202选择与在选择描述符步骤3408中由用户所选择的描述符最 佳匹配的项目群组。可以在选择项目群组之后通过推荐引擎110来完成筛选。推荐引擎110 对属于所选择的群组的项目进行检索。推荐引擎110还基于对情境/筛选协议的用户应答来 对项目进行筛选。在一些实施例中,对库存数据文件1012进行检查并且仅包括当前有存货 的项目。然后推荐引擎110计算针对每个剩余项目的关联性分数,如先前所描述的那样。该过程然后继续进行到呈现推荐步骤3412。 [0235] 在最终的呈现推荐步骤3412中,推荐引擎110经由用户界面向用户呈现推荐。推荐 引擎110从列表的顶部选择预定数量的项目(即,具有最高关联性分数的项目)。还可以示出优惠码(诸如示例性优惠码3310)。在图32中示出了在呈现推荐步骤3412期间的示例性用户界面。 [0236] 接下来参照图35,在本发明的另一个实施例中示出了化合物对用户映射表3500。 示出的是多个用户标识2002、多个化合物3504以及多个化合物值3506。 [0237] 化合物对用户映射表3500包括多个行,其中每个行与一个用户标识2002相关联。 每个列与一种化合物3504相关联。化合物3504是在项目中所找到的化合物和/或化合物的 组。 [0238] 针对每个单元格的化合物值3506指示针对每个化合物或化合物的组的每个用户 偏好的程度。在示出的实施例中,由数值来表示化合物值3506,其中较高值指示较高的用户偏好以及较低值指示较低用户偏好。 [0239] 通过执行包括至少一个调查单元的一个或多个用户偏好协议来确定化合物值 3506。由用户对应答的选择将改变由相关联的映射表所确定的化合物值3506的值。 [0240] 接下来参照图36,示出了包括多个味道描述符2104的味道描述符图表3600。如先 前所描述的,描述符被用来将针对用户的主观方法进行联系以描述具有定量项目属性的偏 爱项目。示出的多个味道描述符涉及诸如口味和气味之类的感官输入。将理解的是,在味道描述符图表3600中示出的味道描述符2104不是详尽的列表,以及附加的味道描述符可以被 包括在如本文中所描述的发明中。 [0241] 在本说明书中所描述的功能单元中的许多已经被标注为模块,以便于更特别地强 调它们的实现方式独立性。例如,模块可以被实现为包括定制VLSI电路或门阵列的硬件电 路、诸如逻辑芯片之类的现成半导体、晶体管或其他离散部件。模块还可以被实现在可编程硬件设备中,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件,等等。 [0242] 模块还可以用软件来实现,以用于由各种类型的处理器来执行。具有可执行代码 的所标识的模块可以例如包括计算机指令的一个或多个物理块或逻辑快,其可以例如被组 织为对象、过程或功能。然而,不需要将所标识的模块的可执行文件(executables)物理地定位在一起,而是可以该可执行文件包括被存储在不同位置中的相异指令,该指令当在逻 辑上结合在一起时包括该模块并且实现针对该模块所陈述的目的。 [0243] 的确,具有可执行代码的模块可以是单个指令,或者许多指令,并且甚至可以在不同程序当中以及跨越若干存储器设备而被分布在若干不同的代码段上。类似地,在本文中 可操作数据可以被标识和图示在模块内,并且可以以任何合适的形式来体现以及被组织在 任何适合类型的数据结构中。操作数据可以被收集为单个数据集,或者可以被分布在不同 位置上(包括分布在不同存储设备上),以及可以仅仅(至少部分地)作为系统或网络上的电子信号而存在。 [0244] 虽然已经借助于具体实施例、示例及其应用描述了本文中所公开的发明,但是可 以在不偏离权利要求中所阐述的发明的范围的情况下,由本领域技术人员对其做出许多修 改和变化。