我有一个访客来来去去的应用程序.
我正在与数据提供商合作,该数据提供商向我提供有关用户的信息,例如他们的性别,年龄,位置以及有关其个性的信息等.
现在,我想以适当的内容定位这些用户.
总之,我有内容和用户的个性信息,我需要展示与他们的性格,个性等相匹配的最佳内容.
我知道,给定内容列表和用户,我将为用户搜索最佳内容,即:A *搜索.
您将如何设计和实施此类应用程序?
您将使用哪种算法/数据结构?图表?邻接清单?矩阵?
最佳答案 我建议使用
Bayesian inference来解决这个问题.
贝叶斯分类器
由于目前存在问题,所以可用内容的唯一分类是访问它的用户的分布以及这些用户的特征.所有用户的所有用户特征维度的联合概率分布是该内容的分类器.
那么如何使用上述信息呢?给定具有针对所有用户的用户访问分布B的内容A和目标用户特征简档C,可以计算后者用户对内容A感兴趣的概率.如果针对所有内容相对于用户简档C执行该计算,则获取所有内容的兴趣概率值列表.按概率值对该列表进行排序,以识别目标用户的最佳可能内容.
在许多情况下,仅用户特征参数的子集可以预测给定用户的给定内容项的值.这是贝叶斯分类器的一般情况,并导致了Bayesian networks的发展,它是关键变量及其条件依赖关系的结构图.这种网络也可以通过贝叶斯推理方法建模.
贝叶斯网络软件
WEKA Data Mining software是一个开源Java库,它实现了许多常见的分类方法,包括贝叶斯网络分类器,值得尝试.我不推荐任何特定的C#等效包,但快速网络搜索至少确定了一个用于.NET的商业贝叶斯软件包,Bayes Server.
推荐阅读
有大量关于贝叶斯分类器的文献,它是一种非常合理的技术,可用于垃圾邮件过滤,药物发现等.下面列出了我可以推荐的两本书. Bolstad的书适合初学者,而Pearl的书更先进.
Bolstad,William M.(2007).贝叶斯统计学简介,第二版,John Wiley.
朱迪亚珍珠(2000). Causality: Models, Reasoning, and Inference,剑桥大学出版社.