我有一个访客来来去去的应用程序。
我正在与一家数据提供商合作,该提供商为我提供有关用户的信息,例如他们的性别、年龄、位置和有关他们的个性等信息。
现在,我想针对这些用户提供适当的内容。
简而言之,我有内容和用户与他们的个性信息,我需要显示最好的内容,匹配他们的性格,个性等。
我知道,给定一个内容列表和一个用户,我将为该用户搜索最好的内容,即: A*搜索。
您将如何设计和实现这样的应用程序?
您会使用哪种(S)/data结构算法?图表?邻接表?矩阵?
发布于 2010-06-25 13:33:29
我建议使用Bayesian inference来解决这个问题。
贝叶斯分类器
正如目前所述的问题,可用的内容的唯一分类是访问过它的用户的分布和这些用户的特征。所有用户的所有用户特征维度上的联合概率分布是该内容的分类器。
那么如何使用上述信息呢?给定具有所有用户的用户访问分布B的内容A和目标用户特征简档C,可以计算后一个用户对内容A感兴趣的概率。如果对相对于用户简档C的所有内容执行此计算,则得到所有内容的兴趣概率值的列表。根据概率值对该列表进行排序,以标识针对目标用户最佳可能的内容。
在许多情况下,仅用户特征参数的子集可以是对用户的给定内容项的值的预测。这通常是贝叶斯分类器的常见情况,并导致了Bayesian networks的开发,这是关键变量及其条件依赖的结构化图形。这样的网络也可以通过贝叶斯推理方法建模。
贝叶斯网络软件
WEKA Data Mining software是一个开源的Java库,它实现了许多常用的分类方法,包括贝叶斯网络分类器,非常值得一试。我不能推荐任何特定的C#等效包,但快速的网络搜索发现至少有一个用于.NET的商业贝叶斯包,Bayes Server。
推荐阅读
围绕贝叶斯分类器有相当多的文献,它是一种非常完善的技术,用于垃圾邮件过滤、药物发现等。下面列出了两本我可以推荐的书籍。Bolstad的书是为初学者准备的,而珀尔的书则更高级。
Bolstad,William M. (2007)。“贝叶斯统计学导论”,第二版,约翰·威利。
朱迪亚·珀尔(2000)。,剑桥大学出版社。
发布于 2010-06-23 17:25:03
非常有趣的问题!
你说的是最好的内容。但你没有提到测量方法。我猜你在content下面指的是某种形式的广告,而“best”指的是最有效的,即拥有最高的CTR。
所以你有一个函数:
f(gender, age, location, personality, ..., advertisement) -> CTR每次访问你都会得到固定的性别,年龄,地点等。在固定的情况下,我的意思是:你已经有了这个访问者,你不能改变他的年龄。您有一个可以更改的参数: advertisement。您的目标是最大限度地提高CRT。
不同的广告您可以收集不同组合下的CTR的统计数据。一旦您有了最少的初始知识,您就可以尝试使用optimization theory方法,特别是nonlinear programming来为给定的advertisement找到最优的gender, age, location, etc参数。继续收集CTR统计信息,使后续决策变得越来越精确。
P.S.在TechCrunch上有一个创业展示。他们做了类似的事情,并取得了令人惊叹的结果。因此,如果你想要成功,就考虑开始自己的事业;)
https://stackoverflow.com/questions/3098864
复制相似问题