V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LeCent
V2EX  ›  程序员

有没有什么算法能讓系统推荐冷门的东西?

  •  
  •   LeCent · 2017-12-01 09:00:18 +08:00 · 4297 次点击
    这是一个创建于 2544 天前的主题,其中的信息可能已经有所发展或是发生改变。
    33 条回复    2017-12-01 16:45:36 +08:00
    murmur
        1
    murmur  
       2017-12-01 09:03:25 +08:00
    总感觉这样做会出问题
    冷门的东西可以通过分类解决 如果冷门里在冷门那不是质量不行的东西么
    LeCent
        2
    LeCent  
    OP
       2017-12-01 09:11:32 +08:00
    @murmur 如何分类?冷门不一定代表质量低。比如冷门佳片
    php01
        3
    php01  
       2017-12-01 09:13:11 +08:00   ❤️ 1
    <?php

    $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $i = rand(2,4);
    $wd = substr(str_shuffle($str),0,$i);
    $url = 'https://www.baidu.com/s?wd='.$wd;
    $res = file_get_contents($url);
    print_r($res);
    这玩意十个有至少有五个个是冷门东西
    silencefent
        4
    silencefent  
       2017-12-01 09:13:24 +08:00
    digg
    php01
        5
    php01  
       2017-12-01 09:15:35 +08:00
    在程序中,不能带有主观的个人意识,你的问题要分三步走,首先我们先要定义什么是冷门,或许这个对你来说是冷门,但对别人来说每天接触且很早就接触了。第二找到你自己定义的冷门。第三推荐你定义的冷门。
    如果是我,我会先选定目标群体。
    UnknownR
        6
    UnknownR  
       2017-12-01 09:43:16 +08:00
    主要的问题是冷门的定义
    Sornets
        7
    Sornets  
       2017-12-01 09:45:32 +08:00
    关键是让程序分辨冷门与劣质
    crz
        8
    crz  
       2017-12-01 09:46:06 +08:00
    现有的算法倒过来
    SuperMild
        9
    SuperMild  
       2017-12-01 09:49:35 +08:00 via iPhone
    和推荐热门的算法一毛一样,比如把点击率大于 N 改成点击率小于 M 即可。
    skadi
        10
    skadi  
       2017-12-01 10:00:09 +08:00
    @SuperMild 这样很容易出现低质量内容吧。

    po 应该说的是 很少一部分人喜欢的质量内容,拿来推荐给大多数人。

    我觉得细分人群,把优秀人群的点击内容拿来推荐给大多数人,这样怎么样?
    mpich
        11
    mpich  
       2017-12-01 10:00:21 +08:00
    你想要的应该是冷门&高质量的吧…这个不容易的
    LeCent
        12
    LeCent  
    OP
       2017-12-01 10:12:02 +08:00
    @skadi 怎么判断优秀人群呢?
    crayygy
        13
    crayygy  
       2017-12-01 10:12:49 +08:00
    n < 人数 < m,偏好率 > p

    比如,至少一百个人看过这部电影,不超过 1k 人,但是评分 9.5 分以上( 10 分制)
    skadi
        14
    skadi  
       2017-12-01 10:19:12 +08:00
    @LeCent 需要其他系统配合了,比如高关注度,高产出,被点赞比例高等等。
    SuperMild
        15
    SuperMild  
       2017-12-01 10:20:59 +08:00 via iPhone
    首先要有一个数据库,有数据,每条数据有若干属性,比如点击率、评论量、打分率、平均分……等等,然后才能基于这些属性讨论算法啊
    rock_cloud
        16
    rock_cloud  
       2017-12-01 10:23:55 +08:00
    explore and exploit
    SuperMild
        17
    SuperMild  
       2017-12-01 10:27:31 +08:00 via iPhone
    冷门,和冷门优秀不一样。优秀的通常都热门,优秀又冷门的通常曲高和寡推荐了别人也欣赏不了。可以从获奖情况平判断优秀。比如有些影片,看的人评论的人不多,但获过奖,那就是冷门优秀。
    shadowwalker2644
        18
    shadowwalker2644  
       2017-12-01 10:27:40 +08:00 via Android
    首先你说的佳片是由一堆人点赞好评的数据得到的,而冷门又要很少人看过。难不成你想找到只有一个人给五星好评,其他人看都没看过的内容。那怎么说明是好内容?除非有一个人工智能看过内容之后给一个绝对完美的评分来定义好内容坏内容,不然。。。
    quake0day
        19
    quake0day  
       2017-12-01 10:27:52 +08:00
    可以读下这篇论文: https://link.springer.com/chapter/10.1007/978-3-642-25832-9_15

    作者提出来了一种叫做 Progressive Reflective Indexing (PRI)的方法。
    allen0125
        20
    allen0125  
       2017-12-01 10:30:10 +08:00
    赞同 @SuperMild 说的,如果要找冷门的优秀资源就应该从一些不长注意的维度来找特征
    SuperMild
        21
    SuperMild  
       2017-12-01 10:35:12 +08:00
    也可以这样,设定最低有效评分人数(假设大于等于 100 人评分才有效),设定冷门评分人数(假设小于 200 人评分就是冷门),设定高分率占比优秀参数(假设四星五星占超过 50%的就是优秀)……这样,冷门优秀影片就确定了。
    tf141
        22
    tf141  
       2017-12-01 10:35:27 +08:00
    冷门还要高质那现在只有靠人工推荐了
    RingoCat
        23
    RingoCat  
       2017-12-01 10:39:15 +08:00
    自荐博客一篇:[Amazon 推荐系统 20 年]( http://ringo.pub/2017/07/02/amazonRS/)
    其中提到在数据不足的情况下基于内容的算法(推荐用户以前喜欢的热门物品的同类冷门物品)、基于行为的算法,希望能帮到你。
    murmur
        24
    murmur  
       2017-12-01 10:46:08 +08:00
    @LeCent 这种东西首先要录入数据库的 如果冷到连内容运维人员都不知道怎么办
    还得人工干预
    cszhiyue
        25
    cszhiyue  
       2017-12-01 10:49:49 +08:00
    有几种途径:
    - 基于内容的推荐算法,通过计算物品之间的相似度(文本,视频,音频)。来进行推荐算法
    - 区分冷门和热门物品,进行分层推荐,也就是冷门推荐占据一定的比例。
    gamexg
        26
    gamexg  
       2017-12-01 11:02:31 +08:00 via Android

    点击率小于一定值表示冷门,
    好评率大于一定程度表示东西好。

    然后目标达成。
    huntererer
        27
    huntererer  
       2017-12-01 11:34:08 +08:00   ❤️ 1
    我觉得楼主问的是推荐系统发掘长尾内容的能力,一般可以用覆盖率和新颖性作为评测指标
    staticor
        28
    staticor  
       2017-12-01 11:38:13 +08:00
    衡量一下自己的目标是什么, 比如保证用户点击率最低这种, 才好确定自己的模型方向


    最容易想的是依照的 TOP-N 推荐, 取一个反向的 TAIL-N
    DongDongXie
        29
    DongDongXie  
       2017-12-01 12:33:22 +08:00
    我猜题主所说的冷门指的是长尾物品,这种简单的可以使用 content-based 方法进行推荐啊,还可以考虑社交关系啊,给用户推荐的时候也不是说越热门越好,得看他的个人偏好,不是每个人都喜欢流行度高的东西,这种流行度策略是解决冷启动的一种比较无奈的手段,因为没用户信息啊,所以只能认为推荐热门的东西应该问题不大。推荐系统现在都不只关注精确率和召回率了,还有啥惊喜度啊、覆盖率啊、新颖度啊,都有考虑新的东西进去(并不一定就是热门的)
    Shura
        30
    Shura  
       2017-12-01 12:43:34 +08:00
    @gamexg 点击量小于一定值,评价量此时比点击量至少小一个量级,此时的好评率还可信吗?
    janus77
        31
    janus77  
       2017-12-01 13:01:32 +08:00
    正如上面说的,冷门的定义确实很难
    1.纯粹以「热门的反义」定义,那直接反向排序就行了,但是这样出来的冷门没有意义,换句话说不需要为此专门开一个产品特性。
    2.以「冷门好物」定义,这样的也没有意义,因为好的标准不同,大多数是以个人喜好作为依据的。
    对于「公认的冷门好物」,我个人认为没有这个定义,如果有一种东西大多数人都认为好(公认),那么最终他也会变成热门。
    3.以每个人的喜好+冷门作为定义,这依然没有意义,因为具体到每个人,喜好就是喜好,没有热门和冷门之分了。
    cabing
        32
    cabing  
       2017-12-01 13:53:53 +08:00
    首先你要找出冷门的是什么?定义什么是冷门的?分开冷门和热门,又更进一步对冷门进行更多的分层分类

    其次如何获取推荐内容,网上有超多算法的。

    再则如何推荐
    1 呈现数据,可以冷门和热门一起,热门冷门占比 7-3 之类的
    2 给谁推荐,什么情况下才有冷门的数据出现呢。

    先想你的使用场景,再考虑实现,实现真的不是问题。
    linus3389
        33
    linus3389  
       2017-12-01 16:45:36 +08:00
    val val1 val2
    百度指数 google 趋势 < val1 &&
    微博 微信 门户曝光率 < val1 &&
    点击率 < val &&
    好评率 > val*0.8 &&
    给好评的用户活跃度 > val2 &&
    知乎 Quora 长评数赞数 > val2 &&
    编不下去了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1932 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:22 · PVG 00:22 · LAX 08:22 · JFK 11:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.