心盒现象:高度依赖人工的信息推荐系统,借助多现象组合描述实现,也许能让你变强

101 天前
 shendaowu

前言

先说变强。我相信变强可以提升收获“钱权名利色”的概率。我相信这些东西大部分人都会很感兴趣,就放在最开头了。如果你有利他的目标,那么我相信变强也是必须的。变强主要靠下面说的个性化方法和模仿。我相信至少有一部分人之所以无法变强,是因为没有找到适合自己的方法。所以如果你属于这部分人的话,那么心盒现象应该可以帮助你变强。然后澄清一下这个变强。我这里说的变强主要是精神上的变强。估计有些人嗅到了教人挣钱的味道,我就不解释了,希望你们多思考一下。

你是否经常遇到这种情况:对自己有效的方法对别人不管用。或者别人声称有效的方法对你无效?除去那些骗子,我相信这个现象的原因就是方法会“挑人”。而如果能找到导致某个方法有效的现象,或者至少能预测某个方法有效的现象的话,那么就能节省很多时间。它还可以减少人们成功之前尝试的次数,进而减少放弃的人数。我猜对于某个目标,大多数人失败的次数越多越容易放弃。这就是心盒现象最典型的用处之一。

心盒网重要的功能还有模仿和推荐。心盒网包含心盒现象。模仿主要是模仿具有某种能力的能人。这里我狡辩一下,因为大部分人应该都相信成功是不可复制的。但是心盒现象复制的不是成功,只是能力。成功是低概率事件,特别是高标准的成功。我相信复制能力是更容易的。如果你硬要说成功是种能力那我无话可说。至于推荐音乐和书籍等内容,主要是现在的推荐系统成本好像都比较高。我设想的推荐操作起来会更麻烦一些,用户体验可能也会更差一些,但是我预计推荐效果会更好一些,服务器成本应该也会更低一些。

人工智能领域有个笑话,就是有多少人工就有多少智能。这个好像也不完全是笑话,当前的人工智能确实需要大量的人工。想象一下,假如一个推荐系统基本上全都是人工的话,那会是什么样呢?现在的推荐系统一般都会用到人工智能。人工的成分包括打标签和推荐。用户自己给自己做标注,然后再由部分用户根据用户的标签进行推荐。当然推荐一般是批量的,就是一个推荐可能会发送给大量的人。

听说点子要简单才能便于理解和传播,这点我实在是做不到。但好在理解其如何使用还是比较简单的。

流行的互联网服务好像都有个特点,就是现实中有类似的东西。比如论坛、IM 和博客。但是我感觉没有跟心盒现象很像的东西,只有个推荐系统勉强像一点,但是也不是现实中的。因此心盒现象理解起来可能会有点费劲,希望读者能耐心一点。

心盒现象中有很多我无法和难以解决的难题。如果你认可心盒现象的价值,并且喜欢挑战难题的话,心盒现象中的难题应该会适合你。帮助心盒网解决问题会得到奖励,后面会详细说。前一句说的奖励是很缥缈的东西,别太期待。

具体使用介绍

这些具体的使用例子比较啰嗦,但是细节更多。如果感觉啰嗦建议跳过这节,直接看“抽象使用介绍”那节。有些概念没有定义,但是就算不知道定义应该也能看个大概。具体的概念定义在“详细介绍”。我怕有人感觉那部分无聊所以放在后面了。

请注意这节里面的例子基本都是我编的,我基本就不再说了。感觉就像是在画大饼,我承认。

刷系统推荐的东西

这个原型中有表示。原型的链接在后面。这里介绍一下。

首先声明一点,这个东西在初期大概率是难以做到的,就算能做到效果也不会太好。这里描述的只是理想情况。

由于这个功能是为绝大多数人准备的,所以这个功能最好是一进网站就能用。

以第一次使用刷推荐功能的用户为例。当他第一次打开网站后,先看到的就是询问是否愿意注册的推荐,如果不愿意注册可以在未登录的状态下试用。注意这个询问可以直接用这个推荐功能实现。然后不管用户有没有注册,系统会继续推荐其他的内容。比如推荐这个现象:“希望提升自己”。如果用户勾选了这个现象前面的复选框,那么就继续推荐与自我提升有关的内容。如果用户没有勾选,直接划走,甚至是勾选了“不希望提升自己”,那么就推荐其他内容,比如“希望在本网站接受娱乐内容的推荐”。那两个相反的关于提升的现象是一同展示的。回到前面选择了“希望提升自己”的情况,如果用户选择了这个现象,那么就通过推荐的现象来辅助用户提升自己。比如可以推荐“我认为自己经常拖延”这个现象。如果用户勾选了这个现象,那么就推荐一个有点特殊的内容:先让用户做一个拖延的量表,然后让用户将测试的结果转换成现象。这个转换应该可以通过输入分数直接转换。不同的拖延程度可能需要不同的处理方法,有了用户的拖延程度有助于进一步推荐方法。假设用户最终的测试结果为轻度拖延,那么后续可以直接推荐一些短平快的策略,也许能直接解决。如果用户为重度拖延,也许需要让用户再做一下大五人格测试,然后根据人格特性给出更有针对性的方法。如果用户使用了短平快的策略,那么还可以收集用户的反馈。如果用户有耐心的话可以收集更细致的反馈。比如方法坚持了多久起效,方法对于某一类问题有效的比例等。如果用户没耐心就直接问有没有效。收集反馈有助于优化推荐。不过由于很可能用户有耐心方法更容易起效,所以收集这方面的数据也许是必要的,还有培养用户的耐心也许也是必要的。另外重度拖延好像是抑郁症的表现,所以如果用户拖延非常严重,那么也许应该让其做一下抑郁症自测。如果确实有抑郁的可能,那么基本只能推荐就医了。前面说的量表都是其他网站上的,这东西一般都是有版权的。另外心盒网会有人折腾新的缓解拖延的方法,然后在网站上验证效果。所以如果用户当前没有解决的话,等一段时间后可能会收到对自己有效的方法。

