999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向司法大數據的文本主題OLAP系統

2021-11-12 02:17:02劉曉清何震瀛奚軍慶
智能計算機與應用 2021年9期
關鍵詞:文本

王 玲,劉曉清,何震瀛,奚軍慶,項 焱

(1 復旦大學 軟件學院,上海 200438;2 復旦大學 計算機科學技術學院,上海 200438;3 司法部信息中心,北京 100020;4 武漢大學 法學院,武漢 430000)

0 引 言

隨著新興技術的發展,數據流量增長速率不斷加快,大數據成為各行各業的研究熱點。司法大數據的運用正成為提高司法業務效率、推進審判體系和審判能力的現代化重要手段。絕大部分的司法數據,如:法律文書、法律新聞等法律類文章都是非結構化數據,其中蘊含著案件類別、案件發生時間、案件發生地點等重要信息。如何處理這些非結構化數據,挖掘其中的重要信息亟待解決。

法律文書或法律類新聞中,往往包含地理位置信息,提取文本中的地理信息并精準定位,對案件地域分布研究具有重要意義。因此,需要設計一個能自動判別法律文章的行政區劃方法,以滿足用戶希望根據法律文章的地點維度做數據分析的需求。

對于文本數據關鍵信息的獲取,常見的是通過主題建模方式抽取文章的潛在主題。文本主題即文本的主旨思想,表現為一系列相關的詞語。如:一篇法律文章中涉及到“離婚”這個主題,那么出現“婚姻”、“子女撫養權”、“財產糾紛”等詞語的可能性會比較高。從數學角度來看,主題就是語料庫中詞語的條件概率分布。一個詞語和主題關系越緊密,其在文章中出現的條件概率越大。主題模型是對文字中隱含主題的一種建模方法。LDA(Latent Dirichlet Allocation)[1]是一種經典的文檔主題生成模型,通過對文本進行統計分析,學習出主題的分布,可實現關鍵詞提取及文章聚類。LDA假設在一個文本集合中存在多個主題,每個主題下又都包含一系列的詞匯。那么對集合中任意一篇文章,可看作是按照一定概率選擇主題及詞匯構造而成。集合中的單詞構成的概率分布,組成了一個主題。不同的主題再構成一個概率分布,最終組成文章。LDA首先按照一定概率選擇某個主題,接著在此主題下以一定的概率選出某個詞,作為該文章的第一個詞。通過不斷迭代上述步驟模擬文章生成的過程,最終得到一篇完整的文章。目前針對文章主題,各方學者展開了許多研究工作。比較常見的有主題檢測與跟蹤[2]、主題生命周期以及突發性[3]等。但是,這些研究都將重點放在了給定范圍內文檔主題的變化狀態,并未考慮該主題在全局范圍的地位。因此,文獻[4]中提出了獨特主題這一概念,用來尋找只在小范圍內頻繁出現而不在全部文檔中出現的主題。

常見的大數據處理技術有HBase[5]、Spark[6]等。HBase是一個開源的非關系型分布式數據庫,其參考了谷歌的BigTable[7]建模,可以容錯地存儲海量稀疏的數據。Spark是一種快速、通用、可擴展的大數據分析引擎,為分布式數據集的處理提供了一個有效的框架,并以高效的方式處理分布式數據集。Spark實現了一種分布式的內存抽象,稱為彈性分布式數據集[8]。其能夠廣泛適用于數據并行類應用。其中包括:批處理、結構化查詢、實時流處理、機器學習與圖計算等。

數據倉庫技術常應用于大規模數據分析工作。OLAP(Online Analytical Processing)[9]是數據倉庫[10]提供的一種對儲存在數據庫中的多維數據進行搜索和分析的技術,其能在不同維度上對數據進行搜索和分析。常規的OLAP實現方式,是用數據庫中的多維數據,構建數據立方體[11],多維數據的每一維都對應到數據立方體的每一條軸上。通過對數據立方體各個維度的組合,實現OLAP分析。此外,OLAP還提供了諸如上卷、下鉆、切片等操作,使用戶可以更深入的分析數據。然而OLAP的這些操作大都只支持關系型數據。

