• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      計算法學:作為一種新的法學研究方法

      2019-04-24 02:24:48鄧矜婷張建悅
      法學 2019年4期
      關(guān)鍵詞:法學要素計算機

      ●鄧矜婷 張建悅

      一、計算法學方法的提出

      從20世紀80年代到21世紀初,中國法學研究經(jīng)歷了從“政法法學”到“詮釋法學”,再發(fā)展到“社科法學”,并形成了三種流派并存的基本格局。這一觀察由我國學者朱蘇力提出,并被普遍接受?!?〕參見蘇力:《也許正在發(fā)生——中國當代法學發(fā)展的一個概覽》,《比較法研究》2001年第3期。近些年來,更是出現(xiàn)了“社科法學”與“教義法學”相互爭論、評價比較的局面?!?〕參見侯猛:《社科法學的傳統(tǒng)與挑戰(zhàn)》,《法商研究》2014年第5期;陳柏峰:《社科法學及其功用》,《法商研究》2014年第5期;張翔:《形式法治與法教義學》,《法學研究》,2012年第6期;孫海波:《論法教義學作為法學的核心——以法教義學與社科法學之爭為主線》,《北大法律評論》2016年第1期。然后,隨著互聯(lián)網(wǎng)向社會各方面的不斷滲透,互聯(lián)網(wǎng)技術(shù)的指數(shù)級發(fā)展,一類新型法學研究方法,即計算法學開始出現(xiàn)。2009年,15位學者在《科學》雜志上發(fā)表題為《計算社會科學》的文章正式提出了計算社會科學和社會計算的概念,指出在大數(shù)據(jù)時代要結(jié)合計算機使得社會研究智能化?!?〕See David Lazer,Alex(Sandy)Pentland,Lada Adamic,Sinan Aral,Albert Laszlo Barabasi,Devon Brewer,Nicholas Christakis,Noshir Contractor,James Fowler,Myron Gutmann,Tony Jebara,Gary King,Michael Macy,Deb Roy,and Marshall Van Alstyne, Life in the network:the coming age of computational social science, Science,2009 February, 323(5915):721-723.受益于數(shù)據(jù)處理、存儲能力的提高及判決文書的公開,近期我國的法學研究也建立在越來越大量的文書處理基礎(chǔ)上。褚紅麗、魏健在研究財產(chǎn)刑對貪污受賄罪量刑的影響時就分析了近兩萬份判決書;〔4〕參見褚紅麗、魏?。骸缎唐谂c財產(chǎn)雙重約束下的腐敗懲罰》,《社會科學戰(zhàn)線》2018年第1 期。白建軍在研究量刑中的法官集體經(jīng)驗時利用計算機處理了十四萬余件交通肇事罪判決書;〔5〕參見白建軍:《基于法官集體經(jīng)驗的量刑預測研究》,《法學研究》2016年第6期。雷鑫洪在討論中國法律實證研究的演進時運用BICOMB2.0軟件智能化處理了四千余篇文獻?!?〕參見雷鑫洪:《方法論演進視野下的中國法律實證研究》,《法學研究》2017年第4期。最高院、最高檢也相繼公布了發(fā)展大數(shù)據(jù)在實務(wù)中的運用計劃,有關(guān)智慧法院、智慧檢務(wù)的研發(fā)、試點實驗和推廣落地都在不斷地推進?!?〕更多信息參見左衛(wèi)民:《如何通過人工智能實現(xiàn)類案類判》,《中國法律評論》2018年第2期。法律教育界也是反響熱烈,各大知名院校都爭先恐后地成立了類似法律+科技的旨在培養(yǎng)計算法律人才的研究院所?!?〕北京大學、中國人民大學、清華大學、中國政法大學等幾十所大學紛紛成立了法律+科技相關(guān)的實驗室、研究所等。參見:http://www.xinhuanet.com/legal/2017-09/11/c_129701280.htm,http://www.raincent.com/content-10-11276-1.html,http://news.cupl.edu.cn/info/1011/26207.htm,2019年3月13日最后訪問。

      法學研究方法一般被認為有三種:價值判斷、規(guī)范研究、實證研究。〔9〕參見陳柏峰:《法律實證研究的興起與分化》,《中國法學》2018年第3期。計算法學目前的價值集中體現(xiàn)在讓計算機自動提取、處理大量數(shù)據(jù)上;而三種法學研究方法中似乎唯有實證法學中的定量研究是需要描述、分析法律在實踐中產(chǎn)生的大量數(shù)據(jù)來進行,所以部分學者認為計算法學是定量實證法學的一種新型研究方法?!?0〕同上注,陳柏峰文;左衛(wèi)民:《一場新的范式革命?——解讀中國法律實證研究》,《清華法學》2017年第3期;白建軍:《大數(shù)據(jù)對法學研究的些許影響》,《中外法學》2015年第1期。不過這些學者對于定量實證法學能否獨立于“社科法學”,或者“廣義上的實證法學”,而自成一派還存在爭議?!?1〕左衛(wèi)民認為,實證法學研究僅指定量實證法學研究,其獨特性和重要性可以獨立于社科法學研究之外而自成一派。陳柏峰則認為,實證法學研究也包括定性實證法學研究,與社科法學具有類似的含義。詳見:同上注,左衛(wèi)民文;同前注〔9〕,陳柏峰文。其中也有些學者認為計算法學,或數(shù)量法學〔12〕參見劉瑞復:《當代市場經(jīng)濟與數(shù)量法學》,《中外法學》1996年第4期?;蛴嬃糠▽W,〔13〕參見屈茂輝、張杰:《計量法學本體問題研究》,《法學雜志》2010年第1期;屈茂輝、張杰、張彪:《論計量方法在法學研究中的應(yīng)用》,《浙江社會科學》2009年第3期。是以定量研究的方法(含計算機的方法)研究具有數(shù)量變化關(guān)系的法律現(xiàn)象?!?4〕參見張妮、蒲亦非,《計算法學導論》,四川大學出版社2015年版,第21~24頁。另有部分學者則認為,計算法學代表著大數(shù)據(jù)時代數(shù)據(jù)科學在法學領(lǐng)域的運用,是計算社會科學中的一種,擁有獨特的計算思維和研究手段?!?5〕參見錢寧峰:《走向“計算法學”:大數(shù)據(jù)時代法學研究的選擇》,《東南大學學報》(哲學社會科學版)2017年第2期。本文討論的計算法學,指的是將計算機科學運用于研究或解決法學問題的方法,所以區(qū)別于意指計量法學的計算法學。

      事實上,計算法學方法的運用已經(jīng)呈現(xiàn)出一些問題。比如,對海量文書是如何提取、處理的,沒有交代,僅說明經(jīng)過人工檢測,達到統(tǒng)計精度要求,但具體如何檢測,沒有說明。〔16〕同前注〔5〕,白建軍文。計算機檢測錯誤的方法多種多樣,不同的方法得到不同的結(jié)果。即使是運用現(xiàn)成的軟件來處理,這些軟件的底層代碼也不是公開的,其結(jié)果的準確度也是不確定的。又如,有些文獻研究類似的判決書,運用類似的模型但得到了相互矛盾的結(jié)果,使人懷疑底層數(shù)據(jù)提取的準確性,這些研究因為涉及大量數(shù)據(jù)的處理而極有可能是運用了智能提取的方法?!?7〕王劍波、過勇和李松鋒均是研究在裁判文書網(wǎng)上公開的2015年左右的受賄罪判決書,但在地區(qū)差異是否顯著影響量刑時得到了矛盾的結(jié)果。詳見王劍波:《我國受賄罪量刑地區(qū)差異問題實證研究》,《中國法學》2016年第4期;過勇、李松鋒:《貪污受賄案件刑事量刑的實證研究》,《經(jīng)濟社會體制比較》2018年第1期。而且,涉及大量數(shù)據(jù)處理的法學研究都沒有對其底層程序進行開源,導致后來的類似研究無法重復利用,不能在已有的程序基礎(chǔ)上進一步完善,也無法檢測原程序。如此則浪費時間和資源,重復勞動。比如隨著裁判文書的公開上網(wǎng),很多學者都在對已公開的文書進行全樣本提取、分析,這些工作有很多都是相同的,并且耗時耗力的,正如已有學者指出的,實證研究的成本是很高的?!?8〕同前注〔6〕,雷鑫洪文。這使得這類研究容易止于表面,各自為陣,難以深入和持續(xù)?!?9〕同前注〔9〕,陳柏峰文。計算機科學與生俱來的優(yōu)勢在于通過開源,能夠讓程序在不同的計算機上重復運行,使得后面的研究得以輕松地在前人的基礎(chǔ)上向前進,也使得后人可以檢測前人的程序,更好地實現(xiàn)優(yōu)勝劣汰,促進知識成果之間的競爭。本文旨在通過對獨特性的討論,加深對作為研究方法的計算法學的理解,嘗試提出該方法在處理大量判決書時的一些通用方法、基本步驟和要求,希望能促進此類研究的規(guī)范化,提倡程序代碼的開源,提高對已有研究的檢測和再利用。

      二、計算法學方法的獨特性及其可能產(chǎn)生的價值

      計算法學方法之所以能稱為一種新的法學研究方法,而不僅是定量法學研究方法中的一種處理數(shù)據(jù)的方法,一方面是因為從計算社會科學延伸而來的計算法學具有獨立的研究對象、研究方法和研究領(lǐng)域,另一方面是計算法學方法具有迥異于其他法學研究方法的運用計算機處理海量數(shù)據(jù)的顯著特點。正因如此,計算法學方法除了能夠獲取、處理海量判決書外,還可以在非定量法學研究問題中發(fā)揮作用。

      (一)計算法學具有獨立的研究對象、研究方法和研究領(lǐng)域

      計算法學從計算社會科學延伸而來。而計算社會科學并不僅指一種新的研究方法。正如導言中提及的2009年在《科學》雜志上發(fā)表的那篇文章所述,它是指現(xiàn)代計算技術(shù)與社會科學之間的一門交叉學科,與通過調(diào)查問卷或抽取小樣本進行分析的傳統(tǒng)社會科學不同,是由現(xiàn)代網(wǎng)絡(luò)生活催生的,能夠通過各種新技術(shù)獲取長時間的、持續(xù)的、大量人群的行為和互動數(shù)據(jù),從而為研究動態(tài)的大型的網(wǎng)絡(luò)社會演化等問題提供堅實的基礎(chǔ)?!?0〕參見張鑒、孔麗華:《〈Science〉雜志發(fā)表關(guān)于計算社會科學的文章:Computational Social Science》,《科研信息化技術(shù)與應(yīng)用》2010年第2期。它因為具有獨立的研究對象、研究方法、研究領(lǐng)域和目的而得以成為一個新的學科。其實在自然科學、經(jīng)濟學、社會學等領(lǐng)域已先后出現(xiàn)了計算物理學、計算經(jīng)濟學、計算社會學等學科概念?!?1〕同前注〔15〕,錢寧峰文。與之相應(yīng)的,計算法學也具有超過研究方法的更為廣泛的含義。它具有新的研究領(lǐng)域,包括政法輿情分析、法治國情調(diào)查、法律數(shù)據(jù)庫分析等;〔22〕同上注。具有新的研究對象,包括數(shù)據(jù)獲取的正當途徑、數(shù)據(jù)及數(shù)據(jù)庫的權(quán)利屬性、代碼程序軟件等的權(quán)利屬性等;具有新的研究手段,包括各種計算機語言、不斷涌現(xiàn)的計算方法和開源程序;具有新的研究思維,即讓計算機智能化處理大量數(shù)據(jù)的計算思維。本文討論的是計算法學的研究方法。廣義上來講,本文所指的計算法學方法和計算法學的研究方法是不同的。因為研究計算法學,特別是數(shù)據(jù)等權(quán)利屬性,也會用到價值判斷、規(guī)范研究和傳統(tǒng)實證研究的方法。不過計算法學的研究方法中最主要、最具特點的方法還是本文所指的運用計算機科學智能化處理大量法律數(shù)據(jù)以解決法律問題的方法。也正是因為這種方法的能力,使得計算法學可以具有其他法學方法難以研究的新的研究對象和研究領(lǐng)域。

      (二)計算法學方法的獨特性

      計算法學方法與其他法學研究方法有兩點顯著不同。一是,它能處理大量的數(shù)據(jù)。這里的大量既指超過人類手工能夠處理的數(shù)量,比如十幾萬、幾十萬甚至幾百萬份判決書,也指能夠高效地處理手工可以處理的數(shù)量,比如用一臺普通電腦在一兩周的時間內(nèi)處理幾千份文書。而事實上對于同類的文書,處理的時間主要花在編寫和調(diào)試程序上,所以處理少量和多量的判決書所花的時間相差不多,計算法學方法因而更傾向于處理大量的數(shù)據(jù),所以往往會對全樣本進行分析,而不再受限于隨機抽樣的要求?!?3〕同前注〔10〕,白建軍文。諸如“截止到某日之前的所有在裁判文書網(wǎng)上公開的某一類罪名的判決書”就成為運用計算法學方法的文章的常用表述?!?4〕同前注〔4-6〕所列諸文。而且這里的“處理”不僅指讓計算機從法律文書中提取數(shù)據(jù),還包括獲取、打開、清洗/格式化、輸出、存儲、檢索、更新大量文書,以及對所提取的信息進一步批量處理等一系列的操作。二是,它對數(shù)據(jù)的處理主要是通過計算機而非人類來完成的,所以它需要項目人具有能夠與計算機溝通的能力,能夠理解計算機運行的情況,并將對大量文書的處理要求轉(zhuǎn)化成計算機可以理解和執(zhí)行的命令。這要求項目人掌握一門高級計算機語言和理解計算機的運行思維。高級計算機語言,并不是復雜、難懂的語言,而是指與人類語言最為接近的計算機語言;它便于人類掌握,從而與計算機溝通。常見的有python, java等。〔25〕詳見嵩天,《Python語言程序設(shè)計》慕課課程,教學課件PPT1.1第19頁;關(guān)于Python的介紹詳見:https://docs.python.org/3/tutorial/index.html,2019年3月13日最后訪問。關(guān)于Java的介紹詳見:https://www.runoob.com/java/java-intro.html,2019年3月13日最后訪問。人類可以通過這類語言編寫程序,進而被編譯器轉(zhuǎn)換成匯編語言,再由計算機來執(zhí)行。所以法律人掌握這類高級語言是很容易的,它有遠比中文、英語等人類語言更為簡單的語法層次和結(jié)構(gòu),需要記憶的內(nèi)容也非常少。〔26〕像常用的高級計算機語言Python就只有33個保留字是需要記憶其具體含義的。掌握語言之后還需要能夠?qū)⒎裳芯繂栴}形式化為可以被計算的問題,或者由計算機進行演算的過程,就像在法律實證研究中都需要把抽象的理論問題轉(zhuǎn)化為可以被驗證的具體的假設(shè)一樣,只是計算法學方法中要求轉(zhuǎn)化過來的是計算機能夠演算的以計算機語言表達出來的問題和操作步驟。掌握這些能力是在計算法學應(yīng)運而生后對法律人的基本要求,不應(yīng)再被當作是非法律的技術(shù)問題而拒之千里。〔27〕同前注〔15〕,錢寧峰文。

      (三)計算法學方法可以在定量法學研究之外的領(lǐng)域產(chǎn)生價值

      計算法學方法在本質(zhì)上是將一個法律研究問題的一部分或全部形式化為可以計算的問題,或者由計算機演算的過程;它往往是抽象、模擬人們思考和解決這一法律問題時的過程,再由計算機執(zhí)行這一過程予以解答。所以雖然計算法學方法因其主要用于處理大量法律數(shù)據(jù)而與定量實證法學研究聯(lián)系頗緊,但若因此而認為計算法學方法是傳統(tǒng)定量研究方法的分支,并將其局限于傳統(tǒng)定量研究的領(lǐng)域則未免狹隘了。比如,以規(guī)范研究為主的教義法學素來強調(diào)法律概念、形式法治、法律體系的自洽,排斥以非法律因素為由對法律規(guī)范的隨意解讀。但是由于語言天然的模糊性、可解釋性、語義的變遷等特點,要實現(xiàn)同一時期人數(shù)眾多的社會群體對法律規(guī)范的統(tǒng)一理解是非常困難的,更別說是不同代人的理解了。其實就是要讓同一個法學家完成我國當今所有法律,或者某一部門法律的所有法條的全部梳理,建立起法律體系,確定每個法條在其中的坐標與其他法條之間的聯(lián)系,消除矛盾和歧義,并能保持更新,都是過于理想化了。但是計算機在完成這類工程里卻有先天優(yōu)勢,因為計算機有巨大的存儲空間,知識可以不斷累加,不受記憶的限制,可以完美地傳遞和更新知識。而且計算機運行要求百分之百的準確,不允許有歧義和矛盾,對體系和結(jié)構(gòu)的要求更是不容有錯,否則就無法運行。所以雖然暫時計算機還未用于規(guī)范研究,但可以預見隨著法律人更為深刻地理解計算法學方法,這類方法被用于規(guī)范研究是完全可能的。另外,目前政法實務(wù)界正在如火如荼進行的運用算法建立定罪量刑模型〔28〕亦有法律學者開始關(guān)注如何建立這些模型。參見同前注〔5〕,白建軍文;同前注〔14〕,張妮、蒲亦非書,第2、3章。其實也是運用計算法學方法來研究和確定法律規(guī)范或概念的可解釋邊界。

      (四)計算法學方法在定量法學研究中的價值

      具體到定量法學實證研究中,計算法學方法的作用可以細分為三大類。一是自動獲取大量判決文書。雖然自最高院積極推行法院判決文書上網(wǎng)以來,越來越多的判決書公布在中國裁判文書網(wǎng)上,也進而被openlaw、無訟、北大法寶等第三方平臺收錄和轉(zhuǎn)載,但是若要手動從網(wǎng)上下載則費時無效。每篇文書下載的過程都是重復的,所以可以通過代碼讓計算機自動重復這一過程,完成大量文書的下載。

      二是自動提取文書信息。這是將定量研究中對文書進行編碼的過程由人力轉(zhuǎn)變?yōu)橛嬎銠C完成。計算機能夠提取的信息按其完成的難度和準確度可以分為三類。第一類是在相對固定位置有相對固定表述的信息,比如案件名稱、當事人及代理人信息、法院/公訴人信息、審判時間/地點、審判人員等。這些信息出現(xiàn)的位置一般在判決書標題、開頭或結(jié)尾,表述都有特定的詞匯,雖然偶有變化,但是可以通過少量列舉的方法讓計算機辨別。第二類是位置不太固定、表述較多變化的信息,比如受賄罪判決書處理中的受賄次數(shù)、受賄金額、行賄人數(shù)等信息。這些信息有的出現(xiàn)在總結(jié)句中,有的散落在整個文書中需要計算;信息的表述多種多樣,跨度很大。以受賄金額為例,可以有多種貨幣,還可能包括多類財物。所以難以用簡單的列舉讓計算機通過搜索文書來完成,需要抽象人在閱讀文書時獲取這些信息的思考過程來讓計算機模擬進而不斷重復,遍歷所有文書予以提取。第三類是不能直接提取、需要通過構(gòu)建可提取的要素的算法或組合才能獲得的信息,比如受賄人的職級、是否積極為他人謀利、法官對證據(jù)確實充分的內(nèi)心確信程度、嫌疑人的社會危險性等。這些信息不會直接在文書中載明;有些本身就足以成為一個法學研究子命題。這些信息需要轉(zhuǎn)換成若干可從文書中直接提取的信息(本文稱之為“要素”)的某種組合或者算法來由計算機獲得?!?9〕本文將可以從文書中直接提取的構(gòu)成某一更為抽象信息的信息稱為要素,將抽象信息具象化為要素的具體算法的過程稱為要素化過程。這也是目前智慧司法開發(fā)軟件的幾大公司通用的說法。比如元典、法信、國雙等公司在分析判決文書、構(gòu)建人工智能定罪量刑/類案推送模型時都是通過要素化過程將一些比較抽象的情節(jié)轉(zhuǎn)換成可直接提取的要素來進行的。這些信息是由筆者在2018年4月到5月期間于北京、上海、浙江等地在上述公司和運用這些公司研發(fā)的智慧司法軟件的法院、檢察院進行調(diào)研時獲得的。這一轉(zhuǎn)換需要有法學理論的支持和引導,亦是模擬符合條件的法律人思考該法律問題的過程來得到。〔30〕筆者曾在調(diào)研北京某區(qū)級法院的某套司法輔助斷案軟件,并訪談該軟件開發(fā)的負責人員時了解到這樣一個例子,可以較好地說明這一過程。該例子中要提取的是既有判決中法官們是如何確定肖像權(quán)損害的賠償數(shù)額這一信息。為了提取這一信息,首先需要根據(jù)法條梳理和訪談多個法官確定法官們一般會遵守的思考這一問題的過程,將它要素化為若干可直接提取的要素的算法,比如被侵權(quán)人的身份、被侵犯的照片的性質(zhì)、有多少人看過侵權(quán)的照片等,以及這些信息的影響權(quán)重。再通過對既有判決中這些要素的提取和分析,來增刪要素、檢驗和修改它們的影響權(quán)重,最終得到合適的算法,并通過計算機從大量既有判決中提取這一信息。該調(diào)研由筆者在2018年4月中旬于北京某信息學院完成。與定量研究中將抽象理論形式化為可操作、可驗證的具體假設(shè)類似,這里則是將這些更為抽象的信息轉(zhuǎn)化為可直接提取的要素的組合或算法。

      三是自動更新文書、提取的信息和用以提取抽象信息的算法。大數(shù)據(jù)時代數(shù)據(jù)的特點之一就是實時、持續(xù)更新;裁判文書網(wǎng)上的判決書也每天在增加。雖然法學研究都是針對截止某日期之前的固定的樣本庫,但是如果計算機能夠自動更新已有樣本庫,增加新公布的判決書,并及時自動從中提取信息,那么過一段時間后研究新公布判決書與舊樣本庫之間的變化就變得非常輕松了。另外,機器學習的方法還使得計算機能夠根據(jù)新判決書的信息自動或者提示項目人更新對抽象信息進行提取的算法,包括發(fā)現(xiàn)新的要素和修改已有要素的影響權(quán)重。

      三、計算法學方法的基本思維

      前文已經(jīng)解釋了計算法學方法的含義。不過,一種新的研究方法應(yīng)當具有獨特的不同于其他研究方法的基本思維。那么,計算法學方法的基本思維是怎樣獨特的呢?本文認為,計算法學方法體現(xiàn)了計算思維和法學思維的融合,而不是簡單地拼接。計算法學思維具有獨立的復雜性和學術(shù)價值,一般有四個基本步驟:將法學問題形式化為可計算的問題,選擇合適的計算方法,設(shè)計需要的計算機功能,以及編寫程序?qū)崿F(xiàn)設(shè)計的功能。

      (一)計算思維是區(qū)別于邏輯思維和實證思維的第三種思維模式

      由于計算法學方法目前主要用于智能化編碼大量法律文書,從中提取信息,所以很多時候計算法學方法體現(xiàn)的是一種搜索思維,即遍歷所有文檔檢索項目人輸入的詞語,然后存儲、計算和輸出。如此直觀和簡單以至于難以稱得上是一種思維。如此,計算法學方法似乎不算擁有自己獨特的思維了。顯然這種理解只停留在計算機發(fā)展初期。經(jīng)過半個多世紀指數(shù)級的發(fā)展,計算機的計算能力即將在2020年達到一個成人大腦的水平?!?1〕參見王文敏,《人工智能原理》慕課課程,教學課件PPTA-1-2第11頁,轉(zhuǎn)引自:http://waitbutwhy.com/,2019年3月13日最后訪問。計算機能夠完成的任務(wù)、進行的思考和處理的問題的復雜度都足以將其與機械化機器區(qū)別開來,而被稱為智能化的機器,又稱人工智能。而通過充分利用和發(fā)展計算機的能力來解決問題的思維也被計算機科學界稱為人類歷史上區(qū)別于邏輯思維和實證思維的第三種思維模式,即計算思維。〔32〕同前注〔25〕,嵩天課件,PPT1.1第32頁。這種思維目前可以細分為對計算機四種能力的開發(fā)和運用,即檢索、推理、規(guī)劃和學習的能力?!?3〕同前注〔31〕,王文敏課件,PPTA-2-1第2頁。隨著計算科學的不斷發(fā)展,計算思維也會不斷深化和擴展。本質(zhì)上講,計算思維就是一種通過發(fā)展和運用計算機能力來解決問題的思維,它需要將問題形式化為能被計算的問題,進而將其求解過程抽象出來,并由計算機模擬和執(zhí)行予以解決。這里的“能被計算”并不是指數(shù)學或者統(tǒng)計學運算,而是指能被計算機運算。計算機科學的基礎(chǔ)不僅有數(shù)學、統(tǒng)計學,還有邏輯學、哲學、心理學等。

      (二)計算法學思維是計算思維和法學思維的融合,具有四個基本步驟

      根據(jù)上文所述,由于計算法學思維是計算思維在法學問題中的體現(xiàn),所以本文認為計算法學思維是這樣一種思維,它以研究或解決某一法學問題為任務(wù),通過運用已有的計算機方法,在已有的計算機能力基礎(chǔ)上培養(yǎng)或發(fā)展完成任務(wù)所需要的計算機能力,再通過這一能力完成任務(wù),并通過任務(wù)完成的好壞檢測和完善計算機能力。它是計算機科學與法學思維的結(jié)合。它要求法律人在解析法學研究問題時能夠意識到怎樣的法學問題有可能并且適合通過計算機實現(xiàn),設(shè)想出將問題分解為計算機可實現(xiàn)問題的路徑,并能進一步了解實現(xiàn)需要的方法和條件是否存在,以及掌握建立條件、運用方法讓計算機實現(xiàn)研究的能力。它的基本步驟可以分為四步。

      第一步,將法學問題形式化為可計算問題。什么是可計算的問題至今沒有統(tǒng)一確定的答案。不過,第(一)點討論的當前計算機具有的四種能力在法學問題中皆有用武之地。首先是常見的檢索能力,即在大量法律文書中自動檢索需要的信息。這種能力也是目前計算機發(fā)展得最豐富的一種,包括有條件和無條件檢索、有啟發(fā)和盲目檢索、單個和群檢索等,〔34〕同前注〔31〕,王文敏課件,PPT 第 3、4章??梢杂脕硖幚聿煌瑪?shù)量、屬性、狀態(tài)和結(jié)構(gòu)的數(shù)據(jù),提取所需要的信息,以及分析直接提取的信息以發(fā)掘出隱蔽的信息。判決書只是一種法律文書,還有比判決書更大量、更動態(tài)、更交互的法律數(shù)據(jù),比如政法輿情、法治國情等領(lǐng)域研究的數(shù)據(jù),〔35〕同前注〔15〕,錢寧峰文。需要有更高級、復雜、豐富的檢索方法才能更有效地完成相關(guān)研究的任務(wù)。然后是與規(guī)范法學研究思維最接近的計算機推理能力。這種能力是建立在計算機知識庫工程建設(shè)的基礎(chǔ)上。通過計算機邏輯語言將知識表示出來,形成知識圖譜,讓計算機能夠掌握,再通過以計算機邏輯模型表達的規(guī)則,讓計算機知道如何檢索、關(guān)聯(lián)、運用和更新這些知識。這其實就是前一部分所說的要素化過程:要素就是知識,基于要素的算法就是規(guī)則。這正是目前智慧司法及類案智能推送軟件開發(fā)的基本思路,即先建立法律知識圖譜,然后讓計算機根據(jù)圖譜對判決文書進行要素化,再根據(jù)規(guī)則分析提取的要素,從而判斷法律爭議點,是否為類案,以及如何判罰。〔36〕同前注〔7〕,左衛(wèi)民文。計算機規(guī)劃的能力在法學研究中的運用尚不明顯,但是計算機學習的能力已經(jīng)得到了很多法學學者的關(guān)注,這種能力多被稱為機器學習。〔37〕參見左衛(wèi)民:《關(guān)于法律人工智能在中國運用前景的若干思考》,《清華法學》2018年第2期;王利民:《人工智能時代對民法學的新挑戰(zhàn)》,《東方法學》2018年第3期。機器學習是指機器從數(shù)據(jù)或數(shù)據(jù)的計算中積累經(jīng)驗獲取技能?!?8〕同前注〔31〕,王文敏課件,PPT9-1第14頁。被普遍認為是這樣一種能力,即:一個針對某類任務(wù)T和性能度量P的計算機程序,如果它在完成T任務(wù)中的性能,如P度量所示,隨經(jīng)驗E而改善的話,它就被認為具有從經(jīng)驗E中學習的能力?!?9〕Tom Mitchell, Machine Learning, published by McGraw-Hill Education; 1 edition(March 1, 1997), Introduction.機器學習目前的運用場景主要是分類、回歸分析、聚類、對數(shù)據(jù)降維等?!?0〕同前注〔31〕,王文敏課件,PPT第10章。這些場景里都有各種各樣的法律問題。比如確定某一法律概念的內(nèi)涵和外延、將某一法律現(xiàn)象歸類等就屬于分類和集合的場景。又如前一部分所述,機器學習既可以用來讓計算機掌握知識圖譜,又可以讓其自動提示或直接更新已有的要素或算法。

      換言之,這些法學問題都可能轉(zhuǎn)化為可計算的問題,讓計算機能夠派上用場,所以不要認為只有定量法學研究問題才是可計算的問題。目前學界認為,可計算問題的核心特點是其表述明確無歧義,其解決過程自洽無矛盾?!?1〕Joshua Kroll, et.al., Accountable Algorithms, 165 U.Penn L.R.633(2017), pp.695~696; Cary Coglianese & David Lehr,Regulating by Robot: Administrative Decision Making in the Machine-Learning Era, 105 Geo.L.J.1147(2017), p.105.比如,要讓計算機編碼判決書,則要明確要提取的具體情節(jié),對于可以直接提取的情節(jié),則明確給出要提取的字段或表述;對于不能直接提取的,則明確給出具體的要素和算法。又如,要通過判決書研究法官理解的受賄罪保護的法益是公權(quán)力的不可收買性還是廉潔性〔42〕由于學界關(guān)于受賄罪保護的法益到底是公權(quán)力的不可收買性還是廉潔性存在爭議,所以這一研究是有現(xiàn)實意義的。參見張明楷:《受賄犯罪的保護法益》,《法學研究》2018年第1期;黎宏:《受賄犯罪保護法益與刑法第388 條的解釋》,《法學研究》2017年第1 期。,則要明確不可收買性和廉潔性的具體含義和不同,表現(xiàn)為可計算的問題則是二者對應(yīng)的案件集的不相交元素的集合,再對判決書的案情和結(jié)果做歸類處理。將法學問題轉(zhuǎn)變?yōu)榭捎嬎銌栴}的難點在于法學問題往往是不明確、存在變化、可能出現(xiàn)矛盾的。特別是法學理論問題,法律人對其的理解也是局限的、不充分的。所以在轉(zhuǎn)換時需要采取假設(shè)—檢驗或者觀察—歸納的方法,這兩種也是通用的計算機推理方法?;蛘咴诿鎸γH粺o知、變化多端的情形時,可以采取盲目檢索或機器學習的方法讓計算機自行發(fā)現(xiàn)一些特點,啟發(fā)法學問題的形式化。

      第二步,選擇合適的計算方法。經(jīng)過半個多世紀的發(fā)展,目前存在著豐富多樣的計算方法。同一問題通過計算機實現(xiàn)的路徑也有很多。應(yīng)當根據(jù)任務(wù)的性質(zhì)、所需數(shù)據(jù)和可獲取數(shù)據(jù)的特點、任務(wù)完成好壞的檢測指標選擇合適的方法或方法的組合。比如對于像判決書這類較規(guī)范文書信息的提取運用正則表達式進行簡單、直接的檢索可以比使用如自然語言處理等更復雜高級的技術(shù)更加有效和準確?!?3〕詳見本文第四部分。但是對于涉及法律概念的理解等對語義要求更高的問題則需要借助更加復雜的語言處理技術(shù)。對于像輿情實時分析等數(shù)據(jù)海量、及時更新的情形則需要運用大數(shù)據(jù)的處理方法。方法的選擇是一個不斷嘗試、檢測、更新的過程。方法中具體算法的選擇和優(yōu)勝劣汰更是一個需要群體性力量有效疊加的過程。這也要求并且促使計算法學思維比其他法學思維更加開放、更加廣闊、更加需要群體力量。

      第三步,設(shè)計需要的計算機功能。以造房子為例,形式化問題、選擇好方法后只能說是確定了房子的基本框架,獲得了可用于造房子的工具和原材料,但是房子具體怎么建起來、每一層/每個房間的具體構(gòu)造、層間的聯(lián)結(jié)等則是第三步的工作。比如:在確定需要計算機直接提取的字段后,就要對判決文書分詞;在確定運用第三方開發(fā)的jieba中文分詞模塊來對文書進行分詞后,〔44〕關(guān)于jieba中文分詞模塊的介紹詳見:https://github.com/fxsjy/jieba,2019年3月13日最后訪問。則要在該模塊基礎(chǔ)上進一步編寫提取指定字段的具體功能(function),包括如何確定字段在文書中出現(xiàn)的位置、如何確定是要提取的字段而非同字異義的情況等。只有設(shè)計好具體的功能,給定這些具體的條件,才能實現(xiàn)對被選擇的方法的運用。設(shè)計功能是將問題與方法相連的過程。通過方法,構(gòu)造出具體的功能,一步一步地將問題的求解路徑明確出來。

      第四步,編寫程序,實現(xiàn)設(shè)計的功能。程序是功能在計算機中具體實現(xiàn)的形式。設(shè)計好的功能需要通過程序,給定參數(shù),予以調(diào)用,確定調(diào)用的先后順序和條件,讓計算機具體執(zhí)行。實現(xiàn)功能的過程是非常煩瑣、細致的,不僅是對功能的具體調(diào)用,還需要做好至少三方面的工作。一是系統(tǒng)環(huán)境、編程環(huán)境、方法的調(diào)試。一套用高級計算機語言編寫好的功能放在某個特定的操作系統(tǒng)、編譯環(huán)境中需要與這個環(huán)境銜接好才能順利被該計算機理解和執(zhí)行。同樣的,第三方研發(fā)的方法和模塊也需要與編程環(huán)境銜接好后才能被順利調(diào)用。二是清洗輸入數(shù)據(jù),設(shè)定輸出數(shù)據(jù)的格式。程序化的功能如同造好的機器,輸入的數(shù)據(jù)就像原材料,輸出數(shù)據(jù)則是原材料經(jīng)過機器運轉(zhuǎn)加工后得到的產(chǎn)品。就像不合格的原材料無法讓機器正常運轉(zhuǎn)一樣,不符合程序要求的數(shù)據(jù),包括格式、屬性、結(jié)構(gòu)等,是無法被計算機正常打開和讀取的。程序還要告訴計算機如何處理新增數(shù)據(jù),以實現(xiàn)數(shù)據(jù)更新。功能運轉(zhuǎn)后得到的結(jié)果是否要輸出、輸出的形式、存儲的路徑等也要在程序中設(shè)置清楚,以便人工查找和閱讀。三是設(shè)定錯誤檢測和處理。由于計算機要求百分之百的準確和自洽,所以極易因為難以預見的問題或瑕疵而無法運轉(zhuǎn)。錯誤檢測可以將錯誤的信息捕捉并反饋給項目人,以便有針對性地修改程序,提高效率。

      (三)計算法學思維不是計算思維和法學思維的簡單拼接,具有獨立的復雜性和學術(shù)價值

      雖然計算法學思維有上述特性,但是它目前還沒有被認為是獨立于其他法學研究方法之外的思維。雖然法學界對計算機科學技術(shù),特別是機器學習表現(xiàn)出濃厚的興趣,但是這種興趣還停留在實踐摸索和高談闊論的階段。在嚴肅的學術(shù)討論中,計算法學方法仍被認為是定量法學研究方法中編碼文書的一種方法。因其只關(guān)乎數(shù)據(jù)處理,或因其涉及具體的代碼編程,而不被認為是一種獨立的法學方法。涉及計算機運用的法學研究的思維被認為是將計算思維和法學思維簡單地拼接,由法律人提出問題,由計算機專業(yè)人員負責編寫代碼、讓計算機執(zhí)行,返回數(shù)據(jù),再由法律人分析數(shù)據(jù)完成研究。這幾部分被認為是相互獨立,可以分離的。這種觀點進一步認為,法律人只需要具有以往的法學思維即可,涉及計算機的部分只需通過跨學科合作研究、聘請第三方專業(yè)公司、組織計算機專業(yè)學生等來完成即可,從而否定計算法學思維的獨立性,否定針對算法設(shè)計、計算機功能選擇以處理基礎(chǔ)的法律問題的研究獨立的學術(shù)價值。結(jié)合前文的定義和解釋,這種認識顯然是不對的。原因如下:

      首先,在法律人與計算機專業(yè)人員的合作研究中,各自負責的部分之間不是獨立分離的,而是互相融合的。不具有計算思維的人難以意識到怎樣的法學問題是可計算的問題,而沒有法學思維的人根本就提不出有法學研究意義的問題。如此,計算機在法學研究中的運用就只能靠偶然的機會來產(chǎn)生,只能局限在狹窄、表面的領(lǐng)域。即使在有限的運用中,不懂計算思維的法律人無法檢測功能設(shè)計、程序編寫的正確性和合理性,無法判斷數(shù)據(jù)的可靠性,只能被動地接受返回的數(shù)據(jù),再進行人工檢測。但對于海量的數(shù)據(jù),即使抽取百分之一的樣本量進行檢測,也是人力難以完成的。而沒有法學思維的人在設(shè)計功能時難以正確理解法學問題的豐富內(nèi)涵,在具體化的過程中很容易出現(xiàn)偏差、存在偏見而不自知。這些都進一步限制了計算科學在法學中的運用。

      然后,由于法學、計算機科學是兩個都很復雜、有各自話語體系、相差甚遠的學科,讓法學學者再去掌握計算機技術(shù)實在艱難,所以當下提倡跨學科合作研究,希望由此來解決這一困難。但是由于計算法學思維的獨立性并沒有得到法學界或計算機科學界的認可,相關(guān)的交叉學科尚未真正建立,所以涉及計算機運用的法學文章要么因為涉及具體的功能設(shè)計和程序編寫而被認為不屬于法學問題,要么因為研究的問題法學價值不高而被拒絕。畢竟,在發(fā)展初期,能夠運用計算機完成的法學研究還是比較簡單的;這類文章的價值更多是體現(xiàn)在該研究是通過計算機完成的,而不在于其解決了怎樣的法學問題;但這一價值目前不被學界認可。同理可得,這類合作研究的成果也不被計算機科學界認可。所以此類合作研究的困境在于其成果往往具有實踐意義,但卻不被認為具有學術(shù)價值,因為認可這類學術(shù)價值的學科和學術(shù)圈尚未形成。

      再者,實踐先行,理論單薄。雖然理論文章難以發(fā)表,但是不影響此類合作項目的日益增多。正如導言所述,根據(jù)大數(shù)據(jù)、人工智能的國家戰(zhàn)略部署,政法實務(wù)界對智慧司法、檢務(wù)的熱情高漲,相關(guān)程序的開發(fā)在政法部門的領(lǐng)導下由大數(shù)據(jù)企業(yè)具體負責;一些已經(jīng)開發(fā)好的程序都已經(jīng)在某省或某市范圍內(nèi)開始運行。但是由于嚴謹?shù)膶W術(shù)討論、體系的理論研究的缺位,這些程序到底情況如何,功能設(shè)計是否合理,可能存在的問題等都沒有得到充分的討論,更缺少形成共識的平臺。由于這些程序是商業(yè)化開發(fā)的結(jié)果,所以更不可能開源和接受檢測,也不利于之后的再開發(fā)和再利用。這些程序,比如正在研發(fā)的定罪量刑模型,既應(yīng)符合規(guī)范法學研究中對法條的解釋,又應(yīng)滿足實證法學研究中對模型合理性的要求。如果在研發(fā)過程中能夠經(jīng)過嚴謹?shù)膶W術(shù)討論,得到理論上的指導,則能形成更加成熟、穩(wěn)定的模型,也能減少研發(fā)過程中的彎路。而這些都要求學界能夠認可計算法學研究的獨立價值,促進計算法學思維的發(fā)展,產(chǎn)生指導計算機在法學中運用的理論成果。

      最后,計算法學思維獨立性的學術(shù)認可對于計算法學良性生態(tài)的形成至關(guān)重要。計算生態(tài)其實早已形成,即世界各地的程序員都可以自由選擇某一合適的操作系統(tǒng)或編程環(huán)境,在其上進一步開發(fā)自己設(shè)想的更高級的程序,后人又能在其開發(fā)的程序上向前進;已有的程序在被后人的使用過程中得到檢測、完善或淘汰,實現(xiàn)程序的優(yōu)勝劣汰和快速更迭。由于計算法學尚未形成有生力量,其生態(tài)自然難以形成。另外,由于計算法學研究主要以商業(yè)化的形態(tài)存在,所以成果都是商業(yè)產(chǎn)品,很難開源。而開源是前述計算生態(tài)得以形成的基礎(chǔ),所以如果放任計算法學研究繼續(xù)以商業(yè)化形態(tài)存在,則前述的良性生態(tài)將不可能形成。必須承認計算法學思維的獨立價值,形成能夠認可計算法學研究獨立學術(shù)價值的學術(shù)圈,才能促使這些研究學術(shù)化,相關(guān)研究成果才能以學術(shù)文章的形式公布,程序代碼才可能被學者公開,進而推動企業(yè)開源,如此才能更好地促進計算法學研究的有效疊加和良性競爭。

      四、計算法學方法在司法實踐中的具體運用——對海量判決書的處理

      既然計算法學方法具有獨特的基本思維,其獨立性得到認可具有重要意義,那么那些討論如何培養(yǎng)計算機能力以解決某一或某類法學問題的文章就不應(yīng)因其關(guān)注具體的算法設(shè)計或技術(shù)實現(xiàn)而被認為是沒有價值的。相反,應(yīng)當提倡此類文章具體地討論這些問題,提出解決某一或某類法學問題的通用模塊和算法。學界其實已有學者開始討論具體的計算模型?!?5〕同前注〔5〕,白建軍文;同前注〔14〕,張妮、蒲亦非書,第 2 章。只有通過學術(shù)性的公開、具體的討論,才能讓后人在前人研究的基礎(chǔ)上繼續(xù)開發(fā)計算機能力解決更復雜的法學問題。本文也向著這一方向努力,所以在本部分進行具體的討論。目前計算法學尚在發(fā)展初期,萬事開頭難,能夠?qū)崿F(xiàn)計算機在一些直觀、簡單的法學問題中的運用已不容易,而且底層數(shù)據(jù)的計算化處理對于后續(xù)更深入的研究具有打基礎(chǔ)的意義,應(yīng)當盡可能地進行充分、嚴肅的學術(shù)推敲和討論。因而本部分就當前計算法學的主要運用場景——智能處理判決書展開詳細地討論,并以兩萬余份受賄罪判決書的處理為例,提出一些具體的功能、模型設(shè)計和通用的方法、程序編寫,以便后續(xù)研究使用、檢測和批評。不論是處理哪類案由的判決書,運用計算機處理都包括五個步驟。下文對各個步驟如何進行、需要注意的問題,以及具體情形的處理方法展開討論。

      (一)判決書的獲取

      眾所周知,中國裁判文書網(wǎng)是全國各地法院在互聯(lián)網(wǎng)公開裁判文書的唯一官方途徑,因此,中國裁判文書網(wǎng)理論上是首選的數(shù)據(jù)源。此外,互聯(lián)網(wǎng)上還存在一些司法案例搜索引擎,例如北大法寶、威科先行、無訴案例等,它們通常能夠提供更大下載量的批量下載功能,但是為了避免在短時間內(nèi)被大量下載致使“脫庫”〔46〕“脫庫”是信息安全行業(yè)對信息系統(tǒng)數(shù)據(jù)遭受非法泄露的一種通俗稱呼?;ヂ?lián)網(wǎng)上的各種數(shù)據(jù)都是公開的,但不意味著數(shù)據(jù)所有者(或者說“控制者”)希望或允許任意用戶在任意時間獲取任意規(guī)模、任意形式的數(shù)據(jù),特別是具有商業(yè)價值的數(shù)據(jù)。,一般都會限制對單日最大下載量和單次下載的時間間隔,這對學術(shù)研究而言無疑提高了獲取數(shù)據(jù)的人力和時間成本。如果研究所需的判決書數(shù)量達到數(shù)萬級別甚至更多,這種手工采集的方式可以說根本不可能完成任務(wù)。

      評價獲取判決書的手段有三個維度:一是獲取數(shù)據(jù)的完整性,即通過該種手段所能獲取的判決書數(shù)量應(yīng)當盡可能達到可被互聯(lián)網(wǎng)檢索的全部判決書的數(shù)量;二是獲取數(shù)據(jù)的效率,即獲取一份判決書的人力、時間成本應(yīng)當盡可能低,直至可以順利地采集超大數(shù)量的判決書;三是獲取手段可重復,任何研究者都可以通過該手段獲得相同的數(shù)據(jù),從而使相關(guān)的實證研究可被驗證。本文采用一種使用電腦程序自動、高效獲取判決書的手段,這種被稱為“爬蟲”〔47〕爬蟲的發(fā)生機制和互聯(lián)網(wǎng)應(yīng)用層的超文本傳輸協(xié)議(HTTP協(xié)議)密切相關(guān),更多信息可參閱[美]Clinton Wong: HTTP Pocket Reference, 2000。的數(shù)據(jù)采集技術(shù)已經(jīng)在科技、金融、醫(yī)療等眾多領(lǐng)域得到廣泛運用?!?8〕參見王悅:《基于數(shù)據(jù)挖掘算法的金融數(shù)據(jù)采集與分析研究》,碩士論文,天津大學,2016;卞偉瑋、王永超、崔立真等:《基于網(wǎng)絡(luò)爬蟲技術(shù)的健康醫(yī)療大數(shù)據(jù)采集整理系統(tǒng)》,《山東大學學報(醫(yī)學版)》2017年第6期。簡言之,爬蟲是一道計算機程序,能夠模仿和重復人類訪問網(wǎng)站的行為(因此又被稱為“Robot”)。通過爬蟲訪問提供判決書的網(wǎng)站能夠快速、高效、低成本地獲取判決書。

      使用爬蟲獲取判決書的基本流程分為三步。第一步,確定一個提供判決書的網(wǎng)站作為爬取目標,了解其使用方法和一些技術(shù)參數(shù),關(guān)鍵的參數(shù)如向網(wǎng)站請求判決書的真實URL地址、檢索判決書時所提交的各項URL參數(shù)等則必須掌握,這些信息是編寫爬蟲的基礎(chǔ)。比如,在威科先行法律信息庫檢索包含“受賄罪”關(guān)鍵詞的裁判文書,瀏覽器上方顯示的URL地址是http://law.wkinfo.com.cn/judgment-documents/list?q=受賄罪,而通過抓包軟件分析可發(fā)現(xiàn)請求判決書的真實地址是http://law.wkinfo.com.cn/csi/filtertree/causeOfAction?searchId=03718c7cf25448e98ca4ed5e0e021f49,使用爬蟲訪問該地址才能正確獲得判決書。

      第二步,制定爬蟲策略,編寫爬蟲程序:〔49〕筆者在此提供一個自己編寫的爬蟲程序供參考:https://github.com/tsfnzjy120/paper_crawler,2019年3月13日最后訪問,該爬蟲曾在一周的時間內(nèi)爬取了三千多萬份裁判文書和二百多萬份法律文件。第一,對爬蟲訪問網(wǎng)站的速度應(yīng)當予以控制,使爬蟲速度不至于過快或過慢,速度過快會給目標網(wǎng)站的服務(wù)器造成較大壓力,容易遭到封禁,速度過慢則無法順利完成采集任務(wù)。第二,設(shè)計斷點續(xù)傳功能,〔50〕斷點續(xù)傳是指計算機程序能夠保存執(zhí)行進度,每次執(zhí)行時從上一次停止執(zhí)行的地方繼續(xù)執(zhí)行。提高程序的容錯性。否則,爬蟲在采集海量判決書時無法在短時間內(nèi)迅速完成,運行過程中的一個輕微錯誤就可能導致當前采集進度全部丟失,只能重新采集。第三,選擇適當?shù)姆绞奖4娌杉臄?shù)據(jù)。如果對存儲效率要求較高可讓程序直接寫入磁盤,但更普遍的做法是存入數(shù)據(jù)庫,〔51〕此處“數(shù)據(jù)庫”是一個專業(yè)術(shù)語,指數(shù)據(jù)庫管理系統(tǒng)(DBMS),它是一個計算機軟件,提供一個方便、有效、安全的數(shù)據(jù)存取環(huán)境。參見[美]Abraham etc:《數(shù)據(jù)庫系統(tǒng)概念》(第六版),楊冬青等譯,北京機械工業(yè)出版社2012年,第1頁。有利于數(shù)據(jù)的整理、備份和轉(zhuǎn)移。

      第三步,了解和規(guī)避目標網(wǎng)站的反爬蟲措施?!胺磁老x”是指網(wǎng)站采取技術(shù)保護措施,甄別訪問其網(wǎng)站的爬蟲程序并加以限制,以防自身數(shù)據(jù)被大量下載。比如,中國裁判文書網(wǎng)在搜索結(jié)果頁下方的“公告”處聲明:“任何商業(yè)網(wǎng)站不得建立本裁判文書庫的鏡像”,并設(shè)計了非常嚴厲的反爬蟲機制作為技術(shù)保障。〔52〕中國裁判文書網(wǎng)在HTTP請求中混入了vl5x、number、guid三個加密參數(shù),并且在訪問速度稍快時會彈出驗證碼。對用戶所能訪問的數(shù)據(jù)總量也有控制。判決書具有一定的商業(yè)價值,而獲取大量判決書究竟是出于商業(yè)目的還是研究目的僅從行為本身來看又不可能區(qū)分,因此,絕大多數(shù)網(wǎng)站都是不做區(qū)分地設(shè)置了嚴格的反爬蟲措施;而且,公開程度越高的網(wǎng)站其反爬蟲措施越嚴厲。對于非公開的付費網(wǎng)站,由于其訪問用戶已經(jīng)受到一定限制,它們的反爬蟲措施相對弱些。任何反爬蟲措施的首要任務(wù)是區(qū)分訪問其網(wǎng)站的正常用戶和爬蟲程序,因此,規(guī)避反爬蟲措施的核心在于混淆或者繞開這種區(qū)分機制,盡可能將計算機程序偽裝成人類用戶。

      爬蟲不是對手工采集方式的徹底否定,大多數(shù)案由的判決書數(shù)量都較少,只有民間借貸、機動車交通事故等少數(shù)民事案件和盜竊、交通肇事等少數(shù)刑事案件的判決書數(shù)量規(guī)模在數(shù)十萬份以上,基本不可能手工采集。對于低頻案由,編寫爬蟲所帶來的時間成本遠高于手工方式,直接使用網(wǎng)站自帶的“批量下載”功能也許更加方便。此外,手工采集的數(shù)據(jù)也可作為爬蟲的補充。本文所采集的兩萬多份受賄罪一審判決書是通過爬蟲程序采集?!?3〕相關(guān)程序參見前注〔49〕。

      (二)數(shù)據(jù)提取的基本步驟之準備工作:數(shù)據(jù)預處理

      在提取要素之前,為避免原始數(shù)據(jù)中存在的瑕疵,防止產(chǎn)生程序問題或者得到錯誤結(jié)論,有必要預先處理和解決一些數(shù)據(jù)本身存在的問題。判決書的預處理過程通常包括文件格式統(tǒng)一、文本內(nèi)容清洗、數(shù)據(jù)去重、數(shù)據(jù)篩選、生成標識碼幾項內(nèi)容,這些處理不僅能夠提高數(shù)據(jù)的質(zhì)量,解決原始數(shù)據(jù)中存在的數(shù)據(jù)不完整、不一致、有異常等問題,而且能夠讓數(shù)據(jù)更好地適應(yīng)信息提取工具或技術(shù)。

      第一,文件格式的統(tǒng)一。計算機程序自動處理判決書,首先要求判決書在計算機中的存儲格式必須一致。人工下載的判決書基本是word格式,這種文件格式便于人類瀏覽和編輯,但不適合計算機程序訪問和處理,因此,通常的做法是將word文件轉(zhuǎn)換為txt文件,或者直接將判決書的內(nèi)容存入數(shù)據(jù)庫,等到使用時再從數(shù)據(jù)庫中取出。統(tǒng)一文件格式時還需要處理文本的編碼方式問題,〔54〕文本編碼方式是指將計算機底層二進制數(shù)據(jù)映射為各種字符(數(shù)字、字母、漢字等)的規(guī)則,使用錯誤的編碼方式會導致二進制數(shù)據(jù)被解釋為不正確的字符,即產(chǎn)生亂碼。使用正確的編碼方式讀取文件,并用統(tǒng)一的文件編碼存儲文件。本文在處理兩萬份受賄罪判決書時將全部文件統(tǒng)一為UTF-8編碼的txt文件。

      第二,文本內(nèi)容的清洗。它包括三個方面的內(nèi)容:首先,除去判決書中的商業(yè)標識。通?;ヂ?lián)網(wǎng)上的各種案例搜索引擎都會將自身的商業(yè)標志、標語或者其他標識信息放入判決書,比如從威科先行法律信息庫下載的判決書就帶有公司的商標、名稱和二維碼。其次,除去一些不可見字符,比如 (換行符)和(r回車符),這些不可見字符雖然實際存在,但不會顯示在電腦屏幕上,可能會影響數(shù)據(jù)提取的準確性。最后,標準化標點符號。由于錄入的不規(guī)范,一份判決書內(nèi)可能會大量混用中文標點和英文標點、半角標點和全角標點,引發(fā)計算機程序的斷句困難。

      第三,數(shù)據(jù)去重,即除去重復的判決書。即使是從同一網(wǎng)站采集的數(shù)據(jù),也無法完全保證樣本之間互不重復,需要程序?qū)iT處理判決書的重復問題。通常的做法是先提取判決書的案號,根據(jù)案號判斷出重復的判決書并刪除。

      第四,篩選符合條件的判決書。雖然在檢索和采集數(shù)據(jù)時已經(jīng)采用一系列檢索條件保障判決書符合標準,但大多數(shù)情況下仍然會混入一些“臟數(shù)據(jù)”。比如,雖然在檢索判決書時已經(jīng)通過“高級檢索”功能將案由限制為受賄罪,但本文所采集受賄罪判決書中仍然混有大量的非國家工作人員受賄罪案件和判處其他罪名的案件。

      第五,為每一份文書生成標識碼。常用的編碼方案有多種,本文建議采用的方案是根據(jù)全部樣本的數(shù)量生成一套從0開始的序號,分配給每一份文書。這樣可以使計算機程序依次有序讀入判決書內(nèi)容,同時提取要素出錯時能夠快速定位出錯的判決書。

      (三)提取要素的通用過程和方法

      數(shù)據(jù)預處理后可以開始提取要素了。計算機處理文書一般有兩條技術(shù)路線:第一是使用一種名為“正則表達式”〔55〕詳見[美]Jeffrey E?F?Friedl:《精通正則表達式》(第三版),余晟譯,電子工業(yè)出版社 2007年版。的字符匹配技術(shù),編程人員首先大量閱讀和歸納判決書中的常用表述,編寫不同的“正則表達式”,可以直接定位判決書中的相關(guān)語句和提取有關(guān)要素。比如,判決的結(jié)果經(jīng)常使用諸如“根據(jù)中華人民共和國……法……判決如下:……”這樣的表述,通過正則表達式“根據(jù)中華人民共和國(.+?),判決如下:(.+?)?!薄?6〕這里的符號“.”表示任一字符,“?”表示盡可能少地匹配字符,“()”將它所括起的部分組合成一個新的整體??梢远ㄎ贿@一語句,并提取出援引的法條和判決結(jié)果。正則表達式的含義豐富、功能強大,不僅能夠直接定位語句和要素,而且可以對目標要素周圍的語言表述情況展開檢查,進一步確認該語句所表達的真實含義。比如,正則表達式在捕獲“構(gòu)成受賄罪”類似表述的同時,有能力檢查它的周圍是否存在“不”等否定意義的詞匯,避免對語句真實意思的誤解。另一條技術(shù)路線是近年來在計算機領(lǐng)域逐漸興起的“自然語言處理”〔57〕詳見俞士汶等:《自然語言處理技術(shù)與語言深度計算》,《中國社會科學》2015年第3期。技術(shù),它是人工智能學科的一個分支,以讓計算機完全理解人類語言的真實意圖為最終目標。自然語言處理技術(shù)在判決書處理的運用,簡單來說,就是根據(jù)中文詞匯被使用的概率分布,并結(jié)合中文語言本身的構(gòu)詞構(gòu)句規(guī)律,對判決書文本進行分詞、句法分析、語義分析等技術(shù)處理,提取語言所表達的邏輯和意思。自然語言處理技術(shù)適合處理那些表述靈活的文本,這些文本在判決書中表現(xiàn)為對案件的事實描述和說理論證。不過,由于判決書的格式較為規(guī)范、表述相對固定,提取判決書中的要素更適合采用正則表達式路線;自然語言處理則更廣泛地直接運用在罪名預測、刑期預測等方面?!?8〕鄧文超:《基于深度學習的司法智能研究》,哈爾濱工業(yè)大學2017年碩士學位論文。本文處理判決書時采用了正則表達式路線。

      基于正則表達式提取判決書要素的過程可以概括為讀入判決書內(nèi)容——按照文本結(jié)構(gòu)分解文本——設(shè)定待提取要素——編寫正則表達式提取要素——輸出提取結(jié)果——準確度檢查和程序改進。下文以Python編程語言對兩萬份受賄罪判決書的要素提取為例展開詳細說明。

      Python是一門入門簡單、語法簡潔,特別適合非計算機專業(yè)人員處理文本和分析數(shù)據(jù)的編程語言。Python可以通過下面的語句將判決書文本讀入計算機:〔59〕示例Python語句中的C:paper.txt表示判決書的文件路徑,r表示讀取文件,utf-8表示文本編碼方式。該語句將判決書的全部內(nèi)容讀入計算機,并用paper_content指代。

      with open(‘C:paper.txt’, ‘r’, encoding=‘utf-8’)as f:

      paper_content = f.read()

      判決書由法官撰寫,遵循一個固定的寫作范式,文本質(zhì)量非常高。本文根據(jù)受賄罪判決書的寫作特征,將判決書分成標題、訴訟程序、控辯理由、事實認定、審理意見、判決結(jié)果和審判人員七個部分,要素提取程序首先通過捕獲對應(yīng)部分開始和結(jié)束的標志,實現(xiàn)對文本的分割,而后根據(jù)分割的結(jié)果在各個部分展開要素提取任務(wù)。此時,每個要素提取邏輯的作用范圍被限制在特定的文書區(qū)域,只要文本分割本身不存在較大誤差,就可以有效提高要素提取的準確率(表1)。

      表1 判決書分區(qū)

      設(shè)定待提取要素和案件類型、研究需求有關(guān),不同類型的案件和不同的研究需求衍生了各種各樣不同的要素。有些要素如案號、法院名稱、審理程序等是通用的要素,出現(xiàn)位置比較固定,提取程序往往可以在不同類型的判決書之間復用。這些要素構(gòu)成了案件信息完整性的重要組成部分,同時有可能影響提取其他要素的準確性,其研究價值雖然普遍較低,但通常不可缺少;有些要素和案件類型高度關(guān)聯(lián),尤其是涉及犯罪事實和量刑情節(jié)的要素,它們蘊含在判決書對案件事實的描述中,根據(jù)靈活多變的研究需求而呈現(xiàn)出多種不同的形態(tài)。設(shè)定這種非通用的要素要求設(shè)定人不僅具備抽象的法律知識和實踐經(jīng)驗,而且具有一定的技術(shù)基礎(chǔ),能夠考慮計算機具體的實現(xiàn)能力和提取要素的現(xiàn)實可能性。此外,要素的取值類型和變量特征也是設(shè)定要素時應(yīng)予考慮的重要內(nèi)容。提取要素的取值有文本型、數(shù)字型和時間型三種基礎(chǔ)類型,其中,數(shù)字型和時間型要素可作為統(tǒng)計變量直接運用于數(shù)據(jù)分析,但必須注意分類變量、順序變量和數(shù)值變量具有不同的計量意義;〔60〕參見賈俊平:《統(tǒng)計學》,清華大學出版社2004年版,第5頁。而文本型要素往往需要進一步歸納和抽象,轉(zhuǎn)化為數(shù)字型或時間型要素后方可用于統(tǒng)計分析。

      評價設(shè)定的提取要素有兩個指標較為重要,可稱為提取要素的廣度和深度,即設(shè)定要素數(shù)量占全部可挖掘信息數(shù)量的比例和對要素加工和延伸的程度。許多實證研究提出的量刑預測模型解釋力不足,其重要原因之一是用于解釋判決結(jié)果的變量短缺或者過于淺顯。〔61〕同前注〔5〕,白建軍文。本文結(jié)合受賄罪的案件特征和有關(guān)法律規(guī)范設(shè)定的提取要素可見附件。〔62〕相關(guān)文檔、數(shù)據(jù)、代碼和算法完全公開、持續(xù)更新,詳見:https://github.com/tsfnzjy120/extract_bribe_infos,2019年3月13日最后訪問。下面就提取要素的具體方法和主要困難展開討論。

      1.直接提取位置相對固定的要素。位置相對固定的要素可通過正則表達式直接提取,首先確定要素在判決書中出現(xiàn)的位置,而后根據(jù)經(jīng)驗和知識產(chǎn)生提取邏輯,提取邏輯融入用編程語言描述的正則表達式之中,再由計算機程序執(zhí)行和獲取結(jié)果。正則表達式形式上表現(xiàn)為一些特殊符號或者符號的組合,用以指代提取內(nèi)容。

      表2 正則表達式基礎(chǔ)語法〔63〕同前注〔55〕,[美]Jeffrey E?F?Friedl書,第 1 章。

      分析正則表達式提取判決書要素的實例有助于理解這些抽象的語法規(guī)則以及它們實際的運作過程,以對(2014)銅王刑初字第00014號判決書提取判決結(jié)果要素為例,該判決書的有關(guān)表述為“判決如下:一、被告人許某某犯受賄罪,判處有期徒刑八年六個月(刑期從判決之日……)”,將此語句(在程序中記為sentence)輸入至下述功能邏輯中,即可獲得提取結(jié)果:

      import re

      ——導入正則表達式功能模塊

      result_regex = re.compile(‘判決如下:一、被告人(.+?)犯(.+ 罪),判處(.+?)(’)

      ——編寫正則表達式,分別對應(yīng)被告人姓名、罪名和刑罰

      match = result_regex.search(sentence)

      ——正則表達式搜索sentence語句,搜索結(jié)果存入match

      name, crime, penalty = match.group(1),match.group(2),match.group(3)

      ——從搜索結(jié)果中提取被告人姓名、罪名和刑罰,分別存入name, crime和penalty

      至此,提取程序?qū)⒉糠峙袥Q書內(nèi)容轉(zhuǎn)化成為結(jié)構(gòu)化的信息,即要素。提取位置固定的要素是正則表達式作用于判決書一部分內(nèi)容的結(jié)果,因此,面臨的問題也主要在兩個方面:一方面是編寫的正則表達式對同一要素可能存在的其他表達方式考慮不足,導致無法從正確的文本中提取要素。通過分析無法正常提取要素的判決書樣本,歸納同一要素的不同表達方式,提高正則表達式的兼容性是解決本問題的主要方法。除了考慮表達方式的多樣性,編寫正則表達式時還應(yīng)注意兼容判決書中可能存在的錯別字,比如“辯護”和“辨護”〔64〕判決書原件和錄入中國裁判文書網(wǎng)的判決書基本不可能存在錯別字,但是其他案例搜索引擎上的判決書有相當一部分是通過OCR(光學字符識別)方式掃描紙質(zhì)判決書生成,存在錯別字的概率較高。。另一方面是輸入正則表達式的判決書內(nèi)容不準確。輸入的判決書內(nèi)容過“窄”,可能其中不存在要素,或者存在的要素不完整;過“寬”,則可能獲取不必要的內(nèi)容。預先分割文本〔65〕見表1。并以分割結(jié)果作為輸入可以部分避免發(fā)生過窄或過寬的情況,同時根據(jù)提取要素的具體情況靈活調(diào)整輸入內(nèi)容。

      提取的數(shù)字型要素或時間型要素還需格式化,統(tǒng)一表達形式和計量單位。比如,本文在提取受賄金額時,就遇到“一萬三千”“1.3萬”“13000”“壹萬三仟”等諸多表達形式,通過建立中文數(shù)字和阿拉伯數(shù)字之間的映射關(guān)系,統(tǒng)一轉(zhuǎn)化成阿拉伯數(shù)字,以萬元為單位,保留兩位小數(shù);在提取主刑結(jié)果時,為便于量化研究,把拘役2天折算成有期徒刑1天,無期徒刑計為人均壽命減去被告人平均年齡,死刑計為人均壽命,死緩計為無期徒刑和死刑和的一半?!?6〕定量研究中對拘役、緩刑、無期徒刑、死緩、死刑等的處理方法有多種,包括另外設(shè)置類型變量。這里僅指將其轉(zhuǎn)換為數(shù)量的一種方法。參見白建軍:《死刑適用實證研究》,《中國社會科學》2006年第5期;褚紅麗、孫圣民、魏建:《異地審理與腐敗懲罰:基于判決書的實證分析》,《清華法學》2018年第4期。

      2.提取位置不太固定、表述多變的要素。提取固定位置的要素有時也會遇到位置不固定、表述多變的問題,但一般可通過改進正則表達式或精確輸入內(nèi)容解決;而對于本部分所討論的要素,單純的正則表達式無法提取,需要制定更加靈活的提取策略。

      提取位置不固定的要素,基本思想是讓正則表達式在更大的文本范圍內(nèi)展開檢索,獲取盡可能多的檢索提取結(jié)果,再根據(jù)提取結(jié)果的具體情況篩選或計算出最終結(jié)果。首先,由于要素出現(xiàn)的位置極其不固定,輸入正則表達式的內(nèi)容應(yīng)盡可能寬泛,凡是要素可能出現(xiàn)的文本區(qū)域均應(yīng)按照一定的規(guī)則組合成整體作為正則表達式的作用域,必要時也可以直接輸入判決書全文。其次,正則表達式不再試圖提取一個準確的要素,而是適當放寬提取條件,獲取更多的“模糊要素”,再從中篩選符合條件的要素。本文在提取“受賄次數(shù)”要素時采用了這一方法,提取程序首先對判決書的事實認定部分劃分句子,隨后以句子為基本單位,獲取盡可能多的有關(guān)“財物”的表述,比如“××元人民幣”“一輛轎車”“購物卡”等,再檢查這些“財物”的周圍是否出現(xiàn)被告方的姓名、是否有“送”“收受”等謂語,如果存在“受賄主體”和“受賄動作”則作為一次受賄計入提取程序?!?7〕該算法存在重復計算的問題,在實際運用時需要保證每次計入程序的“財物”與已計入程序的“財物”不重復。判決書在“本院認為”部分一般對被告受賄的總金額有明確表述,但對受賄次數(shù)通常只用“多次收受”一筆帶過,因此采用該算法。提取受賄次數(shù)的算法并不唯一,本算法可供參考,用以啟迪思路。在提取過程中,分析產(chǎn)生“模糊”的原因,不斷優(yōu)化篩選規(guī)則,可以逐步提高算法的準確率。

      提取表述多變的要素,單純的正則表達式無法處理的情形有兩種。第一,要素在不同的判決書中表述不同,且各種表述之間差異較大,無法為正則表達式所統(tǒng)籌。比如,“為他人謀取不正當利益,致使公共財產(chǎn)、國家和人民利益遭受損失”這一法定加重情節(jié)在判決書中就有多種差異較大的表述。提取這種要素的方法是逐步積累所有的表述,編寫多個正則表達式同時提取。第二,要素在同一判決書中的前后表述不一致。這種要素通常包含在一些意見性表述里,比如,公訴意見認為被告不構(gòu)成自首,辯護意見認為被告構(gòu)成自首,而在法院的審理意見里不僅有認定被告是否構(gòu)成自首的結(jié)論,還可能有對控辯雙方“構(gòu)成自首”和“不構(gòu)成自首”的評價,導致提取要素的不一致。解決該問題時經(jīng)常會使用一些關(guān)聯(lián)要素對提取結(jié)果進行驗證,比如,在出現(xiàn)不一致的情況時,“自首”可以根據(jù)“坦白”“配合追繳”等關(guān)聯(lián)要素進一步確認。

      3.提取間接要素。提取前述兩類要素提高了數(shù)據(jù)挖掘的廣度,而提取間接要素實質(zhì)上是對已提取要素的加工和延伸,決定了數(shù)據(jù)挖掘的深度。再加工的關(guān)鍵在于如何尋找和確認一種科學可信的算法,并通過該算法確定一個格式固定且具有研究價值的輸出。這種算法大部分和人的某些判斷邏輯相類似,但不局限于對人思維過程的模擬,也可能是數(shù)學計算、統(tǒng)計推論等,極其靈活且富有創(chuàng)造性。

      提取間接要素可分成根據(jù)要素提取和根據(jù)要素組合提取兩種類型。根據(jù)要素提取的一個典型實例是提取受賄罪案件的適用法律,〔68〕2015年11月1日起實施的《刑法修正案(九)》(簡稱“刑修九”)對貪污賄賂犯罪的量刑標準做出較大修改,另外2016年4月18日最高院和最高檢頒布和實施了《關(guān)于辦理貪污賄賂案件的司法解釋》。據(jù)此,受賄罪案件可分成適用原刑法、適用刑修九但不適用司法解釋、適用刑修九和司法解釋三類。它以已提取的“最后一次受賄行為發(fā)生時間”為依據(jù),遵循一個簡單的時間先后判斷邏輯并根據(jù)“從舊兼從輕”的原則獲得輸出?!?9〕參見余亞宇、石魏:《刑法修正案(九)實施后從舊兼從輕原則的準確適用》,《人民司法(案例)》2016年35期。這里也體現(xiàn)了算法設(shè)計者掌握法學知識的必要性。已有定量研究不加討論地只以審判時間為準來確定該案所適用的法律。〔70〕同前注〔66〕,褚紅麗、孫圣民、魏建文;同前注〔17〕,過勇、李松鋒文。這些研究均是以審判時間為準來確定所適用的法律。其原因也可能是如果要以犯罪行為發(fā)生時間來確定難以實現(xiàn),所以退而以直接、明確的審判時間為替代值。本文也不主張所有刑事領(lǐng)域的定量研究都要以最后犯罪行為發(fā)生時間為準來確定,但至少這應(yīng)該是一個首選項。根據(jù)要素組合提取的一個實例是“量刑區(qū)間”,該要素是量刑的決定性因素,根據(jù)法律規(guī)定,〔71〕參見刑修九實施前的《刑法》第383條,《關(guān)于辦理貪污賄賂案件司法解釋》第1到4條。涉及適用法律、受賄金額、次數(shù)和加重情節(jié)三個直接要素,遵循一個稍顯復雜的判斷邏輯,基本上模擬了法官審理案件的思維過程。

      表3 根據(jù)要素組合提取“量刑區(qū)間”〔72〕Sum表示受賄金額,以萬元為單位;H表示法定加重情節(jié)之一。該表僅根據(jù)有期徒刑劃分量刑區(qū)間,根據(jù)研究需要可以進一步融合其他刑罰種類,劃分更多層次的量刑區(qū)間,設(shè)計更復雜的邏輯判斷。有關(guān)代碼和算法會陸續(xù)更新,見前注〔58〕。這里是提出本文作者設(shè)計的有關(guān)量刑區(qū)間的算法,希望能以此為基礎(chǔ),引發(fā)大家關(guān)于該算法的邏輯是否嚴密、是否符合法律規(guī)定和審判實踐等的討論。

      間接要素一般根據(jù)研究需要設(shè)定,有時提取難度很高,計算機無法返回一個完全準確的結(jié)果,但可以通過一定的算法設(shè)計使提取結(jié)果逼近真實結(jié)果,將誤差控制在可接受的范圍內(nèi)。比如,要探究受賄罪中被告人的職務(wù)級別對量刑的影響,根據(jù)提取的職務(wù)判斷出對應(yīng)的級別即使是人也無法做到百分百準確,職務(wù)的龐雜性又導致不太可能建立一個完整的職務(wù)和級別之間的映射關(guān)系庫,因此,針對無法判斷的職務(wù)獲取其近似的級別是一種經(jīng)濟可行的方案,在誤差合理的條件下對研究結(jié)論的影響有限。具體做法是,如果職務(wù)名含有“科長”“處長”“調(diào)研員”等頭銜,可直接確定對應(yīng)的級別;如果缺少級別明確的頭銜,則可以職務(wù)名中含有的地區(qū)行政級別為基礎(chǔ),根據(jù)所在單位的性質(zhì)(國家機關(guān)、事業(yè)單位、國有企業(yè)等)確定一個修正參數(shù),經(jīng)運算得到一個級別的近似結(jié)果。

      (四)提取要素的輸出

      要素被提取后要讓計算機進行自動輸出。提取要素的輸出主要注意要素的保存和再利用問題,至少有兩方面的要求:第一是面向研究者友好。提高要素準確率和制定數(shù)據(jù)分析策略基本上還是由研究者的思維主導,因此要求要素的輸出清晰、直觀,易于人類理解;而人工操作在處理細粒度數(shù)據(jù)時亦有機器不可比擬的優(yōu)勢,因此要求要素的手工查找和修改操作簡便。第二是兼容主流的數(shù)據(jù)分析工具和軟件,比如Stata、SPSS等常用的統(tǒng)計分析軟件。結(jié)合這兩方面的原因,本文建議采用CSV格式輸出提取的要素信息,一方面,CSV可直接被Excel軟件打開,方便研究人員查看和處理;另一方面,CSV也能夠被大多數(shù)數(shù)據(jù)分析軟件直接使用。在Python程序中,CSV文件可以使用pandas類庫中的DataFrame.to_csv函數(shù)直接生成。

      (五)提取要素的準確率檢查

      檢查提取要素的準確率是提取判決書要素必不可少的環(huán)節(jié),直接影響研究結(jié)論的正確性。一份具有規(guī)范性和科學性的法學實證研究成果應(yīng)當提供從判決書中提取要素的準確率指標。下面就準確度檢查的原理和方法展開討論,并就程序改進提出一些建議。

      計算機提取的要素基本不能再由計算機檢查其準確性,因為計算機程序始終按照一個預期無錯誤的邏輯在提取要素,不具有發(fā)現(xiàn)錯誤和糾正錯誤的能力。因此,人工抽樣檢查準確率成為必要。人工抽樣檢查方法的重點在于確定科學的樣本容量和抽樣方法,本文提出的方案如下:

      首先,提取要素的準確率定義為:對某一要素,經(jīng)人工檢查正確的要素數(shù)量和要素總數(shù)之比。

      其次,抽取的樣本容量和判決書總量無關(guān),它由下列公式確定:〔73〕同前注〔60〕,賈俊平書,第191頁。

      其中,n為樣本容量;z是由置信水平確定的一個常數(shù),科學研究中置信水平一般要求達到95%,對應(yīng)的z值為1.96;E為邊際誤差,一般要求不超過5%;π是一個對提取要素準確率的先驗估計值,根據(jù)等式,當π取值0.5時n達到最大值,為保證更多的樣本量π取0.5。將z、E和π值代入等式,得n=385,即當判決書總量大于385時,人工抽樣檢查的樣本容量恒為385,此時有95%的把握認為樣本準確率和總量準確率的誤差不超過5%。舉例來說,對于某一個要素,如果人工抽檢的樣本準確率為90%,那么總體的準確率應(yīng)該在90%±90%×5%之間,即85.5%到94.5%之間,這種判斷的可靠性有95%。如果人工檢查385份樣本仍有困難,則可適當調(diào)大E值,比如調(diào)大至10%,此時只需檢查n=97份樣本,但是上例中總體準確率所在區(qū)間會變成90%±90%×10%,即81%到99%之間。

      最后,使用有放回的抽樣方法,即重復抽樣。這種抽樣方法是適用上述公式的前提,此時每份判決書被抽中的概率相同??赏ㄟ^計算機程序?qū)崿F(xiàn)〔74〕使用Python語句numpy.random.choice(n1,n2,replace=False)能夠直接返回重復抽樣結(jié)果,其中n1表示判決書總量,n2表示樣本容量385。。

      人工抽樣檢查的結(jié)果為改進準確率較低的要素提取程序指明了方向。要素提取程序存在誤差的根本原因在于程序內(nèi)部的提取邏輯和判決書實際內(nèi)容的不匹配,因此,改進提取程序可從兩方面著手:一方面可以直接手工提取判決書的內(nèi)容,如果存在誤差的判決書數(shù)量較少,不失為一種簡單有效的方法;另一方面則需要修改和完善程序提取邏輯,不斷分析各種誤差的產(chǎn)生原因,形成新的提取邏輯,并整合到原有的程序邏輯中。經(jīng)過反復幾輪人工檢查和程序改進,提取要素的準確率能夠逐步上升到較高水平。

      四、結(jié)語

      本文論述了一種新型的法學研究方法,即計算法學方法的獨立價值、基本思維和特點,指出了在這類研究領(lǐng)域存在的實踐先行、理論單薄、研究視域過窄、重復勞動、合作困難、研究缺少接續(xù)能力等問題,抽象了計算法學方法的一般步驟,將判決文書信息的提取分為三類要素,說明了針對不同要素運用計算機提取信息應(yīng)當采取的計算方法和通用程序?!?5〕同前注〔62〕。本文也討論了計算法學生態(tài)的形成對這個領(lǐng)域的發(fā)展和計算法學方法價值的充分發(fā)揮有至關(guān)重要的作用,而實踐、具體、可傳承的嚴謹?shù)膶W術(shù)探討和盡可能開源的程序才能更好地促進生態(tài)的形成。如此,法學研究才能更好地在目前正在進行的智慧司法軟件的研發(fā)中發(fā)揮作用。雖然這些軟件模型是用來輔助實踐的,但是標準的建立向來是應(yīng)當接受充分的學術(shù)探討的,而不應(yīng)由某個部門或企業(yè)來決定。所以,本文提供了作為這些研發(fā)任務(wù)基礎(chǔ)的判決文書處理的一部分方法,希望能拋磚引玉,吸引更多的同仁來檢測這些方法,并進行更為深入的研究。

      計算機科學是目前將學術(shù)產(chǎn)業(yè)化做得最好的學科。計算機圖靈獎得主往往都創(chuàng)辦了公司或研究院,所做的研究都能在產(chǎn)業(yè)上得到運用,所以它是一門實踐性、專業(yè)性、技術(shù)性非常強的學科。而法學學科無論是規(guī)范解釋、價值判斷還是現(xiàn)實描述也具有很強的實踐性和技術(shù)性。雖然兩個學科有各自獨特的話語體系,但是二者的研究對象并不是互斥的,而是有不少重合,并會隨著虛擬世界的不斷現(xiàn)實化而越發(fā)緊密;兩種研究方法也不是不相容的,而是可以互補。計算法學的出現(xiàn)和發(fā)展就是為了搭建架接這兩套話語體系的橋梁,探索將可能需要計算機幫助的法學問題轉(zhuǎn)化為可計算問題的方法,尋找和培養(yǎng)能夠解決已轉(zhuǎn)化問題的計算方法和能力,檢測、修正和更新既有的算法,從計算結(jié)果中獲得有法學價值的信息,豐富法學研究的領(lǐng)域和方法。

      計算法學不只是一種法學研究方法,還有更廣泛的內(nèi)涵,有很多爭議的問題需要討論厘清才能更好地促進它的發(fā)展。比如前文所述的反爬蟲策略,雖然其本意是網(wǎng)站為了防止用于商業(yè)目的的“脫庫”下載行為,但是卻造成了用于學術(shù)研究的下載也難以進行,提高了判決使用的成本和難度。關(guān)于爬蟲和反爬蟲等攻防措施的正當性、合法性的爭議,以及更深層次的數(shù)據(jù)權(quán)利屬性和數(shù)據(jù)權(quán)益分配的討論都尚未定論。我國和美國都出現(xiàn)了類似的有關(guān)公開數(shù)據(jù)權(quán)利的案件,比如我國的大眾點評訴百度地圖抓取其頁面用戶評論、美國的hiQ Labs, Inc.訴LinkedIn(領(lǐng)英)設(shè)置嚴密的反爬蟲策略妨礙其抓取領(lǐng)英用戶公開的教育背景信息等案件,而兩國的法院目前則做出了相反的判決?!?6〕參見Cheryl B.Preston, Lawyers’ Abuse of Technology, Cornell Law Review Vol.103:879, p.894.領(lǐng)英案目前僅有美國聯(lián)邦基層法院作出的要求雙方友好協(xié)商的臨時禁止令(preliminary injunction order)。大眾點評案則已經(jīng)二審終審,終審維持了一審要求百度地圖等原告方賠償大眾點評323萬損失的決定。參見:《百度抓取大眾點評用戶評論, 一審被判賠323萬》,http://www.sohu.com/a/77647804_410381,2019年3月13日最后訪問。所以這類問題還需進一步的研究。隨著計算法學的發(fā)展,計算法學生態(tài)的形成,計算法學研究成果的學術(shù)化和去商業(yè)化,如果能夠建立學術(shù)圈內(nèi)共享的法律文書或數(shù)據(jù)庫,便于從事學術(shù)研究的人員使用,則能更好地解決這個問題。

      猜你喜歡
      法學要素計算機
      《南大法學》征稿啟事
      南大法學(2021年3期)2021-08-13 09:22:44
      計算機操作系統(tǒng)
      《南大法學》征稿啟事
      南大法學(2021年4期)2021-03-23 07:55:52
      掌握這6點要素,讓肥水更高效
      基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
      科技傳播(2019年22期)2020-01-14 03:06:34
      觀賞植物的色彩要素在家居設(shè)計中的應(yīng)用
      信息系統(tǒng)審計中計算機審計的應(yīng)用
      消費導刊(2017年20期)2018-01-03 06:26:40
      論美術(shù)中“七大要素”的辯證關(guān)系
      也談做人的要素
      山東青年(2016年2期)2016-02-28 14:25:36
      法學
      新校長(2016年5期)2016-02-26 09:28:49
      普定县| 织金县| 托克托县| 宝应县| 克东县| 图片| 宣恩县| 奉贤区| 健康| 南昌县| 曲阳县| 金阳县| 五大连池市| 古蔺县| 阜阳市| 曲靖市| 友谊县| 九龙坡区| 扎鲁特旗| 阿合奇县| 巴林左旗| 南丰县| 神池县| 汝南县| 虎林市| 紫金县| 乌拉特前旗| 乡城县| 泸西县| 岱山县| 阿城市| 盖州市| 大同县| 五河县| 容城县| 天长市| 延安市| 微山县| 锦州市| 泸溪县| 辛集市|