杂:向量空间与推荐系统
我们经常会有这样的需求:向用户推荐相似的商品,向用户推荐相似的歌曲或者向用户推荐用户购买商品后相互配合的商品。常规做法是通过维护一个关系表,将各个项目之间的关系存储起来,在用户进行某项操作之后推荐给他。
我们经常会有这样的需求:向用户推荐相似的商品,向用户推荐相似的歌曲或者向用户推荐用户购买商品后相互配合的商品。常规做法是通过维护一个关系表,将各个项目之间的关系存储起来,在用户进行某项操作之后推荐给他。
我们经常有这样的需求:用户发送的消息是不是垃圾信息,某张图片是不是猫、狗等等。对于文本我们可以通过字符串匹配4:AC自动机 敏感词判断,使用杂:位图与布隆过滤器 布隆过滤器来检查。但是对于图片,我们通常需要训练一个分类模型来检测该图片是否是敏感图片。
我们经常有这样的需求:判断一个订单是否存在,判断一个URL路径是否访问过。常规情况下我们可以将存在的订单ID或者已经访问过的URL做成集合,然后通过判断是否在集合中来确认是否存在或者是否访问过。那么我们也同样的可以想到通过hash算法将已存在的订单ID或者已经访问过的URL做映射到一个array的index上,通过检查对于index的值是否为true来判断是否存在。
索引是用来加速查找的数据结构。不同的需求会使用不同的数据结构来构建索引。比如HashMap、Btree、SkipList都是经典的索引数据结构。
递归的思想是将大问题分解成小问题处理,大问题的处理逻辑与小问题的处理逻辑一致。其分解过程可以被表示成一棵树结构,这棵树被称为递归树。