針對上述提到的種種現象和問題,本文設計了一個面向司法大數據的文本主題OLAP系統。通過對文本進行預處理及分析,來實現法律文章數據行政區劃歸類、主題建模、獨特主題查找以及基于此的OLAP,具有重要的實際意義。本文從3方面對此進行了研究:

(1)針對司法數據量龐大且多以非關系型數據為主的特點,設計了一個數據模型以及基于此基礎的操作符,通過各種操作符的組合達到數據處理的目的。底層使用了Spark分布式處理系統來實現,以此達到高效地處理大規模非關系型數據的目的。

(2)針對法律文章數據中的主題、時間、地理位置等多維度信息挖掘,設計并實現了一系列數據處理方法,使數據可以最終變為主題立方體形式,供OLAP查詢使用。

(3)設計了基于OLAP的線上查詢模塊以獲取司法數據關鍵信息。

1 基于Span數據模型的文本主題OLAP系統

本文設計了基于Span數據模型的文本主題OLAP系統。系統由線上查詢和離線處理兩部分組成,整體流程如圖1所示。

圖1 系統整體流程

系統使用Scrapy分布式爬蟲框架,爬取網絡上的法律文章[12],利用Spark對文本進行清洗、去重以及分詞處理[13]。本文設計了Span數據模型,將處理后的文本以Span形式存入HBase中。隨后,使用Span的操作符進行關鍵詞提取、行政區劃歸類以及主LDA模型訓練,最終得到具有時間維度和地理維度的主題模型立方體。當用戶發起OLAP查詢時,系統根據用戶的查詢操作,結合之前保存在HBase中的數據以及主題立方體,進行關鍵詞相關主題匹配和最大獨立主題范圍查詢。用戶可以對返回的結果執行上卷、下鉆等OLAP操作來獲取感興趣的信息。

1.1 Span數據模型

在傳統的數據模型基礎上,本文提出了Span關系模型,來描述原本非關系型的文本數據,并在此基礎上設計了適用于此關系模型的操作符和任務。

系統將每篇法律文章表示為關系模型的一行,其中包含的屬性見表1。如:id為文章的編號、title為文章的標題、text為文章的正文、text_spans為文章正文經過切詞和詞性標注后的結果。

表1 數據模型

其中,“text_spans”和“title_spans”兩列的類型為List。Span的定義見表2。

每一個Span都是文章在分詞之后的一塊內容,每個Span包含表2所示的4個屬性。

表2 Span定義

其中,word是Span的詞語;pos是Span的詞性;start是Span在文章中的起始位置;end是Span在文章中的結束位置。

本文將每篇文章的text_spans字段看作一張表,表中的每一行都為一個span。這樣的表示方式對于理解之后定義的諸多基于span之上的操作是有幫助的。具體表示方式如圖2所示。

圖2 Spans示例

在將每篇法律文章轉換為Span的集合之后,本文在這些Span上執行統一的操作來實現信息抽取。在定義完操作符后,用戶可以將一系列操作符進行組合,形成一個任務,每一個任務都是對文章信息的一次抽取,可以通過一系列操作符,組合出LDA模型的構建過程。表3中列出了本文設計的主要文章級別的操作符及其作用。

表3 文章級別的操作符列表

基于上述操作符,可構建相應的信息抽取任務。給定主題數K=100、alpha=0.5、beta=0.01、N=100,利用本文設計的操作符,實現LDA模型訓練的過程如下:

第一步:用Exclude去除Corpus中的停用詞;使用Project將不用的列刪除;使用AddColumn和Update添加“topic”屬性并且賦初值。

第二步:進行吉布斯采樣,根據其采樣結果,以服從多項式分布的方式,重新隨機分配每個詞對應的主題。為了讓模型收斂,此步驟需要執行N次循環。

第三步:使用Aggregate統計每個主題的詞分布。

1.2 數據處理及主題立方體

1.2.1 基于規則的行政區劃歸類方法

