2010年从法学院毕业后,笔者进入一家传统大型汽车公司从事法务工作,公司福利待遇好,领导同事关系融洽,一切都是美好向往的生活。直到2016年,当“人工智能”这个陌生而又新鲜的词汇,一次次推到笔者面前,或许是冥冥中自有安排,笔者最后决定投身到一家AI创业公司。
正如笔者前文《浅谈人工智能公司法务的能力维度和提升路径》提到,16年在班车上偶然读到了英国学者理查德·萨斯坎德所著《法律人的明天会怎样?——法律职业的未来》一书,我被书中描绘的法律市场的剧变、颠覆性的法律技术、律所的未来、法律人的新工作场景等内容所震撼,也第一次记住了“人工智能”这一名词。
而在国内,有三位年轻的律师,在自学Python编程后从律师事务所辞职,成立了一家斯沃茨科技公司(Swartz ),这家公司致力于开发法律人工智能产品。2016年,创始团队写出了《遇见法律知识工程师——互联网时代法律人的职业新选择》一书,书中第一次提出“法律知识工程师”以及“法律知识树”的崭新概念,引发笔者诸多共鸣。斯沃茨公司的主要产品是一款名叫“推之”的法律智能咨询网页,通过预设的法律场景和问题,让用户手动匹配自己的客观事实,再由系统生成一份法律分析意见以及相关案例。但是按照现在视角,这款产品背后更多是人工,并非人工智能技术。
2016年11月,美国最著名律师事务所之一BakerHostetler宣布引进人工智能Ross法律机器人(https://rossintelligence.com),聘请为法律研究员,与 50 名破产部的律师成为“同事”。ROSS 采用 IBM的Watson 技术,通过NLP自然语言处理技术,负责筛选数以千计的法律文件以支持事务所的案子。
2016年12月冬天,在一家沪上韩国烤肉店改装的办公室里,笔者第一次遇见竹间智能创始人Kenny,被Kenny创业情怀和对技术的执着所打动,最终决定辞职,加入到这家拥有多模态情感计算技术,擅长中文自然语言处理(NLP)的AI创业公司。公司创业初期虽然法务事项繁杂,但在闲暇之余,
“为何计算机读懂一篇中文文章有那么难?
我们能不能搭建一款中文版的智能法律咨询机器人呢?
自然语言处理技术之与法律实践,究竟会产生何种影响和价值?”
这些问题常会浮现,萦绕在心头。
通过补习相关计算机技术理论知识,结合自身法务实践,笔者尝试分享个人对于“NLP+法律”问题的理解和思考,也希望自己能为NLP工程师/产品经理与法律人之间的沟通交流,架起一座“信息”的桥梁。
本文略长,第一部分“汉语语言学研究回顾”,是理解中文NLP问题基础;第二部分“自然语义解析架构”尽可能解释得通俗一些,对于法律人而言还是会比较陌生烧脑。不过法律人如能了解一些NLP技术原理与算法模型,有助于理解NLP技术;第三部分“NLP赋能法务”,通过描述法律人的学习经历和认知思维,希望对于人工智能训练师,AI产品经理设计AI+法律产品,会有一些参考意义。
(本文写作之时,无论是NLP领域的算法模型抑或法律领域的法理学/法哲学理论,都是在不断变化和发展。如果您发现有任何错误或意见,还请告诉我,有利于笔者修订和更正,感谢。)
一、汉语语言学研究回顾——中文语言与印欧语系有何区别?
人类对大脑的研究发现,人类大脑控制语言的功能区有两个,前脑的布罗卡区(主管语言的处理和话语的生成),另一个是后脑的威尔尼克区(主管分辨语音,形成语义),而对信息的搜索、推理和决策则由大脑的前额叶完成。所以,一个自然语言处理系统至少包含三个模块,语言的解析、语义的理解及语言的生成。东西方的语言规则和语法结构虽然存在差异,但人类处理自然语言的生理构造是相同或极类似的。
汉语属于汉藏语系,与广泛采用拼音文字的印欧语系相比,无论从字符的结构和形式上都会显得特立独行,这是中华民族独特的地理位置和长期统一的发展历程所决定的。祖先创造的汉语文明历经千年传承,吸收和同化了匈奴、鲜卑、蒙古和梵语等文化成分,却依然能保持独立性,没有受到欧洲外来文化的侵袭和阻断,这是留给我们最大的一笔财富。
按照许慎《说文解字》的解析,汉字的造字方法和使用模式归纳成六种(古人称为“六书”):象形、指事、会意、转注、假借、形声,每一种构造模式都来源于古人对于大自然的观察,模仿和学习。汉语独特的字形符号构造,承载的“音、形、义”信息功能,导致汉语在自然语言处理中,会经常出现“一词多义”的现象。认识到汉语的特殊模式,对于研究和解析词汇及文本都具有一定意义。
二、自然语义解析架构——计算机如何读懂一篇“中文文章”的实现步骤
计算机阅读理解一篇文章,目前还是以“句子”的语义解析架构为主。该架构共包含三大部分,分别为词法分析、句法分析和句义分析,每部分涉及不同的语言规则和算法模型,由简至难,烧脑等级层层上升。
第一步:词法分析
该阶段有两个任务,一个是词形的解析,包括:中文分词、命名实体识别、语义组块;另一个是词性的解析,包括:词性标注和组块标注。
(1)中文分词
中文分词是汉语NLP第一步,也是最关键的一个环节。因为中文不像英文,实行分词连写(词与词之间用空格分隔)。在分析中文文本之前必须将一个汉字短语或句子,分成一个一个单独的词。
江湖上,中文分词原有三大流派:A-机械式分词(依葫芦画瓢派),将文章中的字符串与词典中的词逐一匹配,优点是简单暴力,缺点是得有词源信息齐全的葵花词典。B-基于语法和规则的分词法(内功气宗派),原理是分词的同时进行句法和语义分析。利用句法信息和语义信息作词性标注,以解决分词歧义现象。该派优点理想很美好,但低估了中文语法难度,输出的精确度很低。C-基于统计的分词法(数据分析派),根据字符串在语料库中出现的统计频率来决定是否构成词。背后逻辑就是概率统计,“一次是偶然,两次是偶然。。。em,相邻【字】出现次数多了,你两(字)之间必有苟且!”就是那么神奇。
“天下大势,分久必合”,经过20多年的各派研究努力,最终江湖上出现了一枚神器,中文词汇自动切分技术。该神器的心法是:基于条件随机场(CRF)的中文分词算法开源系统——如 哈工大 HIT LTP语言技术平台),以及基于张华平Nshort的中文分词算法的开源系统——如 结巴分词算法(商用领域的主流算法,最大不足不能解决歧义)。虽然神器还有缺陷,但使中文分词的水品得到显著改善,准确率一度达到98%。
计算机处理中文分词的流程不一一展开,如果用尽可能通俗的表达,笔者理解为:计算机能利用各种资源(专业词典和算法模型),将输入的“句子”切分成字,识别出专有名词后(命名实体识别),筛选整合出词并初步标注词性,最后输出分词结果的过程。
(2)命名实体识别
命名实体识别,用于识别文本中具有特定意义的实体,常见的实体包括 人名、地名、机构名及其他等7类专有名词。其中,人名、地名、组织机构名的识别是最难,也是最重要的三类。命名实体识别不仅需要标注词的语法信息,更重要是指示词的语义信息(eg人名还是组织机构名等)。NLP中需要识别的命名实体一般不是已知名词,而是指新词(或称词典中未登录词)。
“这很难吗?”“yes,真的很难!”这一技术处理的好,会应用于信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术。举几个例子:
1)中国人起名字一般由姓氏+名字两部分构成,不过雅俗共享,“林静”、“夏天一”、“张麻子”等是由常见姓氏汉字组合而成。计算机碰到这种情况怎么办,“【林静】走进一片树林,这片树林静悄悄的”“【张麻子】脸上长满了麻子”“夏天一到,【夏天一】就感觉快热昏了。”有时候汉字姓名就是很特别,在句子中不同位置,但没有违和感。
2)较之人名,地名更像一个闭集。绝大多数地名可以通过词典或资料覆盖,但也有其困难之处。如存在地名简称歧义(峨眉,有“峨眉市”,“峨眉山”,还是一个武功门派?),词语搭配歧义(上海/上甘岭/西直门)等情形。
3)组织结构的识别难度更加困难,既集合了人名+地名的识别难题,又有其自身的问题。组织机构名称长度不稳定,短的仅有两字“宝钢”,长的比一个句子还长“全国人民代表大会常务委员会法制工作委员会”。这给中文命名实体边界的确认造成了极大的困难。
虽然面对着难以克服的困难,计算机学家和语言学家们也想出了很多解决的办法,比如设计领域专属的分词器,词典与统计相结合的CRF算法策略,基于层叠式隐马尔科夫算法模型(简称HMM),以及基于角色标注的命名实体识别方法。
这里简单说明下,计算机NLP处理会涉及到几十种的算法,像CRF(条件随机场),HMM(隐马尔科夫)等著名算法。算法会运用于NLP各个环节,然而“术业有专用”,对于非计算机专业或非数学专业的人士,主要了解算法介绍和应用场景,不去深入讨论算法性能和工程特征。
(3)词性标注
词性标注,判断一个句子中每个词所扮演的语法角色。在汉语中,常用词的词性都不是固定的,一个词可能具有多个词性。汉语与英语的不同又在于,汉语词汇都没有形态的变化,这就为确定中文词性带来困难。
“老爸,我下午去体育馆【游泳】。”(动词)
“嗯,【游泳】是一项好运动。”(名词)
通过词性标注,计算机能理解同一个词在句子中扮演的角色,进而能理解句法。现在一般使用哪种词性分类的标准呢?根据词性对句子结构的标识作用来选择,宾州数库Penn Tree中的《汉语词性标注规范》。中文的词性标注算法比较统一,大多数使用HMM(隐马尔科夫模型)或最大熵算法。目前流行的中文词性标注系统:Stanford大学的中文词性标注模块(简称NER)。
(4)语义组块标注
汉语语句并不是“词”的简单堆砌,对于句子的核心成分(包含核心词的前置修饰成分),其实存在句法块(Chunk)的概念。通过对这种组块的语义标注,可以大大提升分析效率和标注准确率,也降低句子分析难度。结合CTB对汉语句法短语类型的分类 和 宾州数库的例子说明,语义组块的主要类型有NP(名字短语)、VP(动词短语)、ADJP(形容词短语)等11种。
语义组块识别最常用的算法是CRF条件随机场算法,使用语料一般为CTB的树库语料。使用CRF来识别语义组块,通过如下三个阶段完成,从而达到抽取语义块的目的:
——将CTB树库中的语料从树状结构变为序列结构;
——使用CRF算法对制作好的语料进行训练,生成模型;
——使用训练的结果,测试组块标记。
第二步:句法分析
句法分析是 根据给定的语法体系自动推导出句子的语法结构,分析句中各语法单元之间的关系。最后将句子转化为一棵结构化的语法树。句法分析主要有两种不同的理论,一种是 短语结构语法,另一种是依存语法。
短语结构语法 属于转换生成语法 派别——理论基础来源于一位美国语言学家诺姆.乔姆斯基——即在分析一个句子时,也使用自底向上逐层归纳的思路。将句子中的句法构造层次考虑进来,并按其构造层次,逐层进行分析,指出每一层面的直接组成部分:词汇、短语、小句和句子。通过运用不同文法产生规则,最后推导的结果称为【推导树】,或称为【句法树】,树的简单形态如下:
短语结构推导树是机器自动学习自然语言句法知识的重要资源。句法树标注的好坏直接影响自动学习的效率和实现。
依存句法分析,代表了句法分析的另一个派系。与转换生成语法不同,依存句法的分析可以同时容纳句子的语法结构和语义结构两种关系,其理论基础来源于【配价理论】。什么是配价?法国语言学家泰思尼耶尔有个很形象的类比,将句子比喻成化学元素中的分子,分子由原子按照一定的价结合到一起。【动词】是句子的“中心”,所有的成分都是围绕着句子的中心动词展开的。“中心”动词的价就决定句子的成分结构。这种支配与从属的决定关系,应用于句法分析,构成了“依存”。依存句法分析的结果也是一棵树状图,不过这棵树状图不仅有层次关系,还给出了依存的方向关系。也就是说,“遣词造句”,词与词之间不仅要符合一定的规则,还要具有一定的语义联系。
有关句法分析的算法,主要有两种:在短语结构文法中,目前最成熟,精度最高的算法是PCFG算法。另一种基于依存句法理论的分析算法,较为高效的是基于转换的LSTM算法,算法代表人物有LTP依存句法分析和Stanford依存句法分析。
在句法分析实务操作阶段,首先要对复句进行切分,变为单句集合的形式。然后进行依存句法(或短语结构句法分析),获得分析结果进入共(同)指(代)消解(歧义),还原被压缩部分的指称成分。(共指消解是NLP中文语言处理上一个难点,这里不过多展开)
第三步:句义分析(语义依存)
啰里啰嗦写了很多,对于非计算机专业或理工科专业的法律人而言可能已经云里雾里了,但这些科学研究还属于第一个算法体系:传统NLP“概率图模型”的范畴。接下去的语义理解和分析会更加复杂,涉及到认知科学——脑科学(神经科学)方面的语言研究。也正归功于近几年神经网络科学的理论发展,推开了NLP领域人工智能深度学习的大门。
“林中两路分,一路人迹稀 。我独进此路,境遇乃相异。”
传统的句义分析(形式语言学)主要是基于逻辑的语义学,在计算机科学家眼中,句子的含义是词义根据一定方式组合的产物。一个句子是否真实的反映了外部世界的某种现象,或者作出虚假的描述,用逻辑术语来说,就是是非判断(真假判断)。这套以命题逻辑和谓词逻辑为中心的推理系统,后来被证明在计算机程序语言方面具有很大的用途,但最终逐步淡出自然语言处理的视野。
NLP的第二个算法体系:基于人工神经网络的深度学习理论。深度学习理论将人工智能带入一个新时代:认知计算。认知计算的目标不再是寻求现实中的最优解或在给定数据结构上进一步提升搜索性能,而是让计算机系统能够像人类的大脑一样学习、思考,并做出正确的决策。
深度学习在NLP上的应用,包括在词汇语义上几大突破:Word2Vec算法(词向量模型)、使用LSTM(长短期记忆网络)进行序列标注、使用LSTM解决依存句法问题。“深度学习”背后的数学思想和原理很难用文字完全解释明白,但可以从“特征映射”这个词去切入。一个最简单的深度学习模型,含有输入层—隐含层—输出层 三个层次,计算机会根据数据特征的相似度,在内部映射后输出解析结果(我们常说的“黑箱子”)。以Word2Vec词向量算法举例,计算机将中文词汇转化为词向量后,从输入层进入到神经网络模型训练,根据输出结果的差异度,神经网络专家调优参数,获得的新数据再次投入训练。只要“训练语料”足够充足,经过多重反复,计算机会变得越来越“聪明”,即使预测新词汇时,也能够自动将相似度高词义的词汇组合在一起,直接输出词性标注和语义分析。
在句义分析阶段,主要分为以下情况:
(1)如果输入单句,也不需要共指消解,在中文分词、词性标注后的句子进入第三步进行句义分析。
(2)如果输入的是复句,但不需要共指消解,在中文分词、词性标注后的句子先做复句切分,切分之后的结果再做句义分析。
(3)如果输入的是复句,而且需要共指消解,在词法分析和复句切分流程之间,增加一项“共指消解”的环节。
以上,是计算机进行自然语言处理时比较基本的步骤:中文分词——命名实体识别——语义组块标注——句法分析——句义分析。两种算法体系各有优劣——相比于传统“概率图模型”,“深度学习”虽然能主动学习,但在专业领域如果缺少足够标注的数据,精确度反而不如传统的“概率图模型”高——所以,需要综合运用。
我们虽然还处在人工智能时代的前夜(或称为弱人工智能时期),随着算法模型验证测试,大数据积累及硬件设备性能的更新优化,这种变化是呈指数级的增长趋势,可能就在不久的未来,NLP的奇点就会到来。
三、“NLP”赋能法务——计算机认知思维与法律实践思维的融合
在科技公司从事法务工作,最有趣的地方,莫过于新技术的发明会带给传统法务工作思维和实践一种新的思考。笔者认为,计算机NLP学习过程和法律人学习法律的过程是非常相似的——从法律概念(词汇)入手,基于固定的语法和逻辑规则(算法程序),识别出法律/文句背后的深层语义。不同点在于思维模式:法律人的逻辑规则基于经典的“三段论”,包含归纳、演绎、辩证等推理模式。现阶段计算机处理自然语言主要还是基于数据分析,不通过推理分析,直接映射形成判断。机器判断虽然准确率较高,但仍具有“或然性”属性。
一、法律概念——法律人的“词法分析”
计算机的语义哲学,是从词汇发展至本体论的过程。语义,所指语言符号与所指事物之间的关系。人类在语言概念上一个重要的认知机制——范畴化(领域性)的特征。由于世间万物在人的头脑中形成的信息不是相互独立的,而是普遍联系的,随着对客观世界认识的不断丰富,逐渐形成一个网络(概念)。在这个网络中,经常出现的关系有:类——表示概念的集合;个体——表示概念的个体;子类——表示上下位关系;特征——属性、行为和约束。
“概念,在语义领域用更专业的词来定义——本体。本体论原是一个哲学概念,对于真实世界的一个客观描述,而不依赖于任何特定的语言。但理论研究使本体超越了哲学的范畴,在于语义紧密相关的知识工程中,本体发挥重要作用。计算机科学家提出了本体模型,甚至还形成本体推理计算的基本规则。”
无论是大陆法系或是英美法系的法学院学生在学习法律的过程中,也是先从【法律概念】的辨析入手。
“法律的基本作用之一乃是为人类为数众多、种类纷繁、各不相同的行为与关系达致某种合理程度的秩序,并颁布一些适用于某些应予限制的行动的行为规则或行为标准”。为能成功完成这一任务,法律制度就必须形成一些有助于对社会生活中多种多样的现象与事件进行分类的专门观念和概念。”——E.博登海默
例如:一个人出于愤怒、怨恨或报复而揍打另一个人或使其遭受人身伤害的事实,被法律归于“殴打”这一术语之下。当一个人向另一个人许诺一种行为以得到后者的某种允诺时,这种情形在法律术语上被称之为“合同”,并受广泛规范制度所调整。在面对一个人伤害他人生命或身体健康的情形,需要探究该行为是否出于主观意愿,有无违背个人意志,这种情形在法律术语上成为“主观”与“过失”的区分。
从上述例子可见,法律概念的形成不是基于词汇的表层含义(泛化),而是对客观世界中的行为或状态抽象形成的一种定义,包括法律关系、主体,客体,权利、义务、责任、诉讼时效等等法律术语。没有概念,司法活动就不能得到准确的实施。笔者曾设想,是否能设计一款法律智能咨询机器人?很难。如今的自然语言交互技术的发展主要基于前人设立的通用语料库,那么法律智能咨询也势必会涉及到“法律概念语料库”的设计,也是最重要的一关。如果没有这种特殊领域语料和知识图谱的积累,单纯依靠技术,很难达到“智能咨询”的阶段。据笔者了解,国内已经有法律科技公司已经开始整理,积累相关语料素材。
二、法律规则分析推理——法律人的“算法模型”
早在几千年前,亚里士多德就提出了分析推理的“三段论”。从形式来说,用三段论所得出的结论是从前提中得出的无懈可击的逻辑结论。
所有生物一定会死。(大前提)
人是生物。(小前提)
所以,人会死。(结论)
这种通过的自然语言论证逻辑,计算机通过词库及算法训练,也能做到前提-结论的论证形式。
最简单的法律推论形式也是用三段论方法进行推理。不过即使最简单的三段论,也包含了演绎、归纳、辩证等分析推理的方法,比如:
我国刑法规定,不满14周岁的自然人是完全无刑事责任能力年龄阶段。(大前提-法律)
小岩今年13岁。(小前提-现实)
所以,小岩是完全无刑事责任能力的人。(结论-评价)
如果机器人阅读理解这一三段论,就会非常有难度。一方面,法律语句的分词与常规通用词汇的分词规则不一样,“刑事责任能力”是分为“刑事/责任/能力”、“刑事责任/能力”或者“刑事/责任能力”?另一方面,法律规则与现实案件并不是一一匹配的,什么是侵权,什么是正当防卫,每个术语背后都有不同的构成要件,每一个构成要件都可能存在又一个“三段论”的论证。这种不断在“法律条文与现实世界中来回穿梭“的情形,客观上制约着计算机对法律语言的理解。
在司法审判实务中,法官对于案件的评价,也并不仅限于纯粹的形式逻辑或仅注重结果的推理。在某种程度上,它也是一种以先例为基础的逻辑。对于先例的选择逻辑,是以整个法律秩序和社会秩序为基础的,也是以某些渊源于传统、社会习俗和时代的一般精神为基础的。这种“价值判断”上的伸缩性,客观上也会影响法官对其所作判决的预期结果。
从这个意义上而言,现阶段的人工智能技术很难完全取代人的司法审判(计算机无法把价值判断因素量化为数据)。不过,计算机通过快速阅读,提取分析结构化数据和信息,能作为法官“定纷止争”的辅助参考工具。
根据亿欧智库2018年AI法律服务的研究报告,上海的《刑事案件智能辅助办案系统》(又称206工程),某家科技公司联合上海司法部门,打通公检法的办案系统,计算机通过学习几万份案件的卷宗,文书数据,可以提取证据信息,实行刑事案件的标准化和流程化。
三、公司法务+计算机NLP,新型的法律风险管理工具
笔者在之前《浅谈公司法务的四重境界》里提到,“公司法务与外部律师功能最大的不同在于,不仅仅是识别或提示法律风险,给到一份专业法律风险应对方案或意见书即可,而是要站在公司立场,结合公司“人、财、物”资源,去衡量分析法律风险方案的可操作性,为公司找到最合适的合规路径。”
就像计算机能将一系列中文词汇转化成“词向量”,通过Nshort算法计算后,在词图中找到最优化的,权值最小(概率最大)的词义匹配路径。随着大数据分析及人工智能技术普及,未来法务部门的法律风险管理是否也能从【传统法律风险管理】 转向为【实时跟踪+智能量化分析】呢?
传统的法律风险管理,中小型公司主要是业务风控型,即对单份合同的法律风险审核把关,按照业务需求申请经营资质,编制公司管理制度等工作。对于集团型公司,法务部往往承担着公司整体风控体系的建设,常使用PCDA戴明循环等工具模型,根据不同权重设计风险防范体系(风险识别-评估-实施-整改等环节),这种风险防范的优势在于由上而下,提前规划预测。不过缺点也较明显:事后补救,对突发事件反应不足,有些危险因子已经凸显,但无法及时介入/预警。计算机深度学习技术恰好能弥补不足,其最大优势在于通过大数据收集,实时监测风险因子并在后台作出分析。
现阶段计算机自然语言处理技术还无法完全理解“法言法语”,却已然能代替公司法务部分技术含量较低的工作,产生一定的商业价值,以下场景可供参考:
——制度培训答疑:现有计算机已经能够通过语音或者文字,对员工简单的合规制度问题答疑解惑,比如信息保护,数据安全防范,合同签署盖章流程等相关问题,让公司法务从回答繁琐问题的重复性劳动中解放出来。
——格式合同审查:通过过语料标注和算法优化,计算机能在极短时间内,输出文字审核结果并提示出法律风险,准确率不低于律师。《隐私协议》《用户服务协议》《保密协议和竞业限制协议》都属于该等范畴。
——工商事务,知产业务指导:企业工商事务和部分知识产权申请(譬如软件著作权),属于有固定模板和申请流程,按照要求一步步执行,一般都能完成。如有语音助手指导,初级法务或者公司办事人员也能独立完成相关工作。
回到本文开头我曾困惑的三个问题:
“为何计算机读懂一篇中文文章有那么难?”
——因为中文和英文的字形结构,遣词造句很不一样,而这恰恰是老祖宗留给我们的宝贵财富。
我们能不能搭建一款中文版的智能法律咨询机器人呢?
——能。但需要建立法律语料库和知识图谱,攻克计算机意图识别及深层次语义理解等技术难题。
自然语言处理技术(NLP)之与法律实践,究竟会产生何种影响和价值?”
——代码是规则,法律本质亦是一种规则。未来,应该会殊途同归吧。
“代码即法律。”
参考书目:
(1)郑捷 著——《NLP汉语自然语言处理 原理与实践》2018年6月版
(2)Yoav Goldberg 著,车万翔等译——《基于深度学习的自然语言处理》2018年7月版
(3)亿欧智库——《2018人工智能助力法律服务研究报告》
(4)E.博登海默著 邓正来译——《法理学:法律哲学与法律方法》2018年5月版
(5)法律+科技类《AI科技评论》《智合》《机器之心》等若干公众号。