系统会提供大部分用户可能都感兴趣的现象,供新用户浏览和选择是否具有。注意,这个功能在产品初期反馈的时间可能很长。所谓反馈就是用户具有了一个现象之后,系统推荐相关现象的行为。再具体一些就是比如用户具有了“喜欢观看部分体育运动”之后,系统会进一步推荐“喜欢观看足球比赛”这个现象。反馈时间可能需要一天或者几天。因为如果我自己做这个网站的话,我可能会将反馈相关的推荐做成手动的。我感觉如果想要自动化这个过程,那么基本上需要内置一个专家系统才行,这个对我来说太难了。反馈时间长应该是互联网产品的大忌。我可以强行积极思考一下:也许有耐心的人正好是网站的目标用户。

浏览现象文档

所谓现象文档就是包含大量现象的页面。并且除了现象,它还包含一些相关的介绍。另外它还包含一点自动推荐的功能。用户可以在现象文档上选出自己具有的现象。如果用户勾选一个现象,会自动将现象添加到相应的现象盒子中。现象盒子是保存现象的容器,一个用户可以创建多个现象盒子。

首先有这样一个现象:“希望接收现象文档推荐”。如果用户在上一节介绍的页面刷到它,并且并勾选上的话,就向这个用户推荐现象文档。另外提醒一下用户现象文档包含大段文字,并解释什么是现象文档。再有,如果用户目标明确,对各种问题的了解较全面,并且愿意学习心盒现象的高级使用方法的话,也许可以不用现象文档,而是使用下节介绍的心盒现象的高级功能。

以收集用户遭遇到的问题为例介绍现象文档。如果用户对自己遇到的问题有哪些不太明确,那么最好是使用这类现象文档。通过向用户介绍问题的含义,比如说拖延问题,然后用户将描述跟自己对比一下,然后用户初步判断自己是否有对应的问题。如果想要更精确的判断的话,可以推荐用户去做专业的量表。注意感觉自己拖延是一个现象,通过量表测出来的拖延程度是另外一套现象,后者更客观精确一些。据说自己填量表效果会差一些,最好是在专家指导下做。而且多次做同一量表好像还会影响准确度。但我估计量表还是比自己的感觉更强一点。具体比如先给出一段介绍拖延的文字,然后让用户自己判断一下,判断自己感觉自己是否拖延。然后下面紧接着就是一个可以勾选的现象,包括一个复选框和“感觉自己拖延”。用户选择了具有某一大类问题之后,可以展开属于这类问题的更细致的问题。比如一个用户看了对心理问题的介绍后,感觉自己具有一些心理问题。那么勾选“感觉自己有心理问题”之后,就展开属于心理问题的更细致的问题,比如说拖延、焦虑、抑郁等问题。

继续介绍现象文档,这次以提供某一领域的个性化知识为例。具体以学习领域为例。首先是确定目标,比如“在高考中获得总分的 90% 以上”。然后再选择智商,比如“智商处于 120 到 130”。这时候可能就会有个性化的方法了,通过用户选择的那两个现象给出的。比如如果用户智商比较高,并且想要获得比较高的成绩,可以推荐他们自学。然后用户可以继续勾选其他的现象。比如选择与人格相关的现象。智商对成绩的预测效果好像是最好的,而人格的预测效果就不那么好了。对于提高成绩这个目标,个性化的知识效果好像属于锦上添花,不起什么关键作用,但是也许对于其他问题,个性化知识能起到关键作用。但是谁会嫌分数太多呢?另外在小时候人的某些人格比较容易改变,相比智商。举一个具体的例子,假如用户选择以下几个现象:“智商处于 130 到 140”,“尽责性为很低”,“对某新兴专业技术领域有浓厚兴趣”,那么就建议用户使用这个方法:“将推动领域技术革新作为学习的目标”。这个例子是我在知乎上看到的。点击这里查看原文。虽然好像不是非常科学,但是感觉挺合理的。这个目标看起来好像跟高考没关系,可能会对学习造成负面影响。但是据我所知,很多学生都不知道为了什么而学,这会影响动机。你可能会说变量太多了,不知道到底是哪个产生的效果,最后统计方法成功率的时候会有问题。不过好在某些方法可以在很短的时间内起效,这就可以大致区分开了。比如如果定下适合自己的长远目标,那么可能就会立刻提升学习的动力。另外对于长期的方法的推荐最好是保守一些,最好是有文献支撑。

再以这个方面为例介绍现象文档:从一个集合中选择几个自己喜欢的对象,然后对这几个对象进行排序,以表达自己的喜好。具体以音乐为例。首先现象文档会展示几首音乐,并提供在线听的链接。再具体点就是先显示音乐的描述,这个是可选的。然后是音乐的在线听的链接,然后就是对应的“喜欢某某歌曲”的现象,可以直接勾选。如果用户勾选,那么现象自动转入一个列表中,并且这个列表可以更改顺序。也许这个列表可以一直悬浮在固定的位置,就像某些网站的章节列表一样。然后用户可以对列表中的现象进行排序。更喜欢的放在更前面。后面有关于现象文档的这个用法的补充。用“精心准备的音乐列表”能搜到。

