萬(wàn)萍,潘千禧,柳若辰
(嘉興學(xué)院數(shù)理與信息工程學(xué)院,嘉興314001)
作為新中國(guó)第一部以法典命名的《中華人民共和國(guó)民法典》(簡(jiǎn)稱(chēng)《民法典》),于2020年5月28日,由十三屆全國(guó)人大三次會(huì)議表決通過(guò),自2021年1月1日起施行。《民法典》為民事主體合法權(quán)益的申張與保護(hù),提供了全面法律保障,被法學(xué)界譽(yù)為“能夠覆蓋一個(gè)公民‘生老病死’全部生活的社會(huì)生活百科全書(shū)”,堪稱(chēng)新時(shí)代人民權(quán)利的“宣言書(shū)”,為新時(shí)代“依法治國(guó)”奠定了堅(jiān)實(shí)的法律基礎(chǔ)[1]。
守法必先知法,懂法才能尊法?!睹穹ǖ洹芬磺砂倭畻l的法條,對(duì)于非法學(xué)專(zhuān)業(yè)的普通公民而言,難以全面掌握;此外,法條嚴(yán)謹(jǐn)且富于邏輯的表達(dá),也容易造成法律條文“晦澀難懂”,不利于法律普及。經(jīng)過(guò)前期文獻(xiàn)閱讀和實(shí)踐調(diào)研,我們認(rèn)為通過(guò)對(duì)《民法典》法條進(jìn)行知識(shí)圖譜構(gòu)建,以可視化知識(shí)圖譜方式呈現(xiàn)的《民法典》,不僅使法條內(nèi)容呈現(xiàn)更加直觀,還使法律概念與法律關(guān)系的檢索與查詢(xún)更加便捷,提升廣大公民對(duì)于法律內(nèi)容的認(rèn)知,有效降低《民法典》的推廣普及難度。
考慮到《民法典》內(nèi)容龐大,本文擬選取與現(xiàn)實(shí)生活聯(lián)系最為緊密的《侵權(quán)責(zé)任》為分析對(duì)象,綜合人工智能領(lǐng)域中自然語(yǔ)言處理技術(shù),通過(guò)“Python編程+人工校驗(yàn)”相結(jié)合的技術(shù)路線(xiàn),應(yīng)用文本預(yù)處理[2]、命名實(shí)體識(shí)別[3]、知識(shí)圖譜[4-5]等NLP(Natural Language Processing,自然語(yǔ)言處理)領(lǐng)域的算法和NoSQL數(shù)據(jù)庫(kù)[6-7]領(lǐng)域的工具,對(duì)《民法典·侵權(quán)責(zé)任》的法條內(nèi)容進(jìn)行關(guān)鍵實(shí)體識(shí)別、句法依存關(guān)系分析與知識(shí)圖譜構(gòu)建。
《民法典·侵權(quán)責(zé)任》共包含10章,涵蓋《民法典》第1164-1258條款,合計(jì)95條??紤]到通用分詞工具并沒(méi)有針對(duì)法律術(shù)語(yǔ)的分詞字典,我們采用“jieba分詞+人工校驗(yàn)”的方式,對(duì)《民法典·侵權(quán)責(zé)任》進(jìn)行文本預(yù)處理,本階段主要包括開(kāi)發(fā)環(huán)境配置、jieba工具安裝、停用詞預(yù)處理和分詞。
jieba是中分分詞領(lǐng)域的優(yōu)秀開(kāi)源框架,可以通過(guò)簡(jiǎn)單編程,實(shí)現(xiàn)對(duì)中文文本基于精確模式、全模式和搜索引擎模式的分詞??傮w上說(shuō),jieba工具的API簡(jiǎn)明實(shí)用、配置簡(jiǎn)潔。借助Python自帶的pip工具,在Windows中CMD環(huán)境下執(zhí)行如下命令:
即可實(shí)現(xiàn)jieba工具的自動(dòng)安裝和配置。
考慮到法條中篇章分節(jié)與條目編號(hào)相對(duì)于分詞意義不大,我們?cè)陬A(yù)處理階段將這些文字去除,之后將法條逐條放入laws列表。文本讀入與laws列表生成的源代碼如下:
經(jīng)過(guò)以上代碼處理,laws列表中只包含法條內(nèi)容。借助jieba分詞工具,可以進(jìn)一步對(duì)laws列表中法條逐一進(jìn)行分詞,并得到分詞集合,關(guān)鍵代碼如下:
通過(guò)校驗(yàn)可以發(fā)現(xiàn),jieba對(duì)于部分條目的分詞結(jié)果不太理想,例如“行為人/因/過(guò)錯(cuò)/侵害/他/人民/事/權(quán)益/造 成/損 害/的/,/應(yīng) 當(dāng)/承 擔(dān)/侵 權(quán)/責(zé) 任/。”中“/他/人民/事/權(quán)益/”顯然不符合法條本義。因此,需要在自動(dòng)分詞的基礎(chǔ)上,引入人工校驗(yàn)環(huán)節(jié),遵循法律術(shù)語(yǔ)、概念的使用習(xí)慣,修正分詞中出現(xiàn)的錯(cuò)誤,進(jìn)而得到《民法典·侵權(quán)責(zé)任》的分詞字典,共計(jì)712個(gè)單詞。
通過(guò)文本預(yù)處理,我們得到了較為符合司法實(shí)踐的法條分詞及分詞詞典。在此基礎(chǔ)上,我們將結(jié)合法條上下文,應(yīng)用關(guān)鍵詞分析算法,對(duì)分詞詞典中的分詞的重要性進(jìn)行區(qū)分,提煉具有法學(xué)價(jià)值的核心概念,為知識(shí)圖譜構(gòu)建提供必要的鋪墊。
《民法典·侵權(quán)責(zé)任》中涉及大量法學(xué)概念、實(shí)體,它們是構(gòu)建知識(shí)圖譜的關(guān)鍵要素。我們需要在前面得到的分詞詞典基礎(chǔ)上,進(jìn)一步應(yīng)用命名實(shí)體識(shí)別的思想、方法和技術(shù),對(duì)語(yǔ)料中的法學(xué)術(shù)語(yǔ)、概念進(jìn)行識(shí)別和提取。在這個(gè)階段中,我們通過(guò)關(guān)鍵詞提取算法,對(duì)分詞在法條中的表意權(quán)重進(jìn)行分析,得到法條中較為重要的命名實(shí)體。
與分詞一樣,命名實(shí)體識(shí)別也是自然語(yǔ)言處理中的基礎(chǔ)任務(wù),目的在于識(shí)別語(yǔ)料中人名、地名、組織機(jī)構(gòu)名等具有實(shí)體指稱(chēng)的命名詞語(yǔ)。傳統(tǒng)命名實(shí)體識(shí)別側(cè)重于對(duì)實(shí)體、時(shí)間、數(shù)字、人名、地名、組織、時(shí)期等的識(shí)別與提取。與傳統(tǒng)不同,本文側(cè)重于對(duì)具有法學(xué)指稱(chēng)的命名實(shí)體的識(shí)別。因此,分詞是否能夠表達(dá)法學(xué)領(lǐng)域概念,是否能夠結(jié)合其他法學(xué)術(shù)語(yǔ)形成法學(xué)知識(shí)的表達(dá),就成為界定法學(xué)實(shí)體的重要標(biāo)準(zhǔn)??紤]到法學(xué)實(shí)體界定屬于法學(xué)領(lǐng)域,我們邀請(qǐng)領(lǐng)域法學(xué)領(lǐng)域?qū)I(yè)人士,對(duì)分詞列表進(jìn)行分類(lèi),遴選出154個(gè)領(lǐng)域相關(guān)性較強(qiáng)的詞匯(圖1),作為知識(shí)圖譜構(gòu)建的核心法學(xué)實(shí)體。
圖1 關(guān)鍵法學(xué)實(shí)體詞云(《民法典·侵權(quán)責(zé)任》)
需要說(shuō)明的是,對(duì)于分詞是否屬于具有法學(xué)指稱(chēng)的關(guān)鍵實(shí)體,存在“仁者見(jiàn)仁,智者見(jiàn)智”的各種見(jiàn)解。因此,我們采取兼顧經(jīng)驗(yàn)與統(tǒng)計(jì)的原則,選取法務(wù)工作中涉及的專(zhuān)業(yè)詞、高頻詞作為關(guān)鍵實(shí)體,進(jìn)而以之為基點(diǎn),對(duì)《民法典·侵權(quán)責(zé)任》做提綱挈領(lǐng)的圖譜構(gòu)建。
本部分在關(guān)鍵實(shí)體集合基礎(chǔ)上,進(jìn)一步探究實(shí)體之間的法學(xué)邏輯關(guān)系,通過(guò)逐一對(duì)法條進(jìn)行句法依存分析,構(gòu)建關(guān)鍵實(shí)體之間的三元組,最終形成可視化的知識(shí)圖譜。
對(duì)于邏輯嚴(yán)謹(jǐn)、措辭考究的法律條目而言,“主語(yǔ)+謂語(yǔ)+賓語(yǔ)”是基本的表達(dá)句型,也是分析與理解其語(yǔ)言復(fù)合性的切入點(diǎn)。結(jié)合關(guān)鍵實(shí)體,逐條分析每款條文的句法依存關(guān)系,是構(gòu)建法條內(nèi)與法條間實(shí)體邏輯關(guān)系的關(guān)鍵。通過(guò)調(diào)用HanLP接口,逐一分析每款法條的句法依存關(guān)系,得到類(lèi)似圖2的句法樹(shù)。
圖2 句法依存關(guān)系示例(《民法典》第一千一百六十六條)
借助以上語(yǔ)法樹(shù)結(jié)構(gòu),可以得到該法條清晰明確的推斷邏輯,即“行為人”為主體,“侵權(quán)責(zé)任”為客體,“承擔(dān)”是聯(lián)系主、客體的關(guān)系,而“民事權(quán)益損害”是邏輯前提。
實(shí)體依存關(guān)系分析的目的在于提煉“實(shí)體-關(guān)系-實(shí)體”構(gòu)成的三元組,通過(guò)這個(gè)三元組表達(dá)實(shí)體之間的邏輯關(guān)系。從前面對(duì)句法依存關(guān)系的分析可以看出,法條語(yǔ)法樹(shù)中“主謂賓”結(jié)構(gòu)天然適于構(gòu)造這種三元組?;诖?,通過(guò)對(duì)作為主語(yǔ)和賓語(yǔ)的關(guān)鍵實(shí)體以及作為謂語(yǔ)的分詞的提取,就可以得到所有三元組構(gòu)成的集合。
三元組數(shù)據(jù)的持久化與可視化可以借助Neo4J數(shù)據(jù)庫(kù)及Py2neo框架。其中,Neo4J是一種常見(jiàn)的圖數(shù)據(jù)庫(kù),以圖的形式表達(dá)數(shù)據(jù)的實(shí)體、屬性和關(guān)系,屬于典型的NoSQL數(shù)據(jù)庫(kù);Py2neo是應(yīng)用Python操作Neo4J數(shù)據(jù)庫(kù)的三方庫(kù)。通過(guò)將三元組中的實(shí)體存儲(chǔ)為節(jié)點(diǎn)元素,將三元組中的關(guān)系存儲(chǔ)為節(jié)點(diǎn)之間的邊,就可完成從三元組到抽象圖譜的構(gòu)造。再通過(guò)調(diào)用Py2neo API,可以得到類(lèi)似圖3的可視化知識(shí)圖譜。
圖3 知識(shí)圖譜示例(《民法典》第一千二百五十條)
目前,我們針對(duì)《民法典·侵權(quán)責(zé)任》的知識(shí)圖譜構(gòu)建主要還是以法條為基本單位。但是,不同法律條目間也可能存在語(yǔ)義或是邏輯上的關(guān)聯(lián),對(duì)于這一點(diǎn),由于涉及到更為困難的語(yǔ)義分析以及知識(shí)推理,預(yù)期于將來(lái)的工作中做進(jìn)一步的深入研究和探討。
本文對(duì)《民法典·侵權(quán)責(zé)任》文本進(jìn)行知識(shí)圖譜構(gòu)建,實(shí)現(xiàn)核心概念及其關(guān)系的可視化。首先,通過(guò)文本預(yù)處理與分詞,生成文本的分詞列表。由于法典文本的專(zhuān)業(yè)性,通用分詞工具得到的分詞結(jié)果不是完全合理,再通過(guò)對(duì)分詞列表的人工校驗(yàn),得到較為符合實(shí)際法務(wù)工作習(xí)慣的分詞列表。其次,通過(guò)對(duì)分詞列表進(jìn)行甄別,結(jié)合統(tǒng)計(jì)與法務(wù)實(shí)踐,遴選出司法實(shí)踐中使用頻率高、法律指稱(chēng)明確的關(guān)鍵實(shí)體。最后,以篩選出的關(guān)鍵實(shí)體為中心,逐條對(duì)法條進(jìn)行句法分析,得到分詞列表以外的實(shí)體與關(guān)鍵實(shí)體之間的關(guān)系,據(jù)此生成三元組結(jié)構(gòu),進(jìn)而生成可視化圖譜。
本文通過(guò)對(duì)法條文字的圖譜構(gòu)建,有助于提升對(duì)侵權(quán)責(zé)任中法學(xué)對(duì)象、關(guān)系和邏輯的理解與整體把握,促進(jìn)民法典的宣傳與普及。