目前,多數采用機器學習或者深度學習的方法,對文章主題進行分類。基于學習的文本分類方法,不適用于本文期望實現的行政區劃歸類功能。由于基于學習的文本分類方法,需要大量的人工標注數據集,而本文為OLAP系統,要求能實現上卷、下鉆等用戶需求。單一粒度的地理維度顯然很難滿足OLAP用戶的需求,當用戶對某一主題感興趣的時候,往往希望可以獲得更細粒度的信息。

綜上,本文設計了一個基于規則的行政區劃歸類方法。該方法首先對文本分詞后的結果進行地名實體提取,再通過與三級行政區劃表的比較,結合多條規則,求出最符合文章的行政區劃,對于無法通過前述方法求出行政區劃的文章,再利用百度地圖API進行二次歸類,最終達到一個較高的準確率。

基礎算法通過比較詞頻的方式來決定行政區劃的可信度。具體方法如下:

(1)將分詞結果中詞性為“ns”(地名)的詞匯取出,將該詞與出現次數保存進P。

(2)遍歷P中的地名詞匯w,將w與一、二、三級行政區劃表中的地名進行匹配。將匹配到的行政區劃a和w的加權詞頻存入U中。

(3)將U中每個行政區劃的詞頻進行開根號處理(目的是降低詞頻飽和度),獲取初步的可信度分數。

(4)對U中二、三級行政區劃的分數加到上級行政區劃上。

(5)在U中尋找分值最大的一級行政區劃,然后在該區劃中尋找分值最大的二級行政區劃。

當一篇法律文章中同時出現上下兩級行政區劃(如:同時出現“上海市”“浦東新區”)時,這篇文章可能比只出現“上?!钡奈恼赂锌赡軐儆谏虾J?,即“上海市”和“浦東新區”兩級行政區劃在相互印證。因此,本文對同時出現上下兩級行政區劃的情況做出加分處理,在上面基礎方法的第(3)步之后,“上海市”的分數將乘以(1+γ),γ為獎勵系數。另外,法律文章標題中也蘊含地理位置信息。例如 “湖南衡陽女子,5年第5次離婚案宣判”,就能明顯辨別出這篇法律文章的歸屬地為湖南省衡陽縣。因此,本文對文章標題也進行了分詞與詞性標注,以同樣的辦法應用了上一節的(1)~(4)步,獲取了標題的U,進行加權求和。然而,部分文章雖然包含了許多行政區劃,但實際上是一篇綜合性的文章,無法進行明確的行政區劃歸類。本文將出現大于等于4個省的文章,當做綜合性文章;將某省內大于等于4個市的文章當做該省內的綜合性文章。綜合這3條優化規則后,最終算法流程如算法1所示。

算法1行政區劃歸類算法

輸入Ptext,PtopicAdministrativeDivisionDictionary as dic

輸出location,child_location

for(w,tf)inPtext,Ptopic:

locationList = findAdministrativeDivisionInDic(w, dic)

if locationList != null:

for loc inlocationList:

U.put(loc,U.getOrDefault(loc, 0)+ tf/locationList.size())

end for

for(loc,score)inUtext,Utopic:

if haschildLoc inU:

score = score *(1+γ)

childLoc.score = childloc.score *(1+γ)

for(loc,score)in Utext,Utopic:

if loc is childLoc:

parentLoc.score += loc.score

for(loc,score)in Utext,Utopic:

if loc inUtext = loc in Utopic :

score =scoretext +scoretopic

Uall.put(loc,score)

find the loc with biggest score inUall

find thechildLoc of loc with biggest socre in Uall

returnloc,childLoc

最后,本文對于行政區劃歸類方法進行了再度的優化,對那些無法進行歸類的文章,利用百度地圖API的地點檢索服務。

1.2.2 主題立方體構建方法

通過對法律文章預處理和行政區劃歸類,法律文章擁有了時間和地點兩個維度,因此主題立方體[14]可以表示為如圖3的形式。其中橫坐標為地點,縱坐標為時間,每個小方塊中的內容即主題立方體的度量,即某一時間某一地點的主題分布。對于擁有時間和地點信息的法律文章數據,用戶通過數據立方體,可以從時間和地域兩個維度對這批數據進行OLAP操作。當用戶想獲取2月份上海市的法律文章時,只需要數據立方體中時間維從2月1日~2月29日以及地域維為上海的數據即可。