另外再补充几点。由于现象文档很长,所以用户很可能无法一次操作完。因此自动保存的功能是十分必要的。还有如果用户再次打开相同的现象文档,那么可以自动定位到离开的位置。另外也许可以提供一个书签的功能,给想要精确定位的用户提供便利,毕竟自动定位可能会不太准确。显示的位置和看完的位置应该是很少会重合。显示的位置就是屏幕上的第一条,而用户可能会看完那条下面的位置。不同的现象文档可能会有相同的现象。这个怎么处理我有点犯难。现在感觉最好的方法是直接复制,从其他现象文档对应的现象盒子复制,但是不知道这个复制应该自动还是用户手动。

使用心盒现象的高级功能解决问题

所谓高级功能就是用起来比较麻烦的功能。具体比如现象库、规律库和现象盒子,以及相关的搜索功能。

这段介绍高级功能,以尝试解决一个相对简单的问题为例。具体以尝试解决拖延问题为例。用户先以“拖延”为关键词在现象库中进行搜索。排在前面的几个结果是:“感觉自己拖延问题很严重”,“经某某量表测试拖延程度为较严重”,“感觉自己拖延问题较严重”。然后用户点开了“感觉自己拖延问题很严重”,然后在现象的详细介绍了解到感觉一般会有偏差,如果想要更好地解决相关问题,那么请使用量表测量自己的精确程度。然后用户测完发现自己的拖延程度为中等。然后用户在规律库中搜索规律,搜索条件为:因现象必须包含“经某某量表测试拖延程度为中等”,果现象必须包含“经某某量表测试拖延程度为很轻微”。结果搜到很多规律,其中一条因现象中包含以下现象:“已将以下养成习惯:在任务完成的时候扔硬币,如果是正面就奖励自己,如果是反面就不奖励自己”。用户试了一下,发现有效,进而点击这条规律的详情页面的有效按钮。然后系统自动创建一个现象盒子,并在其中加入“某某规律在自己身上有效”。

解释一下前面一个比较迷惑的操作。就是把拖延程度作为因现象,我也感觉这个有点不合常理。但是我感觉勉强解释得通,毕竟更严重的拖延可能更难解决。我想不到更好的解决方法,如果你有更好的方法的话欢迎说出来。感觉可能用规律前件这种名字会更好一些?

再具体说一下反馈。用户可以对规律进行多方面的反馈,比如因现象中哪些做不到,哪些不想做。也许还应该记录什么时候开始做哪个因现象,什么时候完成。然后从全部做到因现象之后开始计时,各个果现象什么时候生效。

这节第一个例子基本上不用心盒现象,用其他网站也能获得比较好的结果,也能搜索出来。我写那个例子主要是为了循序渐进。如果一下子就写比较复杂的,那么读者可能理解起来会比较费劲。

这段继续介绍高级功能,以尝试解决一个相对复杂的问题为例。具体以尝试提高学习成绩差为例。首先学习成绩是受很多变量影响的。变量之间可能还会存在相互作用,导致变量的作用不是简单的叠加。关于前一句,举个抽象的简单例子,A 和 B 单独出现都是有轻微的负面影响,但是二者同时出现会出现较强的正面影响。这种情况下心盒现象就会有一定优势了,因为可以方便地搜索出适合自己的规律。开始介绍用户的操作过程。用户先在现象库中搜索学习成绩差,搜到了一个特殊的现象,就是“学习成绩差”,也许可以叫抽象现象。这个现象是不能直接勾选的,也不能放到现象盒子中。因为造成成绩好和差的原因一般都是相反的,为了节省人力以及方便搜索,一般不提供类似成绩差相关的现象和规律。然后点开这个“学习成绩差”现象,里面提供了相关的现象,比如有前面提到的“在高考中获得总分的 90% 以上”,还有同样是不能勾选的现象“学习成绩好”。然后这个用户暂时不用考虑高考的问题,所以点击了“学习成绩好”。点开之后发现有很多与这个现象相关的规律,比如“智商高”导致“学习成绩好”,“学习动机高”导致“学习成绩好”等。这些规律可以称为抽象规律,起到指引用户进一步的搜索的作用。然后用户搜索果现象包含“学习动机”的规律。然后假设能搜到至少两条规律:“大五开放性为很高”且“将学习视为了解更多有趣的信息的前提”导致“经某某量表测试学习动机为较高”,“大五外倾性为很高”且“将学习视为认识更多有趣的人的前提”导致“经某某量表测试学习动机为较高”。注意前两条规律是我瞎猜的,虽然稍微有点根据,但是没有确切的证据。然后因为用户之前做了大五测试,结果为开放性很高,所以用户执行了第一条规律。然后将执行结果反馈给心盒现象,就像上一个例子那样。

参与知识的生产

