先说变强。我相信变强可以提升收获“钱权名利色”的概率。我相信这些东西大部分人都会很感兴趣,就放在最开头了。如果你有利他的目标,那么我相信变强也是必须的。变强主要靠下面说的个性化方法和模仿。我相信至少有一部分人之所以无法变强,是因为没有找到适合自己的方法。所以如果你属于这部分人的话,那么心盒现象应该可以帮助你变强。然后澄清一下这个变强。我这里说的变强主要是精神上的变强。估计有些人嗅到了教人挣钱的味道,我就不解释了,希望你们多思考一下。
你是否经常遇到这种情况:对自己有效的方法对别人不管用。或者别人声称有效的方法对你无效?除去那些骗子,我相信这个现象的原因就是方法会“挑人”。而如果能找到导致某个方法有效的现象,或者至少能预测某个方法有效的现象的话,那么就能节省很多时间。它还可以减少人们成功之前尝试的次数,进而减少放弃的人数。我猜对于某个目标,大多数人失败的次数越多越容易放弃。这就是心盒现象最典型的用处之一。
心盒网重要的功能还有模仿和推荐。心盒网包含心盒现象。模仿主要是模仿具有某种能力的能人。这里我狡辩一下,因为大部分人应该都相信成功是不可复制的。但是心盒现象复制的不是成功,只是能力。成功是低概率事件,特别是高标准的成功。我相信复制能力是更容易的。如果你硬要说成功是种能力那我无话可说。至于推荐音乐和书籍等内容,主要是现在的推荐系统成本好像都比较高。我设想的推荐操作起来会更麻烦一些,用户体验可能也会更差一些,但是我预计推荐效果会更好一些,服务器成本应该也会更低一些。
人工智能领域有个笑话,就是有多少人工就有多少智能。这个好像也不完全是笑话,当前的人工智能确实需要大量的人工。想象一下,假如一个推荐系统基本上全都是人工的话,那会是什么样呢?现在的推荐系统一般都会用到人工智能。人工的成分包括打标签和推荐。用户自己给自己做标注,然后再由部分用户根据用户的标签进行推荐。当然推荐一般是批量的,就是一个推荐可能会发送给大量的人。
听说点子要简单才能便于理解和传播,这点我实在是做不到。但好在理解其如何使用还是比较简单的。
流行的互联网服务好像都有个特点,就是现实中有类似的东西。比如论坛、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 。普通用户只能做将现象放入现象盒子,对规律进行反馈之类的事。甚至是给现象盒子命名都不行,名字只能在现成的名字中选择。如果普通用户想要提交内容,只能通过群或者延迟很长的表单。仅用户自己可见的内容是可以放开一点的。
我相信,如果想要提升某个领域的解决问题的能力,那么最好实际去解决这个领域的问题。所以如果某个人想要获得这种能力的话,最好是不要直接告诉方法。
多个现象盒子联合搜索对我来说有点麻烦,用户理解起来可能也会有点困难,所以我思考的时候都尽量避免。
剩下的内容主要包括:进一步了解心盒网的方式,加群的方式,一些关键的说明等。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.