圖3 主題立方體表示方式一

由于圖3所示的定義中缺失城市地理位置信息這一重要信息,從圖中無法知悉上海市和江蘇省是否相鄰,這種相鄰關系在計算最大獨特主題范圍時非常重要。因此,本文將主題立方體表示為圖4所示的形式,更能反映主題立方體真實的狀態。圖4是一張三維的中國地圖,其厚度代表時間維度,時間沿著z軸的方向延伸。這樣的表示方式保留了各省份之間的地理位置相對關系,可以承載更多的地理位置信息,同時也更加直觀,便于理解。

圖4 主題立方體表示方式二

因此,本文提出了一種在多維文本集的主題立方體度量計算方法。其計算流程如下:

(2)對Cube中的每個中等大小單元進行訓練:中等大小單元為一個二維的范圍。例如“上海市1月份”的所有法律文章,粒度選擇為某省某一個月份的所有法律文章。對于每個子單元ci,指定主題數量為Kl,利用吉布斯采樣的方法訓練出Kl個子主題。所以,總的子主題數|cell|*Kl,|cell|為全部子單元個數。

(4)經過第(3)步之后,全局主題得到了擴展,這其中的每個主題之間的Kl散度都超過閾值τ,則將這些主題做為最終的主題模型φ。最后,使用該主題模型φ,通過吉布斯采樣的方式,計算每篇文章的主題分布θ,這一步被稱為推導。

(5)獲得了每篇文章的主題分布θ后,可以簡單的聚合出每個最小單元的主題分布。此外,在時間維和地點維的不同粒度上進行聚合,以此來滿足OLAP的上卷、下鉆、切片等要求。

此后,將每篇文章的主題分布、一些單元的主題分布以及主題模型中每個主題的詞概率分布存入HBase中,供OLAP模塊使用。

1.3 線上查詢技術

1.3.1 基于倒排索引的關鍵詞搜索法

由于關鍵詞搜索是線上模塊,對于線上模塊來說一個非常重要的指標就是時間效率。因此,OLAP系統對線上查詢的性能要求較高,找到一種提升運行效率的算法尤為關鍵。

本文關鍵詞搜索算法基于倒排索引的思想,將詞匯表中的所有詞作為關鍵,將包含這個詞的所有主題以及這個詞在這些主題中的概率作為值,存入HBase中。當用戶輸入某幾個關鍵詞時,只需在HBase中找到相應的條目,統計value中存在的主題分數即可。例如:表4展示了HBase中有“交通肇事”、“駕駛”、“離婚”、“財產分割”等關鍵詞,其中關鍵詞“交通肇事”在主題1、5、7中出現,概率分別是0.032 3、0.012 3、0.020 4。輸入關鍵詞“交通肇事 駕駛”進行搜索,通過倒排索引可以快速查詢到包含“交通肇事”和“駕駛”關鍵詞的主題及對應的概率,對主題進行分值計算就能獲得最終結果。此例中,最符合這兩個關鍵詞的主題是主題1,其分值為0.032 3+0.024 5=0.056 8。通過倒排索引的方式,在主題數量十分龐大的情況下,搜索引擎可以在極短的時間內返回包含關鍵詞的文章。

表4 關鍵詞搜索的倒排索引

1.3.2 基于剪枝的最大獨特主題范圍查找法

獨特主題是指經常出現在文檔某一范圍內的主題。本文用獨特主題分數(Uscore)來評價該主題屬于某一范圍的獨特程度。

(1)

其中:θrk表示主題k在范圍r上的概率,θgk表示主題k在全局范圍上的概率。當某個主題的獨特主題分數大于閾值λ時,說明該主題是范圍r上的獨特主題。公式為:

UT(r)={k|UScore(r,k)>λ,k∈{1,...,K}}

(2)

其中,λ用來衡量一個主題在全局上的的獨特程度。λ設置得越高,則被認定為獨特主題的門檻就越高。這個參數可以由用戶自行設定,默認值為0.007。