首先是实验主持人筛选出一些普通用户,筛选条件是他觉得更适合某种方法的用户,然后让这些普通用户尝试这个方法。这段后面的用户均为普通用户,普通用户就是相对实验主持人的用户。用户先是尽量做尽可能多的量表,然后将所有结果转换成现象保存到网站。我不知道这种现象会不会超过二三百,如果会超过的话估计又是个问题,MySQL 一个相关设置默认好像就二三百。假设实验主持人有这样一个猜测:“大五开放性为很高”且“将学习视为了解更多有趣的信息的前提”导致“经某某量表测试学习动机为较高”。抱歉我实在是编不出来其他的个性化知识了,复用一下前面的规律。然后实验主持人就搜出一些现象盒子,搜索条件是具有“大五开放性为很高”,进而获得现象盒子对应的用户的信息。然后在其中随机选出一些用户,然后向他们推荐上面提到的那条规律,就是了解更多有趣的信息那个。将整条规律作为一个推荐项发送给用户。注意规律如果有效率(有效的比率,不是具有效率)不高的话,或者参与验证的用户不多的话,是会明确标出来的。用户收到推荐之后执行规律中的方法。如果反馈很好的话,就是反馈有效的用户很多的话,那么这条规律就会“转正”,搜索的时候也许可以给更高的权重,也许也可以推荐给更多的人。

然后是确定哪些因素影响某个方法有效。首先可能存在一些成功率比较低的方法,而这些方法中可能有一部分是因为挑人。比如某个方法只对大五开放性高的人有效。还是以上段的那个规律为例,只不过这次有个假设,假设没人知道这个方法对哪种人有效:“将学习视为了解更多有趣的信息的前提”。为了便于后续的数据挖掘,需要参与实验的用户满足一个条件,就是已经设置了很多难以改变的现象,比如人格、智商之类的。难以改变后面简称难变。先筛选出一定数量的这样的普通用户。简单说一下如何筛选,比如如果一个普通用户设置了大量的这种现象,那么可以自动或者手动再添加一个现象:“已添加难变属性基础集合相关现象”。这段后面的用户均为普通用户。然后实验主持人从前述用户中随机选出一些用户,我感觉数量应该比上段说的那种更多一些。然后实验主持人发送推荐,对象是随机选出来的用户,内容是包含那条规律的推荐,也就是“将学习视为了解更多有趣的信息的前提”能导致高学习动机。注意没有包含那条开放性高的现象,因为假设现在不知道这条规律对什么人有效。然后各个用户收到推荐后执行方法,并将结果反馈给实验主持人和心盒现象。然后实验主持人可以批量下载反馈结果,然后对结果进行数据挖掘。如果发现方法的有效跟某个难变现象有关,就说明这个方法是一个挑人的方法。结果比如发现这段提到的那个方法在存在“开放性为较高”的情况下有效的比例为 80%,在存在“开放性为很高”的情况下有效的比例为 95%,而对于全体人群可能只有 20% 的有效率。这样就生产出了一条个性化的知识。如果有人觉得 95% 还不够的话,可以继续看是否还有其他的现象会产生影响。

最后是让用户模仿一个能人,模仿的内容是能人的大量现象,目的是复制这个能人的某种能力。我曾经解决过自己的畏难问题,当时我发现一个现象,就是想要解决这个问题需要不少方法。这还是对那时的我来说,更不要说别人了,他们可能不具有我本来就有的现象。我之前是比较愿意挑战困难的,后来因为一些原因不喜欢了,可能瘦死的骆驼比马大。我想说的是很多能人可能也是懵的,不知道自己具有某种能力的精确原因。这段开头说的方法应该很不错了,我不知道更好的方法。我承认这个思想是从成功学里抄来的,但是应该是有不同的地方,比如成功学中的模仿应该不会涉及到很多人。另外虽然成功学也强调不要随意模仿,比如凭自己的认知去选择,但是很多人可能还是会无意识地进行选择。参与的人比较多的话可能会弥补个人的盲点。下面是具体的操作过程。首先必须要有至少一个能人。如果有多个能人,并且这些能人都设置了很多现象的话,也许可以直接使用数据挖掘,以发现能人具有的某种能力的原因。不过多个能人可能也有坏处,就是多个能人获得某种能力的方法可能不同,这可能会干扰实验过程。然后可能还要有实验主持人,因为能人不一定有主持实验的能力。然后还需要被试,就是没有能人具有的那种能力的普通用户。被试可能需要分阶段招募,因为如果被试发现某些现象的好处,那么被试可能就不愿意去除这个现象了,而实验可能需要不具有这种现象的人。各种身份的用户到齐之后就可以进行猜测了,猜测哪些现象导致了能人具有那种能力。猜测之后就是找能人确认,确认能人是否具有那个现象。如果某些人对猜比较擅长的话,也许可以再加入一种身份,可以叫做假说家或者理论家。任何人都可以提出自己的猜测,但是需要一些手段决定猜测验证的顺序。决定好下一步要验证哪一个猜测之后,就向参与实验的被试发送这些猜测。注意猜测可能包含多个现象,需要被试依次操作。然后被试将行动的结果反馈给系统。然后就是不断模仿更多的现象,如果过程中突然有大量被试获得了那种能力,那就说明模仿对了,只不过很可能会有一些无用的现象。如果只有一小部分被试成功获得了那种能力,那说明这套方法可能是挑人的。如果方法挑人的话,就需要用上一段介绍的方法了。如果想减少没用的现象的话,可以招募新的被试,并逐步减少被模仿的现象集合,并观察是否能起效。也许有更好的模仿的方法,比如将猜测的现象集合随机取一个子集,然后让被试试验,不过这个我感觉好像更麻烦一些。

注意是否参与以上的活动用户可以自行设置。比如在一个现象盒子中放入“不参与任何知识生产活动”。

使用心盒现象及相关服务合作过滤音乐

这篇文章的大量内容都基于一个假设,就是很多知识确实会挑人,或者说存在很多个性化的知识。也就是说此文说的很多东西都有可能没用。但是这节说的东西不一样,这节说的东西已经被推荐系统验证过了,不同的人的兴趣确实可能是不同的。

