安 波
(中國社會科學(xué)院民族學(xué)與人類學(xué)研究所,北京 100081)
數(shù)千年來中華大地上誕生了很多不同的語言和文字,有些文字目前還在廣泛地使用,如漢字、藏文等,也有些文字已經(jīng)很少有人使用或?yàn)l臨滅絕,如西夏文、金文等。這些文字對于研究中華民族的歷史、文化、傳統(tǒng)習(xí)俗和語言發(fā)展的規(guī)律具有重要價(jià)值。為了更好地保護(hù)和研究中華民族文字,且保護(hù)與挖掘這些文字的價(jià)值,近年來國家立項(xiàng)了多個(gè)與文字相關(guān)的重大文化科技工程,如“中華字庫工程”“語保工程”[1]等。 其中,中華字庫工程是目前最為系統(tǒng)和完整地進(jìn)行中華民族文字整理工作的工程?!爸腥A字庫工程”[2]匯集了包括中國科學(xué)院軟件研究所、中版集團(tuán)數(shù)字傳媒有限公司、首都師范大學(xué)、北京中標(biāo)中易電子信息技術(shù)有限公司等在內(nèi)的國內(nèi)從事文字處理的科研機(jī)構(gòu)和公司,嘗試?yán)眯畔⒒?、?shù)字化手段進(jìn)行原始數(shù)據(jù)的采集、整理,建立準(zhǔn)確的字際關(guān)系,形成標(biāo)準(zhǔn)的國際編碼、字體文件、輸入法、字符屬性數(shù)據(jù)集等,并利用云計(jì)算技術(shù)將采集的成果數(shù)據(jù)對外提供字型云服務(wù)、屬性云服務(wù)和輸入法云服務(wù),且基于這3 種服務(wù)提供成果字庫和其他數(shù)據(jù)的輸入、顯示和屬性查詢服務(wù)?!爸腥A字庫工程”的研發(fā)建設(shè),為研究中華文字的產(chǎn)生、發(fā)展和演變提供數(shù)據(jù)基礎(chǔ),是提高中國文化“軟實(shí)力”的一項(xiàng)重要舉措,對于中華文明的普及與傳播具有重大的戰(zhàn)略意義。目前,已經(jīng)收集整理了包含楷書漢字、古漢字、少數(shù)民族語言等語種并針對每種文字形成了對應(yīng)的字體文件、編碼空間、字圖,并針對每個(gè)字符收集整理了相對應(yīng)的屬性信息。迄今已有一些在線的文字資源庫可以使用,如“在線新華字典”等。然而,中華字庫工程的數(shù)據(jù)存儲采用的是傳統(tǒng)文件系統(tǒng)(字體、輸入法、字圖)、關(guān)系型數(shù)據(jù)庫(屬性),不同類型的數(shù)據(jù)之間是隔離的,沒有建立合理的關(guān)聯(lián),致使這些文字資源主要以現(xiàn)代漢字為主,缺少古漢字、少數(shù)民族文字的相關(guān)內(nèi)容。因此無法很好地進(jìn)行數(shù)據(jù)融合、查詢、挖掘與推理等工作,不利于對文字整理成果數(shù)據(jù)的深入研究與應(yīng)用。
知識圖譜(Knowledge Graph)[3]是一種語義網(wǎng)絡(luò)(Semantic Network)[4],最早是谷歌于2012年提出的且應(yīng)用于搜索引擎[5]、推薦[6]等,取得了很好的效果。知識圖譜使用結(jié)構(gòu)化的網(wǎng)絡(luò)結(jié)構(gòu)描述概念、實(shí)體(Entity)及關(guān)系(Relation),實(shí)體之間通過關(guān)系建立關(guān)聯(lián),形成圖狀結(jié)構(gòu)的知識結(jié)構(gòu),更加接近人類對世界的認(rèn)知形式,提供了一種更好的組織、管理和使用知識的方式。知識圖譜技術(shù)是指知識圖譜的構(gòu)建與應(yīng)用的技術(shù),融合了認(rèn)知計(jì)算[7]、表示學(xué)習(xí)[8]、查詢與推理等技術(shù)的交叉方向。知識圖譜的構(gòu)建通常包括本體(Ontology)[9]設(shè)計(jì)和知識抽取兩個(gè)階段。其中,本體定義了知識圖譜的實(shí)體、關(guān)系的類型等信息,限定了知識圖譜的范圍,本體設(shè)計(jì)是由領(lǐng)域?qū)<遗c知識圖譜專家人工設(shè)計(jì)的。而知識抽取則主要基于模型、規(guī)則等計(jì)算機(jī)技術(shù)實(shí)現(xiàn)。知識抽取常見的任務(wù)包括知識表示與建模、知識表示學(xué)習(xí)、實(shí)體識別與鏈接[10]、實(shí)體關(guān)系識別[11]、事件抽取[12]等。為了進(jìn)一步提升知識圖譜的覆蓋率,知識補(bǔ)全和知識融合[13-15]也是常用的技術(shù)。典型的知識圖譜的應(yīng)用有知識查詢與推理、智能搜索、知識問答、對話系統(tǒng)等。
鑒于知識圖譜能夠支持知識的快速查詢與推理,本文將針對中華字庫工程研發(fā)建設(shè)中存在的問題,采用知識圖譜的方式對字庫工程的成果數(shù)據(jù)進(jìn)行組織,挖掘數(shù)據(jù)中的知識,形成中華字庫成果數(shù)據(jù)知識圖譜,利用圖數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的存儲,并基于實(shí)體識別、關(guān)系抽取和三元組抽取等步驟,構(gòu)建一個(gè)包含60 萬個(gè)實(shí)體、1 000 萬個(gè)三元組的大規(guī)模文字知識圖譜。在該文字知識圖譜的基礎(chǔ)上,構(gòu)建智能問答系統(tǒng)[16],回答用戶以自然語言形式提出的問題。
通過前期積累,整理形成了超過50 萬字的成果字符,以及這些字符對應(yīng)的編碼、字形、輸入法、掃描圖檔、屬性等信息。在很大程度上滿足了新聞出版行業(yè)的文字標(biāo)準(zhǔn)化的迫切需求,加快了國家尤其是民族地區(qū)的信息化進(jìn)程,增強(qiáng)了國家文化“軟實(shí)力”。
然而,目前這些數(shù)據(jù)以字體文件、文本、關(guān)系數(shù)據(jù)庫等不同的形式進(jìn)行存儲,數(shù)據(jù)之間沒有建立關(guān)聯(lián),限制了成果數(shù)據(jù)的進(jìn)一步挖掘和應(yīng)用。針對該問題,本文提出使用更為先進(jìn)的知識圖譜的方式進(jìn)行數(shù)據(jù)的重新組織和存儲,建立數(shù)據(jù)之間的關(guān)聯(lián),為后續(xù)的字庫數(shù)據(jù)挖掘和應(yīng)用提供支撐。
本體是知識圖譜的知識表示的基礎(chǔ),是知識圖譜的抽象概念集合,是某個(gè)領(lǐng)域的概念框架,如“人”“地”“事件”等。知識圖譜是在本體基礎(chǔ)上的具象,在本體中通常包含實(shí)體概念和關(guān)系概念。如在人物知識圖譜中,“人”是一個(gè)實(shí)體概念,“姚明”則是一個(gè)具體的實(shí)體。“妻子”是一個(gè)關(guān)系的概念,三元組(姚明,妻子,葉麗)則是關(guān)系“妻子”的一個(gè)具體實(shí)例。知識圖譜最終是由三元組構(gòu)成。三元組包含頭部實(shí)體、關(guān)系和尾部實(shí)體3 個(gè)元素。在前面的例子中,“姚明”為頭部實(shí)體,“妻子”為關(guān)系,“葉麗”為尾部實(shí)體。通過這些三元組可以構(gòu)建實(shí)體之間的相互關(guān)系,支持查詢、推理等操作。
中華文字知識圖譜主要涉及字符、語種、地域和文獻(xiàn)四類實(shí)體。在中華文字知識圖譜中對關(guān)系和屬性不做嚴(yán)格地進(jìn)行區(qū)分,均采用三元組的方式進(jìn)行存儲。如字符編碼屬性和字符之間異體關(guān)系均采用三元組進(jìn)行存儲。關(guān)系和屬性在該知識圖譜中不進(jìn)行區(qū)分,均以關(guān)系的形式進(jìn)行存儲和使用。目前,中華文字知識圖譜中的主要關(guān)系類型如表1所示。同時(shí),中華文字知識圖譜不僅針對現(xiàn)代漢語,而且針對古漢語、傣文、西夏文等少數(shù)民族文字。中華文字知識圖譜包含的部分語種見表2。
表1 中華字庫關(guān)系/屬性列表
表2 中華文字知識圖譜包含的部分語種
基于上述本體定義的實(shí)體和關(guān)系類型,本文設(shè)計(jì)信息抽取系統(tǒng)實(shí)現(xiàn)從文本、圖片、字體、數(shù)據(jù)庫等信息中抽取文字對應(yīng)的實(shí)體、關(guān)系和三元組構(gòu)建知識圖譜。文字知識圖譜抽取的整體框架如圖1所示。該系統(tǒng)主要包括數(shù)據(jù)預(yù)處理、實(shí)體抽取、關(guān)系抽取、實(shí)體鏈接和三元組抽取。主要對不同模態(tài)的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,形成能夠進(jìn)行統(tǒng)一信息抽取的數(shù)據(jù)形式。然后再進(jìn)行實(shí)體和關(guān)系的識別。同時(shí),由于相同實(shí)體在不同的數(shù)據(jù)中有不同的模態(tài)和形式,需要對這些實(shí)體進(jìn)行鏈接,實(shí)現(xiàn)實(shí)體的歸一化處理。如利用字符編碼將文本形式、圖片形式和字體文件中的同一字符關(guān)聯(lián)起來,便于后續(xù)的三元組抽取。
圖1 文字知識圖譜構(gòu)建流程
續(xù)表
利用上述信息抽取系統(tǒng),本文抽取了超過60萬個(gè)實(shí)體和超 1 000 萬個(gè)三元組,構(gòu)成了當(dāng)前最大規(guī)模的中華文字知識圖譜。本文利用Neo4j構(gòu)建三元組數(shù)據(jù),形成可視化的數(shù)據(jù)查詢接口,具體的示例如圖2所示。
圖2 以“人”作為部首的字符
知識圖譜將知識通過關(guān)系串聯(lián)起來,形成網(wǎng)狀結(jié)構(gòu),能夠支撐很多智能應(yīng)用,典型的應(yīng)用主要包括智能問答、智能客服、推薦系統(tǒng)等。本文在文字知識圖譜的基礎(chǔ)上構(gòu)建了一個(gè)智能問答系統(tǒng),實(shí)現(xiàn)了在文字知識圖譜上的智能問答,并實(shí)現(xiàn)了支持自然語言的方式進(jìn)行文字相關(guān)關(guān)系/屬性的查詢。該系統(tǒng)的整體架構(gòu)如圖3所示。主要包括實(shí)體抽取、意圖識別、知識圖譜查詢與推理和回復(fù)生成4 個(gè)模塊。本文基于這4 個(gè)模塊,利用中華文字知識圖譜實(shí)現(xiàn)一個(gè)較為完整的智能問答系統(tǒng),以完成針對該知識圖譜的自動(dòng)查詢,滿足該知識圖譜的基本查詢需求。
圖3 基于文字知識圖譜的智能問答
實(shí)體抽取模塊的主要任務(wù)是從用戶提出的問題中準(zhǔn)確地識別實(shí)體詞。在文字知識圖譜中,實(shí)體詞主要為字符、語種、地域和文獻(xiàn)。本文基于Bert+CRF[17](預(yù)訓(xùn)練語言模型+條件隨機(jī)場)實(shí)現(xiàn)實(shí)體識別。該模型將實(shí)體識別轉(zhuǎn)換為序列標(biāo)注問題,通過給問題中的每個(gè)字預(yù)測不同的標(biāo)簽實(shí)現(xiàn)對實(shí)體的識別。具體的例子如圖4所示,其中“S”表示為一個(gè)實(shí)體字,“O”表示為其他字符。該模型能夠基于大規(guī)模預(yù)訓(xùn)練語言模型實(shí)現(xiàn)。預(yù)訓(xùn)練語言模型的微調(diào)機(jī)制使得該模型具有更好的魯棒性,所需要的標(biāo)注數(shù)據(jù)也更少,尤其適合于文字知識圖譜這種缺少標(biāo)注數(shù)據(jù)的模型。
圖4 實(shí)體識別示意
意圖識別是在實(shí)體識別的基礎(chǔ)上,判斷用戶的意圖。如圖4 中的問題對應(yīng)的意圖是“異體字”。本文將意圖識別建模為一個(gè)分類問題,將用戶的問題分類為不同的關(guān)系/屬性的查詢需求。本文利用Bert+FC[18](預(yù)訓(xùn)練語言模型+全連接分類器)作為文本分類模型,用于實(shí)現(xiàn)意圖識別。
當(dāng)識別了用戶問題中的核心實(shí)體和意圖后,可以生成知識圖譜的查詢命令,實(shí)現(xiàn)單跳和多跳的查詢。所謂“單跳”指的是通過一次關(guān)系查詢操作即可滿足用戶的需求。如圖4 的問題可以通過查詢目標(biāo)字的所有異體字來滿足用戶查詢?!岸嗵笔悄切┎荒芡ㄟ^單一的關(guān)系來滿足用戶需求的問題,如問題“字符頇對應(yīng)語種有多少字?”需要通過“語種”和“字符列表”兩個(gè)關(guān)系來滿足用戶查詢。在多跳場景下識別用戶的意圖后與知識圖譜中的關(guān)系組合進(jìn)行相似度計(jì)算,最終得到查詢的關(guān)系組合。本文基于SentenceBert[19]模型實(shí)現(xiàn)意圖與關(guān)系組合的相似度計(jì)算。該模型在大規(guī)模語言模型的基礎(chǔ)上計(jì)算句子/短語/詞匯之間的相似度,能夠充分利用上下文信息。
基于上述模塊,系統(tǒng)完成對用戶問題的理解和知識的查詢與推理,得到用戶所需要的信息。為了能夠以更自然的交互方式與用戶進(jìn)行問答交互,本文實(shí)現(xiàn)了基于規(guī)則結(jié)合文本生成模型T5[18]進(jìn)行回復(fù)生成。
本文在中華字庫成果數(shù)據(jù)的基礎(chǔ),采用知識圖譜技術(shù)和數(shù)據(jù)組織方式構(gòu)建了一個(gè)大規(guī)模的中華文字知識圖譜。文字知識圖譜涵蓋了楷書漢字、古漢字、少數(shù)民族文字等多種語言文字,包含了字形、字音、字義、編碼空間等多種模態(tài)和類型的屬性數(shù)據(jù)。本文采用實(shí)體抽取、關(guān)系識別、三元組抽取等技術(shù)構(gòu)建了知識圖譜。并利用深度學(xué)習(xí)在文字知識圖譜的基礎(chǔ)上實(shí)現(xiàn)了一個(gè)智能問答系統(tǒng),滿足了用戶對文字知識查詢的需求。