對于主題集合T中某個主題k來說,所有滿足?k∈T,k∈UT(r)和?r'∈S,?k∈T:r∈r',k?UT(r')條件范圍的r,都是該主題的最大獨特主題范圍。

其中,S為全部范圍集合。當k是范圍r上的獨特主題,而且k不是任何包含r的范圍的獨特主題,那么r就是一個k的最大獨特主題范圍。

求最大獨特主題范圍的基本思路是:求出所有范圍的獨特主題,在其中找到包含主題k的范圍,然后篩選出最大范圍。具體流程如下:

(1)計算每個范圍r的UScore(r,k)。

(2)找到UScore大于閾值的主題,作為范圍r的獨特主題。

(3)對于某個特定的主題,找到把其作為獨特主題的所有范圍。

(4)對步驟(3)中求出的范圍進行篩選,得到最大范圍集。

在地理維度上,“上海市”是一個范圍,“上海市 浙江省”是一個范圍,“江浙滬”也是一個范圍,只要省份相鄰就會形成新的范圍。由于需要計算所有范圍的獨特主題,范圍的個數非常多。因此,文獻[15]中提出了在時間維度上找最大獨特主題范圍的剪枝算法。對于任意r和r',如果r和r'的Uscore(r,k)和UScore(r',k)都小于閾值λ,即主題k既不是r上的獨特主題也不是r'上的獨特主題,那么k也不可能是r∪r'上的獨特主題?;谏鲜鍪聦崳疚脑O計了在地理維度上的剪枝方法。對于固定的主題k,剪枝算法先計算每個最小粒度范圍的獨特主題分數,然后再將相鄰的范圍組合,再次計算獨特主題分數。如果兩個子范圍的獨特主題分數都不滿足條件,則其并集必定不滿足條件。當計算出湖北省的獨特主題分數之后,要找到其所有的鄰居省份,分別計算取并集之后的獨特主題分數。如果滿足最大獨特主題范圍,則保留該省份。

2 系統評估

2.1 實驗環境

為了驗證系統的準確性以及線上即時交互的效率,對系統整體進行了測試。測試內容包括對行政區劃歸類模塊的準確性測試和線上查詢響應時間測試。

系統數據爬取自中國新聞網2019年1月~2020年5月發布的法律新聞數據,共347 635篇,去重后為273 029篇。系統使用Java語言開發,硬件環境見表5。

表5 硬件環境

2.2 行政區劃歸類準確性測試

通過人工標注方式,對530篇文章進行了手工標注,標注形式為<一級行政區劃,二級行政區劃>。如,法律新聞《張家界通報導游怒罵游客騙吃騙喝調查處理:對旅行社罰20萬》被標注為<湖南省,張家界市>。實驗對基礎方法、優化方法,以及使用百度地圖API輔助方法進行測試,測試結果,見表6。

表6 行政區劃歸類準確性測試

由此可見,無論是否使用地圖API,優化方法的準確率都超過了93%,使用地圖API輔助的方法準確率達到了95.6%,但在時間上的劣勢比較明顯。主要原因是每次使用地圖API都需要進行一次遠程調用,在這次實驗當中,共有11篇文章未在行政區劃識別詞典中找到相關的行政區劃,這部分文章都需要使用地圖API進一步搜索??梢钥闯觯{用地圖API的成本比較大,但是總體的時間復雜度以及準確率均尚可。

2.3 線上查詢響應時間測試

在線上查詢響應時間的測試中,經反復調整輸入的時間區間以及關鍵詞,最后得到每個小模塊的響應時間,結果如圖5所示。可以看到,關鍵詞搜索的平均響應時間在0.02 s左右。最大獨特主題范圍在1.2 s左右,下鉆操作本身也是一個最大獨立范圍查詢的過程,但是因為地圖的范圍比較小,所以查詢時間比較短。相關新聞查詢的平均響應時間為70 ms,雖然每個主題在任意空間和時間范圍內的相關文章已經預先存儲在posting list中。但因posting list空間占用過大,在增量壓縮之后依然無法放入內存中,其時間主要消耗在讀盤以及解壓縮中。

圖5 平均響應時間

3 結束語

本文設計并實現了一個面向司法大數據的文本主題OLAP系統,設計了新的數據模型Span保存數據,并針對這種新的數據模型設計了多個操作符,后續的數據處理均由這些操作符組合實現。

針對文章無地理位置維度問題,提出了基于規則的二級行政區劃歸類,對提取出的地名詞匯進行了可信度排序,從而得到最符合文章條件的行政區劃。對于無法匹配的地名,通過調用百度地圖API的方式進行識別,識別準確率高達95%以上。

在關鍵詞相關主題匹配問題上,采用倒排索引的方式,將一個詞語對應多個與之相關的主題,從而將單個關鍵詞匹配主題的時間復雜度降低到常數級別。對于最大獨特主題范圍查詢問題,本文提出一種在地理維度上快速尋找最大獨特主題范圍的方法。平均線上查詢時間在優化過后保持在1 s以內。

猜你喜歡
文本
文本聯讀學概括 細致觀察促寫作
重點:論述類文本閱讀
重點:實用類文本閱讀
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
作為“文本鏈”的元電影
藝術評論(2020年3期)2020-02-06 06:29:22
在808DA上文本顯示的改善
“文化傳承與理解”離不開對具體文本的解讀與把握
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
從背景出發還是從文本出發
語文知識(2015年11期)2015-02-28 22:01:59
主站蜘蛛池模板: 成人在线亚洲| 伊人久久婷婷五月综合97色| 亚洲国产一区在线观看| 免费不卡在线观看av| 亚洲天堂精品在线| 丁香五月激情图片| 亚洲swag精品自拍一区| 免费看a毛片| 伊人91视频| 日韩欧美91| 国内精品手机在线观看视频| 亚洲最大综合网| 国产产在线精品亚洲aavv| 91在线播放免费不卡无毒| 国产精品福利尤物youwu | 国产精品微拍| 中文字幕丝袜一区二区| 日韩精品亚洲一区中文字幕| 婷婷亚洲视频| 亚洲无码高清一区二区| 91色老久久精品偷偷蜜臀| 欧洲熟妇精品视频| 黄色三级网站免费| 少妇露出福利视频| 2021最新国产精品网站| 99久久成人国产精品免费| 国产精品妖精视频| 亚洲第一黄色网址| 色悠久久久| 国产欧美日韩另类精彩视频| 国产人成乱码视频免费观看| 国产国产人成免费视频77777| 精品久久久久无码| 精品无码视频在线观看| 免费看的一级毛片| 97久久免费视频| 久久久久久久蜜桃| 亚洲综合婷婷激情| 老色鬼久久亚洲AV综合| 国产在线观看人成激情视频| 国产精品一区二区不卡的视频| 蜜臀AV在线播放| 狠狠ⅴ日韩v欧美v天堂| AⅤ色综合久久天堂AV色综合| 性网站在线观看| 精品亚洲麻豆1区2区3区| 2019国产在线| 91年精品国产福利线观看久久| 欧美中文字幕一区二区三区| 99久久精品免费看国产免费软件| 日本道综合一本久久久88| 亚洲人成网站在线播放2019| 亚洲日韩在线满18点击进入| 九九热视频精品在线| 日韩无码真实干出血视频| 中文字幕在线观看日本| 日韩性网站| 欧美国产成人在线| 久久免费视频播放| 亚洲 成人国产| 精品人妻一区无码视频| 综合久久五月天| 日本欧美成人免费| 亚洲精品欧美日韩在线| 狠狠做深爱婷婷久久一区| 亚洲一级毛片在线观播放| 国产69精品久久| 欧美成人午夜影院| 国产日本欧美在线观看| 久久一级电影| 欧美一区二区自偷自拍视频| 综合网天天| 全部免费特黄特色大片视频| 日韩欧美国产综合| 国产人成午夜免费看| 波多野结衣一区二区三区88| 永久免费精品视频| 丁香婷婷综合激情| 亚洲欧美一区二区三区蜜芽| 亚洲国产中文综合专区在| 欧洲成人在线观看| 欧美a在线视频|