这段介绍在心盒网参与音乐的过滤的第一步,也就是找到跟自己的喜好类似的群体。这一步需要用到心盒现象。这一步主要有两种方法。一种方法是把喜欢的音乐放到一个现象盒子,并且排序,然后搜索类似的群体现象盒子。列表分门别类可能更好一些,比如按国家或者风格分类,基本没有根据。比如将某个现象盒子命名为:“我喜欢的中文歌曲的前一百首”。但是也允许不对喜欢的歌曲进行分类。现在我计划这种现象盒子中的现象是这样的:“喜欢《长江水》中的《一剪梅》,演唱者费玉清”。然后直接点击现象可以进入歌曲的详情页面。歌曲的详情页面包含歌曲的各种信息,比如作曲、作词,还有可以在线听的链接,类似维基数据。如果某首歌曲多次发布在不同专辑中,并且基本没什么区别,那么相关的现象只保留一个。接着说对自己的现象盒子执行类似搜索,搜索到类似的群体现象盒子之后,就可以申请加入那个群体了。群体中有多个成员,每个成员都有相应的现象盒子,对这些现象盒子进行平均就是群体现象盒子。这种方法也许更适合那些听歌比较多的用户。因为见识过更多的音乐,所以更不可能出现漏掉的情况。对于听歌不多的用户,也许用下面介绍的另外一种方法更好。再来介绍找到喜好类似的群体的第二种方法。首先要有多个兴趣群体,然后从各个群体现象盒子中挑一些靠前的,然后合成一个列表,然后让用户从中选择最喜欢的几首进行排序。然后看其排序的结果跟哪个兴趣群体更像。如果跟哪个兴趣群体都不像的话,也许可以跟其他用户进行匹配。我假设人的兴趣是不会改变的了,但是实际应该是会改变的。我猜特别是如果用户没听过多少歌曲,那么可能兴趣变化的可能性更大。因此应该提醒用户多次排序和搜索。第二种方法有没有效我不敢确定,基本没有根据。

这段介绍在心盒网参与音乐的过滤的第二步,也就是执行过滤。兴趣群体的管理员先找一些歌曲,然后再分配给各个成员。分配可以是一个首歌曲分配给一个成员。如果想更可靠一些的话,可以一首歌曲分配给两个甚至更多的成员。对于经常失手的成员,可以考虑将其从过滤活动中排除。另外过滤活动可以定一些规矩,而规矩由管理员和成员协商。比如听歌的时候可不可以干其他的事。还有每首歌最少需要听多长时间等。还有如果一首歌自己之前听过,是否可以不听等。还有音源和音响的要求。成员先听歌,然后将对歌曲的主观评价反馈给系统。我个人感觉五分制的评分系统可能不太好,因为不同的人的评分标准可能都是不一样的。我认为将歌曲分为三类比较好,分别是预计愿意经常听,感觉还行但预计不会经常听,不想再听。我平时就是这么分的。一批预计愿意经常听的多了会就行排序。然后再选出这批歌曲中靠前的一部分,合并到这类音乐的我的 TOP 100 中。我这套听歌方法可能会干扰常见的推荐系统,不建议在带推荐的听歌软件上用。不过我听说某些人听歌是喜新厌旧的,如果一首歌能听几百遍的人不多的话,可能这种方式就不太好了。

这段介绍在心盒网参与音乐的过滤的三步,也就是汇总反馈。就算是同一个兴趣群体,个体之间的兴趣可能也会有略微的不同,但总体来说很可能是相似的。我稍微了解过一点推荐系统,前一句就是了解的时候道听途说来的。因为个体之间兴趣可能不同,所以需要对成员的反馈进行汇总。如果成员找到一首不错的歌曲,那么兴趣群体的所有成员都会收到推送。然后所有成员各自听一段时间,然后各自将这首歌曲放到自己现象盒子里。之所以要听一段时间,是因为我发现某些歌曲刚开始不好听,听多了就好听了。或者是前一分钟没有特别出彩的地方。我听新歌基本每首只听一分钟。也有相反的,就是刚开始感觉好听,时间久了就不那么好听了。如果先听几次再放到有序现象盒子里,那么应该可以减少编辑的次数。当然这也不是强制的。其实如果能记录下这种喜好变化也不错,通过歌曲在有序现象盒子中的排名的变化。我计划保存现象盒子的更改记录。接着说前面的听一段时间再放入,这个主要就是为了汇总方便。汇总的具体方式我没想到特别好的,可能不同的汇总方法会有不同的利弊。也许一个汇总方式一个有序现象盒子比较好。说一下汇总的大体过程,就类似算平均数一样,输入所有成员的的同类有序现象盒子,输出一个单独的有序现象盒子。然后有多个兴趣团体,他们都有各自的有序现象盒子,可以通过搜索找到与自己最相似的。

抽象使用介绍

我觉得这部分放在“详细介绍”后面更好,不过鉴于大部分人都没什么耐心,所以我就把这部分放在前面了。如果你有耐心的话,推荐先看完“详细介绍”再看这部分。

下面用到的输入输出概念程序员应该很熟,看起来像是程序员思维,但可能不是。我之前搜过如何写一句话介绍,然后搜到了这个:https://www.dave-bailey.com/blog/product-descriptions。看起来很像那回事。

内容消费者

内容生产者

详细介绍

心盒现象

偏通俗介绍

心盒现象中有一个比较复杂的部分,为了方便理解这里我没介绍,就是前面的那个“模仿一个人”那部分。

简化的心盒现象有四个主要的概念:现象、规律、现象盒子、推荐项。

现象就是一个可以用文字表达的状态,比如希望喜欢学习。规律就是多个现象之间的因果关系,比如假设“高自尊”和“解决问题能力强”能导致“喜欢挑战困难任务”。这里“高自尊”和“解决问题能力强”是因现象,喜欢挑战困难任务是果现象。

现象盒子是保存人的现象的容器,由于硬件限制,一个现象盒子中现象过多搜索效率会变低,特别是将人的所有现象都保存在一个地方。根据我了解到的信息,我相信现象盒子允许包含的现象越多,搜索相似的现象盒子一般就需要越大的内存。将现象放到不同的现象盒子里也有一个好处,就是方便人理解。能给现象盒子起一个有意义的名字就更好了,比如“我认为与我喜欢挑战困难任务有关的现象”。这里再啰嗦一句,也许名字可以用特殊的现象来实现,这样便于搜索。特殊的地方就是优先显示在最开头。

推荐项就是推荐给其他人的规律或现象,推荐的内容可以是依据已有的知识,也可以仅仅是猜测。当然为了防止大量推荐打扰用户,用户可以屏蔽经常猜错的人。先说根据已有知识的推荐。假设一个内容消费者有一个现象盒子,其中有如下的现象:“低自尊、“解决问题能力强”、“不喜欢挑战困难任务”、“希望喜欢挑战困难任务”。再假设有一个内容生产者,他发现可以让某类人喜欢挑战困难,方法是提升原来的低自尊,并且这个方法需要强大的问题解决能力。那么他就可以这样搜索:“低自尊、“解决问题能力强”、“不喜欢挑战困难任务”、“希望喜欢挑战困难任务”(跟这段前面那个内容消费者的现象盒子一样)。这样就可以搜索出这类人。然后就可以向他们发送推荐项。推荐项包含这节第三段的那个规律。

接着上段再说根据猜测的推荐。内容生产者可以先这样搜索:“高自尊、“解决问题能力强”、“不喜欢挑战困难任务”、“希望喜欢挑战困难任务”,看是否能搜到这样的现象盒子。如果有的话,那么这里可能还有其他的必要不充分条件。内容生产者可以就此进行猜测,猜测哪些现象还会影响喜欢挑战困难。比如说这个内容生产者猜还需要“低焦虑”。那么这个人可以先选择少量的内容消费者,然后向他们发送相应的推荐项。如果效果反馈很好,那么就扩大发送的范围。

至于为什么某人的现象盒子中会有那些现象。这是个动态的过程。最开始可以使用我前面提到的那个东西,就是现象文档,通过这个获取一个初始的现象盒子。然后内容生产者持续跟进特定的目标,如果后续有新发现的话,再发送新的推荐项。比如发现某些现象会影响某种方法的效果。一旦发现这种现象,就可以向用户发送推荐项,内容就是询问是否具有这个现象。最后,如果发现有的用户确实具有特定的现象,就向其发送包含方法的推荐项。

偏专业介绍

数据库的核心就是一个表,表里就两个字段,现象盒子 ID 和现象 ID 。然后使用类似多标签搜索的方式搜索,可以搜索相似或者完全匹配的。搜索结果可以按命中的现象的个数进行排序。相似就是用 IN 关键字搜索,然后按命中数量排序。完全匹配也是用 IN ,但是命中的数量必须跟搜索的现象的数量一致。我 SQL 很烂,不知道前面的完全匹配的方法是否有更好的方式。我是在网上搜到的。

规律的表示有点麻烦,因为规律的结构不是图,而是超图。图的一条边只能链接两个节点,而超图的边可以连接任意数量的节点。规律是超图的超边,现象是超图的节点。另外规律的超边是有向的。我觉得我当前的实现很丑陋,我就不说了,我是用关系型数据库实现的。

云程序

云程序这个名字是 ChatGPT 起的。我把下面几段丢给 ChatGPT ,并让它起尽可能多的名字,然后从它的回答里选出来的。我感觉还算可以,至少比我起的名字强多了。

这个系统抄袭了文件和打开方式的概念。不同的地方是文件保存在服务器上,可以通过浏览器访问。不同的地方还有程序也存储在服务器上,可以通过浏览器将程序下载到本地,并在浏览器上用程序打开相应的文件。程序产生的文件也可以保存在服务器上。跟平常的操作系统一样也会提供权限功能。

这么做的好处我只能想到一个,就是为多人协作提供便利。

听起来这种模式很不安全,容易联想到 XSS 。好像是有一些解决方案能达到相对的安全。我所谓的相对的安全是指除非软件有漏洞,否则一般是安全的。

这个点子好像不是非常新颖,跟 Notion 好像比较像。跟另外一个网站更像,这个网站:https://fluidspace.app/。类似的还有 Web Operating System 。

现象文档的偏专业介绍

首先现象文档是一种类似 Markdown 的标记语言。当前计划主要包括现象、规律、文本、注释和条件展示。

这段介绍现象。在纯文本状态下现象通过现象的 ID 标记,类似这样:{{f/4242}}。f 是 fact 的首字母,对应专家系统中事实。为了通俗一点我没用专家系统中的名字。变量名这种地方我觉得用不着通俗,我觉得沿用专家系统中的名字更好。{{f/4242}}这种可读性比较差,为了增加可读性,可以用注释写一下现象的描述。

这段介绍规律。同现象一样,规律也使用唯一 ID 来标记,类似这样:{{r/4343}}。r 是 rule 的首字母,对应专家系统中的规则。

这段介绍文本。文本主要是进行介绍的。比如介绍当前现象文档的主要目标与作用。还有特定现象的介绍。

这段介绍解析现象文档的过程。首先将现象的 ID 替换成两部分:可以勾选的复选框和现象的描述。然后同时在客户端将规律加载进内存,准备后续用户操作的时候自动匹配。再啰嗦点细节,就是要不要在现象文档中包含规律的细节。所谓细节就是规律相关的因现象和果现象。如果不包含的话,应该会消耗更多的服务器资源。如果包含的话,规律更改后会导致不一致,需要额外的人力去处理。简单说就是个缓存的问题。

这段介绍操作现象文档的过程。如果用户勾选现象描述前面的复选框,那么就将现象添加到指定的现象盒子中。这个过程最好是通过 AJAX 。如果用户是第一次打开某个现象文档,那么系统会自动创建相关的现象盒子。默认情况下,每次操作之后都会扫描现象文档中的规律,看有没有匹配的。这个操作暂定在客户端做。我估计这个扫描的过程消耗不了多少资源。如果我估计错了的话,可以提供一个关闭的选项,由用户自己决定什么时候扫描。或者在关闭页面之前提醒用户扫描。再啰嗦点细节,这种规则的匹配有一个很高效的算法,叫 Rete 算法。GitHub 上好像有现成的 JavaScript 库,MIT 的许可证。不过几年没更新了。如果用蛮力没大问题我可能不会用这个算法。所谓用蛮力就是一个一个扫描和匹配,最多弄个字典或者散列表。

条件化展示可以类似这样:{{if:f/4242}}{条件展示内容}。

补充

其实现象盒子描述的对象不一定是自己,也可以是其他事物和人。比如说软件和网站。为了简化描述我上面全都表述为描述自己了。

现象盒子可以是有序的,就是说靠前的现象有更高的权重。这个好像很难完美地搜索出类似的现象盒子。我想不到很好的解决方法,只有个凑合的方法,就是只按匹配到的现象的数量进行排序,然后再同时显示相似度。这样可能排在后面的相似度更高。

人工推荐类似投流。不过目的可能不太一样。至少我希望执行人工推荐的人是善良的,能考虑被推荐者的利益。如果有推荐者不考虑被推荐者的利益的话,可以设计一些机制惩罚他们。比如可以建立一个现象:不接受利益相关的推荐。如果有推荐者违反的话就处罚推荐者。我知道这个很难判定,也有漏洞,但是应该还是比“不接受对我不利的推荐”更好判定一些的。极端一点的话可以具有这样的现象:不接受一切商品和商业服务的推荐。这个应该非常好判定,但是会错过有用的商品和商业服务。

部分现象的组合会产生“1 + 1 > 2”的效果,这个好像叫涌现。举个例子。假设一个人视觉化成功的情景能提升行动力,具体是提升到 40%,十人使用了这个方法会有四人执行。然后再假设有另外一个现象:有动力做相关的任务,假设其能导致 10% 的人执行。而同时具有这两个能大幅提升执行的比例,比如是 90%。这就是整体大于部分之和的效果,而不是相加甚至是取其中一个最大的。这个例子部分来自 Huberman Lab 的播客,比例是我瞎编的。原视频中说要根据是否有动力采用不同方法,有动力视觉化成功的情景,没动力视觉化失败的情景。

难变现象构成特征,比如说人格。如果某种现象可以尝试具有的话,那么相对来说就是易变现象。目标一般属于较难改变的现象,需要收集相关的较易改变的现象来实现。这个本来应该是放在前面的,因为怕看的人感觉无聊就放到后面了。

早期的实验我打算 PGC ,就是由专业人士设计实验。比如说心理学专业的人。当然前提是有专业人士愿意用。如果专家看不上那我可能就会冒险了,让非专业人士去设计和操作。后期的实验最好也是都让专业人士审核一下。至少没有审核的实验要有标识。

另外早期为了能多活一段时间,我打算几乎所有内容都是 PGC 。普通用户只能做将现象放入现象盒子,对规律进行反馈之类的事。甚至是给现象盒子命名都不行,名字只能在现成的名字中选择。如果普通用户想要提交内容,只能通过群或者延迟很长的表单。仅用户自己可见的内容是可以放开一点的。

我相信,如果想要提升某个领域的解决问题的能力,那么最好实际去解决这个领域的问题。所以如果某个人想要获得这种能力的话,最好是不要直接告诉方法。

多个现象盒子联合搜索对我来说有点麻烦,用户理解起来可能也会有点困难,所以我思考的时候都尽量避免。

迫于 V2EX 字数限制,剩下的内容需要到别的地方看

剩下的内容主要包括:进一步了解心盒网的方式,加群的方式,一些关键的说明等。

链接: https://www.v2ex.com/p/L1rf1E27

2519 次点击
所在节点    奇思妙想
41 条回复
murmur
101 天前
这个时候不得不召唤 GPT 了,希望没人手贱去举报,看完了我咋一个字没看懂呢,还是实在太长了

你说的是音乐推荐,但是音乐推荐怎么做都对,网易的歌少,所以他会拼命推同一类的歌甚至你听过的歌,腾讯有最大曲库,他认为你不听新歌对不起这么大的曲库,所以每次都会推一些其他类型的歌

哪个都没错,为什么需要新的推荐算法?而且人家的推荐算法基本是无感的,你这输入输出一堆是想干啥
shendaowu
101 天前
@murmur #1

首先感谢反馈。说看不懂对我来说也是不错的反馈。不知道你是不是只是扫了一眼,没有认真看。没有责备的意思,毕竟大家的注意力都很宝贵嘛。

推荐音乐只是不得已的选择,如果有很多个性化的知识我还是更愿意推荐知识和信息的。我比较信奉“Garbage In Garbage Out”。我相信现在的音乐推荐算法的输入还是比较粗糙的。我设想的这个推荐系统的亮点应该是有序的按喜欢程度排序的列表。这个应该是相当麻烦的,但是如果有跟我一样对音乐的需求很大的人的话,这些人应该是会愿意付出这种麻烦的。

另外不知道找到跟自己音乐品味类似的人是否能吸引你。网易云音乐做过类似的,但是我感觉那个相似的百分比可能是假的。要么就是根本就没有特别好的对比相似的数据。
shendaowu
101 天前
@shendaowu #2 付出这种麻烦 -> 忍受这种麻烦。
shendaowu
101 天前
@murmur #1 我之前写的一句话介绍:通过勾选符合自己的现象,获得更多适合自己的有用的现象。我本来是打算把这个放在标题里的,后来感觉不好就换成现在的了。
jahanngauss414
101 天前
我尝试理解了一下
这是一个试图将人的不同标签与特定行为产生的特定结果产生关联并分析同时试图产生行为指导的一套系统?
freestone
101 天前
hacknews 可能没准儿有人能和你讨论:)
SWALLOWW
101 天前
真牛逼,我们周报现在都要求不超过 15 个字了,谁用言简意赅的语言告诉我新盒是啥
shendaowu
101 天前
@jahanngauss414 #5 我确实认为这个系统能指导人。确实是在贴标签。但是不是那种粗暴的单个的标签,而是用很多标签组合起来描述一个人。据我所知很多人都厌恶前者,喜欢后者。喜欢后者应该是在《进击的文案》里看到的。可能是我写得太绕了?在我这里具有某个标签和执行特定行为都是现象,心盒现象做的主要就是保存、传播和发现现象之间的因果关系和相关关系。最后你这句话我好像无法完全理解。
linch97
101 天前
加个摘要和文献引用就能凑一篇 paper 了(
shendaowu
101 天前
@freestone #6 英文的社区我有点怂。
shendaowu
101 天前
@SWALLOWW #7 我来。通过勾选符合自己的现象,获得更多适合自己的有用的现象。现象包含的内容很广:具有某种特征,执行某种行为,具有某种习惯,喜欢什么东西都是现象。
qianckjuan
101 天前
我大致扫了一眼
给用户贴标签,然后出对应标签的应对方法。并基于用户标签拓展一些社交服务。
其中用户标签是用户自己选的或者各种人格测试生成。
例:王小明觉得自己是一个拖延,肥胖,喜欢古风音乐的人
那么网站会推荐给他解决拖延,减肥瘦身的办法。根据用户的选择,还会给他继续推荐古风或者其他种类的音乐。
还会基于古风音乐这个喜好推荐同好。
如果王小明真的通过这些方法减肥成功了,还能指导他人。
shendaowu
101 天前
@linch97 #9 在讽刺我吗?哈哈哈。挺好笑的。我装一下傻:论文才不会有那么多不确定的东西。
andyJado
101 天前
我赌 20 元你是 AI 辅助写的。
shendaowu
101 天前
@qianckjuan #12

喜欢古风就推荐古风这个太粗糙了。我认为更好的方法是王小明从自己最喜欢的古风音乐中挑出来几首,然后通过这几首找到跟自己喜好类似的音乐团体。然后通过这个团体找到更多自己更喜欢的古风音乐。当然这是理想状态,我不能百分百保证有效。

推荐的方法我希望是更适合用户的方法,或者说成功率更高的方法,否则跟其他的推荐系统可能也没什么区别。这个需要用户给自己加更多的标签,或者说现象。这个也是我认为的。
shendaowu
101 天前
@andyJado #14 本帖接受了 ChatGPT 提的一些修改建议。不过绝大部分都是我写的。我不跟你赌,嘿嘿。你是怎么做出这个判断的?因为某些地方不自然吗?还是就是太长了?不自然的话可能是因为我强迫自己将长句都改成 20 字以下的句子了。
AllenTsui
101 天前
好长啊,感兴趣但又不想看,纠结
shendaowu
101 天前
@AllenTsui #17 试试文本转语音( TTS )?或者试试一次看一部分?如果你是因为新奇感兴趣的话,相信我,这个对大多数人来说足够新奇。如果是因为变强之类的话,我就不好保证什么了。如果是因为想变强的话,可能不看也没什么太大的损失。如果真能让人变强的话,我相信最终肯定会火起来的,到时候你早晚会知道并用上的。如果不能让人变强你不看自然就没损失了。中间态被我吃了。如果你想获得或者恢复看长文的能力的话,推荐了解一下 Huberman Lab ,这个算是系统的自我提升的播客。特别推荐关于目标的那期,看长文也算是小目标了。
cmdOptionKana
101 天前
你这是只管自己输出高兴,不管读者接收啊。

这篇文章的目标读者是谁,他们最关心的是什么问题?(注意,不是你最想输出的是什么,而是读者最想知道的是什么)
songchao414
100 天前
这是要干啥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1012289

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX