賈圣賓,向 陽(yáng)
(同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201804)
時(shí)間是客觀存在的,但在人類日常生活中,時(shí)間的表達(dá)需要借助自然語(yǔ)言描述出來(lái)。時(shí)間信息是自然語(yǔ)言表達(dá)中必不可少的一種語(yǔ)義信息。時(shí)間語(yǔ)義理解是自然語(yǔ)言處理的重要部分。
時(shí)間語(yǔ)義[1]即為描述事件發(fā)生、發(fā)展的時(shí)序信息。時(shí)間語(yǔ)義理解是將自然語(yǔ)言描述的時(shí)間語(yǔ)義信息以計(jì)算機(jī)可以處理的方式進(jìn)行量化表示。本文將時(shí)間語(yǔ)義理解過(guò)程定義為,經(jīng)過(guò)時(shí)間信息的抽取、映射和對(duì)時(shí)間語(yǔ)義的建模等一系列處理后,構(gòu)建時(shí)間語(yǔ)義模型,從而結(jié)構(gòu)化表達(dá)時(shí)間信息與語(yǔ)義理解結(jié)果。時(shí)間語(yǔ)義理解過(guò)程描述如圖1所示。
如何有效地計(jì)算和理解自然語(yǔ)言中的時(shí)間語(yǔ)義,在人工智能領(lǐng)域,特別是智能服務(wù)行業(yè)具備重要的研究?jī)r(jià)值,如個(gè)人事務(wù)助理、智能聊天機(jī)器人等。智能服務(wù)系統(tǒng)中的自然語(yǔ)言文本富含時(shí)間信息,獲取其時(shí)間語(yǔ)義,準(zhǔn)確理解服務(wù)需求的時(shí)間語(yǔ)境,對(duì)智能服務(wù)的制定與提供非常關(guān)鍵。
圖1 時(shí)間語(yǔ)義理解模型 Fig. 1 Model of temporal semantic understanding
這些時(shí)間信息具有如下特點(diǎn):1)未來(lái)傾向性,服務(wù)文本中的時(shí)間大多是一個(gè)未來(lái)的時(shí)間,是對(duì)需求服務(wù)的時(shí)間條件的表達(dá)。2)獨(dú)立性,服務(wù)消息文本一般為短句子,簡(jiǎn)要明確,幾乎不存在句群的聯(lián)合指代現(xiàn)象。3)實(shí)時(shí)性,消息文本具有實(shí)時(shí)特點(diǎn),參考時(shí)間容易確定,一般為系統(tǒng)當(dāng)前時(shí)間。不同于其他類型文本如新聞文本,發(fā)布具有滯后性,參考時(shí)間難以確定。4)明確性,服務(wù)消息中的時(shí)間短語(yǔ)表達(dá)往往可以明確一個(gè)時(shí)間點(diǎn)或時(shí)間段,但如“每天”“年年”這種表示頻率的時(shí)間短語(yǔ)因不能明確地表達(dá)服務(wù)的時(shí)間需求,因此很少出現(xiàn)在智能服務(wù)系統(tǒng)。本文方法的研究是在上述服務(wù)信息文本時(shí)間信息特點(diǎn)基礎(chǔ)上開(kāi)展的。
人們的時(shí)間概念具有一致性,但對(duì)時(shí)間概念的描述卻因語(yǔ)言表達(dá)的多樣化而使得時(shí)間信息的表現(xiàn)形式具有靈活性和多樣性[2],從而使得時(shí)間語(yǔ)言理解具有很大難度。目前時(shí)間語(yǔ)義理解方面的研究水平較低。文獻(xiàn)[3]以概念網(wǎng)絡(luò)為基礎(chǔ),構(gòu)建了一種自然語(yǔ)言時(shí)間語(yǔ)義模型。文獻(xiàn)[4]利用時(shí)間語(yǔ)法詞典和時(shí)間本體庫(kù)實(shí)現(xiàn)時(shí)間語(yǔ)義自動(dòng)提取及時(shí)間語(yǔ)義結(jié)構(gòu)填充。文獻(xiàn)[5]提出了一種多層次時(shí)間語(yǔ)義表達(dá)結(jié)構(gòu)和一種通用時(shí)間語(yǔ)義計(jì)算方法。時(shí)間語(yǔ)義理解是一個(gè)系統(tǒng)、復(fù)雜的研究任務(wù)。許多學(xué)者僅致力于其中子模塊,如時(shí)間信息抽取、時(shí)間信息映射等的研究。
時(shí)間信息抽取一般采用基于規(guī)則的方法或基于序列標(biāo)注的方法?;谝?guī)則的方法,通過(guò)手工制定規(guī)則來(lái)識(shí)別時(shí)間短語(yǔ)[6-10],如:文獻(xiàn)[11]手工定義了24種規(guī)則模板匹配時(shí)間表達(dá);文獻(xiàn)[12]根據(jù)人工構(gòu)建的啟發(fā)式規(guī)則抽取時(shí)間短語(yǔ)并分解為一系列的時(shí)間基元,構(gòu)建時(shí)間基元的規(guī)則庫(kù),以此抽取復(fù)雜的時(shí)間表達(dá)。此類方法使用簡(jiǎn)單,易于理解,但需要預(yù)備的詞典和專家知識(shí),工作量大,很難構(gòu)建全面的規(guī)則庫(kù)?;谛蛄袠?biāo)注的方法[13],如采用條件隨機(jī)場(chǎng)[14-17]或最大熵模型[18-19]的序列標(biāo)注機(jī)器學(xué)習(xí)算法,構(gòu)建完善的特征向量是關(guān)鍵,如采用詞匯特征[15-16]、位置特征[15]、依存特征[16, 19]、語(yǔ)義角色特征[14]等?;谛蛄袠?biāo)注的方法效果較好,但是結(jié)果好壞過(guò)分依賴于預(yù)先手工標(biāo)注的訓(xùn)練語(yǔ)料的質(zhì)量,還存在數(shù)據(jù)稀疏和詞序依賴等問(wèn)題。
時(shí)間信息映射方面,由于時(shí)間信息表現(xiàn)形式靈活多樣,導(dǎo)致中文時(shí)間信息映射存在諸多難點(diǎn),如相對(duì)時(shí)間轉(zhuǎn)化問(wèn)題、不完整時(shí)間補(bǔ)全問(wèn)題等,導(dǎo)致時(shí)間短語(yǔ)規(guī)范化效果欠佳[8,20-21]。文獻(xiàn)[10]利用6種時(shí)間轉(zhuǎn)換算子及時(shí)間沖突處理算子輸出其時(shí)間的規(guī)范化格式。文獻(xiàn)[20]利用時(shí)間表達(dá)式模式及時(shí)間詞典、近義詞詞典,采用模式匹配的方法把語(yǔ)料中的時(shí)間映射并轉(zhuǎn)化為確定的時(shí)間值,需要制定精致的詞典。
本文分析服務(wù)自然語(yǔ)言文本中時(shí)間信息表達(dá)規(guī)律,創(chuàng)建一套面向智能服務(wù)系統(tǒng)的時(shí)間語(yǔ)義理解模型,該模型研究主要從時(shí)間信息的抽取、映射和時(shí)間語(yǔ)義建模三個(gè)模塊展開(kāi),最終設(shè)計(jì)時(shí)間語(yǔ)義模型表達(dá)時(shí)間語(yǔ)義信息,為一般的智能服務(wù)系統(tǒng)提供一種通用的時(shí)間表達(dá)模式。
時(shí)間信息的表現(xiàn)形式具有靈活性和多樣性。1)同一個(gè)時(shí)間可以有多種表述形式,比如“2017年10月1日”,可以簡(jiǎn)寫(xiě)成“2017-10-01”,也可以寫(xiě)成“國(guó)慶節(jié)”“十一”。2)時(shí)間語(yǔ)義信息會(huì)和上下文以及句義信息結(jié)合在一起,時(shí)間短語(yǔ)附加某些介詞或方位詞組合表達(dá)不同的時(shí)間語(yǔ)義。如“在12點(diǎn)時(shí)”表達(dá)了一個(gè)時(shí)點(diǎn)語(yǔ)義信息,“在12點(diǎn)以后”表達(dá)了一個(gè)時(shí)段語(yǔ)義信息。3)用戶對(duì)時(shí)間表述時(shí)參照基準(zhǔn)不一產(chǎn)生“絕對(duì)時(shí)間”和“相對(duì)時(shí)間”兩種,比如,絕對(duì)時(shí)間“2005年9月30日”在某些語(yǔ)境下可以描述為相對(duì)時(shí)間“明天”。絕對(duì)時(shí)間可明確地表示時(shí)間軸上確切的一點(diǎn)。相對(duì)時(shí)間需要一個(gè)參照點(diǎn)才能表達(dá)明確的時(shí)間信息,在不同的參照點(diǎn)下,相對(duì)時(shí)間所表達(dá)的時(shí)間信息不同。參考時(shí)間可以是消息文本內(nèi)容時(shí)間,也可能是當(dāng)前時(shí)間 (即消息發(fā)布時(shí)間)。
時(shí)間信息主要以時(shí)間短語(yǔ)的形式出現(xiàn)。時(shí)間短語(yǔ)可描述兩類時(shí)間對(duì)象:時(shí)點(diǎn)時(shí)間和時(shí)段時(shí)間,映射到時(shí)間軸上分別用點(diǎn)和區(qū)間來(lái)表示。時(shí)點(diǎn)時(shí)間表示某個(gè)事件發(fā)生的特定時(shí)間,可以用來(lái)回答“什么時(shí)候”的問(wèn)題,也可以為事件發(fā)生的時(shí)間定位。時(shí)段時(shí)間表示具有起點(diǎn)、終點(diǎn)的或長(zhǎng)或短的一段時(shí)間。時(shí)段大多可以回答“多長(zhǎng)時(shí)間”的提問(wèn),可以標(biāo)注事件可能發(fā)生的時(shí)間域。
時(shí)間短語(yǔ)是由時(shí)間基元構(gòu)成的,時(shí)間基元即為時(shí)間要素的基本單元,如“2017年6月20日8點(diǎn)12分”由2017年、6月、20日、8點(diǎn)、12分5個(gè)時(shí)間基元構(gòu)成。不同的時(shí)間基元表示不同的時(shí)間粒度??紤]服務(wù)系統(tǒng)中常用的時(shí)間信息,本文涉及5種不同的時(shí)間粒度,由粗至細(xì)分別為年(year)、月(month)、日(day)、時(shí)(hour)和分(minute)。
本文設(shè)計(jì)了一個(gè)基于啟發(fā)式策略的自動(dòng)抽取時(shí)間信息算法。該方法并不依賴于時(shí)間觸發(fā)詞詞典,無(wú)需人工制定規(guī)則模板,而是根據(jù)分詞詞性去抽取候選時(shí)間短語(yǔ),通過(guò)限制策略過(guò)濾低質(zhì)量時(shí)間短語(yǔ),可以很好地解決時(shí)間表達(dá)模板的識(shí)別歧義問(wèn)題。時(shí)間表達(dá)模板是最大化相鄰時(shí)間單元的序列,即最長(zhǎng)時(shí)間名詞短語(yǔ),通過(guò)啟發(fā)式探索時(shí)間短語(yǔ)兩端的介詞和方位詞,反復(fù)迭代,靈活地判斷時(shí)間表達(dá)式的上下邊界。自動(dòng)抽取算法如圖2所示。
圖2 時(shí)間信息自動(dòng)抽取算法 Fig. 2 Automatic extraction algorithm for temporal information
由于高質(zhì)量的服務(wù)文本語(yǔ)料較少,本文收集大量網(wǎng)絡(luò)新聞文本以及文學(xué)作品等,這些文本中也包含大量的時(shí)間信息,可以起到一定的補(bǔ)充作用,待處理文本共約10 GB。為了避免分詞與詞性標(biāo)注錯(cuò)誤帶來(lái)的干擾,本文利用集成學(xué)習(xí)的思想,利用四種分詞工具對(duì)文本分別進(jìn)行處理。
候選時(shí)間表達(dá)模板庫(kù)中存儲(chǔ)大量的候選時(shí)間短語(yǔ),每個(gè)時(shí)間短語(yǔ)以三元組的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),包括時(shí)間短語(yǔ)自動(dòng)轉(zhuǎn)化而來(lái)的時(shí)間短語(yǔ)正則表達(dá)式、頻數(shù)、時(shí)間基元的正則表達(dá)式三部分。候選介詞詞庫(kù)存儲(chǔ)二元組形式的數(shù)據(jù),包括介詞本身和頻數(shù);同理,候選方位詞詞庫(kù)存儲(chǔ)由方位詞本身和頻數(shù)構(gòu)成的二元組。
經(jīng)過(guò)上述自動(dòng)抽取過(guò)程后得到了候選的時(shí)間模板庫(kù)、介詞庫(kù)以及方位詞庫(kù)。庫(kù)中各條記錄的統(tǒng)計(jì)頻數(shù)越大,說(shuō)明其越具有普遍性,轉(zhuǎn)化為模板的正確率越高。因此,基于頻數(shù)的過(guò)濾策略可以很好地降低抽取錯(cuò)誤率,提高庫(kù)的質(zhì)量。根據(jù)各自的頻數(shù),低于設(shè)定閾值的將被過(guò)濾。更進(jìn)一步,將過(guò)濾后的候選時(shí)間表達(dá)模板分解的時(shí)間基元構(gòu)建“候選時(shí)間基元庫(kù)”,并為每個(gè)時(shí)間基元統(tǒng)計(jì)頻數(shù),將頻數(shù)低于閾值的過(guò)濾。不同的時(shí)間基元所表達(dá)的時(shí)間粒度不同,然后將這些時(shí)間基元進(jìn)行聚類,聚類主題包括9大類,如表1所示。聚類方法采用K均值聚類算法,這里K取值9,各聚類中心點(diǎn)初始化時(shí),分別指定為各主題中的一個(gè)實(shí)例。此外,未正則化的時(shí)間基元是一個(gè)個(gè)的名詞,采用word2vec將它們轉(zhuǎn)化為詞向量,從而輸入聚類模型。根據(jù)聚類結(jié)果,將離散的時(shí)間基元篩除,相應(yīng)地把包含該時(shí)間基元的候選時(shí)間表達(dá)模板刪除。經(jīng)過(guò)雙重過(guò)濾之后,可以得到高質(zhì)量的時(shí)間信息庫(kù)。
表1 時(shí)間基元聚類主題分類Tab. 1 Clustering theme classification of temporal unit
時(shí)間語(yǔ)義模型是一種時(shí)間信息規(guī)范表達(dá)與時(shí)間語(yǔ)義表示的數(shù)據(jù)組織形式,目的是將服務(wù)文本中的時(shí)間信息抽取出來(lái)并進(jìn)一步理解其語(yǔ)義,以結(jié)構(gòu)化形式存起來(lái),因此模型要盡可能全面地包含時(shí)間短語(yǔ)原始信息、規(guī)范化后信息和語(yǔ)義理解結(jié)果等,為后續(xù)服務(wù)制定提供充足的數(shù)據(jù)基礎(chǔ)。
本文將時(shí)間語(yǔ)義模型定義為五元組TSM= (AT,RTP,PP,PD,ST)。其中:
RTP(Raw Temporal Phrase),是從文本中抽取出來(lái)的未經(jīng)處理的原始時(shí)間短語(yǔ)表達(dá)。
AT(Absolute Time),為RTP所映射的一個(gè)規(guī)范絕對(duì)時(shí)間表達(dá)式。
PP(Pre-Preposition),為位于RTP前面的相關(guān)介詞。
PD(Post-Direction),為位于RTP后面的相關(guān)的時(shí)間方位詞。
ST(Semantic Type),為該時(shí)間短語(yǔ)在原文本中表達(dá)的語(yǔ)義類型。
本文采用基于多粒度時(shí)間基元的時(shí)間表達(dá)方式,將散亂的文本時(shí)間信息規(guī)范為結(jié)構(gòu)化的時(shí)間表達(dá)。因此,AT定義為{year-month-day hour: minute}。其中的每個(gè)元素代表對(duì)應(yīng)時(shí)間粒度下的時(shí)間信息。相鄰的時(shí)間單位之間都具有一定的數(shù)量轉(zhuǎn)換關(guān)系。時(shí)間單位系統(tǒng)是一種可擴(kuò)展層級(jí)結(jié)構(gòu),可以方便地往其中添加具備轉(zhuǎn)換關(guān)系的時(shí)間單位。該時(shí)間表達(dá)式為絕對(duì)時(shí)間的表達(dá)方式,相對(duì)時(shí)間經(jīng)過(guò)推理映射也可以表達(dá)為這種形式。
時(shí)間短語(yǔ)可描述時(shí)點(diǎn)時(shí)間和時(shí)段時(shí)間兩類時(shí)間對(duì)象。因此,時(shí)間語(yǔ)義類型定義為時(shí)點(diǎn)Tpoint和時(shí)段Tperiod兩類。時(shí)點(diǎn)可以表示事件發(fā)生的開(kāi)始時(shí)間、結(jié)束時(shí)間,或是事件執(zhí)行過(guò)程中的某個(gè)特殊時(shí)間點(diǎn)。一個(gè)時(shí)段可以由二元組Tperiod(Tpoint1,Tpoint2)表示。Tpoint1表示事件發(fā)生的開(kāi)始時(shí)間,或允許事件發(fā)生的最早時(shí)間;Tpoint2表示事件完成的結(jié)束時(shí)間,或允許事件開(kāi)始的最遲時(shí)間,或允許事件完成的最晚時(shí)間??赡艽嬖趦H知時(shí)段的一個(gè)端點(diǎn)的特例情況,此時(shí)可表示為T(mén)period(PAST,Tpoint2)或者Tperiod(Tpoint1, FUTURE)。
時(shí)間短語(yǔ)可以與時(shí)間介詞PP或方位詞PD聯(lián)合表達(dá)多樣的時(shí)間語(yǔ)義。例如對(duì)于時(shí)間短語(yǔ)“5月20日”,可以衍生出“截止5月20日”“在5月20日”“5月20日之后”等,這些短語(yǔ)包含不同的時(shí)間語(yǔ)義。因此,時(shí)間介詞和方位詞對(duì)于時(shí)間語(yǔ)義表達(dá)都具有重要意義。
本文提出一種基于時(shí)間基元的映射方法,在已建立好的時(shí)間信息知識(shí)庫(kù)基礎(chǔ)上,首先建立起時(shí)間基元與規(guī)范時(shí)間單位的映射關(guān)系。從消息文本中根據(jù)時(shí)間表達(dá)模板抽取出每一個(gè)時(shí)間短語(yǔ),依次自動(dòng)地將其映射為絕對(duì)時(shí)間表達(dá)式。
對(duì)信息完整的時(shí)間表達(dá)短語(yǔ),如“2017年10月1日15點(diǎn)30分”,它的AT比較容易得到,但是服務(wù)消息中大多是包含信息不完整的時(shí)間短語(yǔ),本文總結(jié)了在時(shí)間信息映射過(guò)程中存在的幾個(gè)難題:
1)相對(duì)時(shí)間轉(zhuǎn)換。如“今天”“明年”等,需要參考一個(gè)日期才能確定。有的相對(duì)時(shí)間,如泛指時(shí)段,需要將其轉(zhuǎn)換為一個(gè)時(shí)段。
2)不完整時(shí)間短語(yǔ)補(bǔ)全。需要確定一個(gè)參考時(shí)間,如“5月1日”需要參考一個(gè)年份才能映射到時(shí)間軸上。
3)時(shí)間未來(lái)傾向判定。比如在2017年6月20日發(fā)布消息中抽取出時(shí)間短語(yǔ)“明天下午5點(diǎn)40分”或“明天17點(diǎn)40分”,可以明確地判斷該時(shí)間為2017年6月21日17時(shí)40分。但是對(duì)于時(shí)間短語(yǔ)為“5點(diǎn)40分”,如果消息發(fā)布是在同一天早晨的4時(shí),該時(shí)間應(yīng)該判定為2017年6月20日5時(shí)40分(當(dāng)日早晨);若消息發(fā)布時(shí)間是下午2時(shí),該時(shí)間應(yīng)該判定為2017年6月20日17時(shí)40分(當(dāng)日下午);再或者消息發(fā)布是在晚上8時(shí),該時(shí)間應(yīng)該判定為2017年6月21日5時(shí)40分(次日早晨)。人們?cè)谌粘I缃恢惺r(shí)制和二十四小時(shí)制的混用給時(shí)間標(biāo)準(zhǔn)化帶來(lái)困難。
對(duì)于相對(duì)時(shí)間的處理,時(shí)間信息為時(shí)點(diǎn)或時(shí)段的判斷將在下一節(jié)中描述。這里定義一組規(guī)則映射函數(shù)Rr,利用該函數(shù)集在絕對(duì)時(shí)間Ta的參照下,將目標(biāo)相對(duì)時(shí)間Ti映射為絕對(duì)時(shí)間Tr:
Rr:{Ti,Ta,unit}→Tr
假設(shè)當(dāng)前時(shí)間為2017年6月20日,相對(duì)時(shí)間“明天”,包含日粒度的時(shí)間基元“明天”,表示為unit。其屬性是“將來(lái)”(ATT(Ta)=FUTURE)。參考時(shí)間是一般時(shí)TENSE(Ta) =PRESENT,和目標(biāo)時(shí)間基元邏輯加所得結(jié)果為目標(biāo)時(shí)間和參考時(shí)間的關(guān)系是“將來(lái)”。此關(guān)系包涵了時(shí)間的演化方向,與時(shí)間差量ΔTi(unit)=1 (單位日)邏輯乘,得到時(shí)間偏移量(符號(hào)為+或-),絕對(duì)時(shí)間的對(duì)應(yīng)時(shí)間基元值與時(shí)間偏移量相加得到目標(biāo)絕對(duì)時(shí)間Ti(unit)=21 (單位日),因此目標(biāo)相對(duì)時(shí)間可以轉(zhuǎn)化為絕對(duì)時(shí)間2017年6月21日。
結(jié)合泛指時(shí)段和參考時(shí)間判定目標(biāo)時(shí)間的未來(lái)傾向,把時(shí)間判定為未來(lái)的一個(gè)距離參考時(shí)間最近的正確表達(dá)。涉及時(shí)間未來(lái)傾向判定問(wèn)題的時(shí)間粒度主要包括周、時(shí)粒度。如果時(shí)間基元(unit)表示周(week)粒度,根據(jù)目標(biāo)時(shí)間基元Ti(unit)與參考時(shí)間相應(yīng)基元Ta(unit)的大小關(guān)系,計(jì)算目標(biāo)時(shí)間時(shí)粒度基元Ti(day)的偏移量。如果unit表示時(shí)(hour)粒度,當(dāng)其為24小時(shí)制時(shí)無(wú)需處理;否則,可根據(jù)時(shí)間短語(yǔ)Ti中存在的泛指時(shí)段GTP,將某些存在歧義的時(shí)間基元轉(zhuǎn)化為24小時(shí)制。最后以參考時(shí)間為基準(zhǔn),計(jì)算目標(biāo)時(shí)間的未來(lái)傾向偏移量,或是二分之一時(shí)單位周期時(shí)間halfCycle(hour)(12小時(shí)),或是全周期時(shí)間Cycle(hour)(24小時(shí))。詳情見(jiàn)算法1。
算法1 目標(biāo)時(shí)間的未來(lái)傾向判定算法。
ifunitis week then
//時(shí)間基元(unit)表示周(week)粒度
ifTi(unit) //目標(biāo)時(shí)間基元Ti(unit)小于參考時(shí)間相應(yīng)基元Ta(unit) Ti(day) +=Ti(unit) -Ta(unit) + Cycle(week)(=7) //計(jì)算目標(biāo)時(shí)間時(shí)粒度基元Ti(hour)的偏移量 else Ti(day) +=Ti(unit) -Ta(unit) else ifunitis hour &Ti(unit)(0, 12) then //時(shí)間基元(unit)表示時(shí)(hour)粒度, 當(dāng)其為12小時(shí)制時(shí)需處理 ifGTPis existed then //時(shí)間短語(yǔ)Ti中存在泛指時(shí)段GTP //將歧義的時(shí)間基元轉(zhuǎn)化為24小時(shí)制 ifGTP[h1,h2] &Ti(unit)[max(0,h1-12), min(12,h2-12)] then //以參考時(shí)間為基準(zhǔn),計(jì)算目標(biāo)時(shí)間的未來(lái)傾向偏移量 Ti(unit) += halfCycle(hour)(=12) el se ifTi(unit) <=Ta(unit) then Ti(unit) += Cycle(hour) end if else ifGTPis not existed then //時(shí)間短語(yǔ)Ti中不存在泛指時(shí)段GTP //將歧義的時(shí)間基元轉(zhuǎn)化為24小時(shí)制 ifTi(unit) <=Ta(unit) then Ti(unit) += halfCycle(hour) ifTi(unit) <=Ta(unit) then Ti(unit) += halfCycle(hour) end if end if end if end if 服務(wù)信息文本中,不完整時(shí)間表達(dá)現(xiàn)象普遍存在。例如“預(yù)定10月11日從北京到上海的高鐵,最好在上午9點(diǎn)前發(fā)車,同時(shí)預(yù)定靜安寺附近的酒店,12日入住?!睂?duì)于該句服務(wù)信息,其中包含“10月11日”“上午9點(diǎn)”“12日”三個(gè)不完整的時(shí)間短語(yǔ)。處于同一條信息語(yǔ)句中,因此它們處于同一時(shí)間語(yǔ)境內(nèi)??紤]人們?nèi)粘UZ(yǔ)言表達(dá)的省略習(xí)慣和參照信息發(fā)布時(shí)間(2017年10月9日星期一),可以將其盡可能地補(bǔ)全為“2017年10月11日”“2017年10月11日上午9點(diǎn)”和“2017年10月12日”。 本文刻畫(huà)了3條不完整時(shí)間短語(yǔ)補(bǔ)全策略,用約束滿足方法將文本中的模糊信息精確化: 1)同文本中抽取的其他時(shí)間短語(yǔ)分解出的更大粒度的時(shí)間基元可以補(bǔ)充目標(biāo)時(shí)間短語(yǔ)的對(duì)應(yīng)省略時(shí)間基元。如第一個(gè)時(shí)間短語(yǔ)中的時(shí)間基元“10月”和“11日”可以補(bǔ)充第二個(gè)時(shí)間短語(yǔ),構(gòu)成更加完善的時(shí)間表達(dá)“10月11日上午9點(diǎn)”,相反,“9點(diǎn)”不可以去補(bǔ)充第一個(gè)時(shí)間短語(yǔ)省略的時(shí)粒度基元。 2)同文本中先出現(xiàn)的時(shí)間短語(yǔ)分解的時(shí)間基元可以補(bǔ)充后出現(xiàn)的時(shí)間短語(yǔ),反之不成立。例中第二個(gè)時(shí)間短語(yǔ)中日粒度基元根據(jù)第一個(gè)時(shí)間短語(yǔ)補(bǔ)全為“11日”是正確的,但由第三個(gè)時(shí)間短語(yǔ)中的“12日”來(lái)補(bǔ)全則是錯(cuò)誤的。 3)同文本中時(shí)間短語(yǔ)互補(bǔ)操作執(zhí)行后,時(shí)間短語(yǔ)仍無(wú)法補(bǔ)全的,可以利用信息發(fā)布時(shí)間去補(bǔ)充。因此,例中三個(gè)時(shí)間短語(yǔ)的年粒度基元均補(bǔ)全為“2017年”。 上述補(bǔ)全策略只適用于粒度為年、月、日的時(shí)間基元,時(shí)、分粒度的時(shí)間基元省略采用補(bǔ)零策略。上述策略可以根據(jù)時(shí)間語(yǔ)境信息較好地克服時(shí)間短語(yǔ)的不完整缺陷,對(duì)于時(shí)間信息量稀少的文本,如語(yǔ)句中只包含一個(gè)時(shí)間短語(yǔ),可能效果欠佳。 時(shí)間語(yǔ)義信息會(huì)和上下文以及句義信息結(jié)合在一起,時(shí)間短語(yǔ)附加某些介詞或方位詞組合形成混合時(shí)間短語(yǔ),時(shí)間詞蘊(yùn)含時(shí)點(diǎn)語(yǔ)義,其中介詞和部分方位詞可以表達(dá)時(shí)點(diǎn)語(yǔ)義傾向;同時(shí),存在多時(shí)間短語(yǔ)聯(lián)合表達(dá)時(shí)段語(yǔ)義信息的情況,如“從2018年2月1號(hào)到3月15號(hào)我們要去北京實(shí)習(xí)培訓(xùn)”,事件開(kāi)始時(shí)間為2018年2月1號(hào);同時(shí),結(jié)束時(shí)間也繼承上文時(shí)間,為2018年3月15號(hào)。此外,泛指時(shí)段(GTP)用法較特殊:一方面它還可以和其他時(shí)間基元組合使用,如“下午4點(diǎn)20分”,指示時(shí)間基元“4點(diǎn)”的未來(lái)傾向;另一方面GTP可以單獨(dú)使用,表示一個(gè)時(shí)段。 時(shí)間語(yǔ)義建模是在時(shí)間短語(yǔ)抽取和時(shí)間信息映射的基礎(chǔ)上,考慮時(shí)間信息與上下文之間以及多個(gè)時(shí)間之間的關(guān)系處理,進(jìn)一步判定時(shí)間信息的語(yǔ)義類型,從而構(gòu)建并完善時(shí)間語(yǔ)義模型五元組TSM。時(shí)間語(yǔ)義類型的判定主要考慮泛指時(shí)段、混合時(shí)間短語(yǔ)和多時(shí)間短語(yǔ)聯(lián)合表達(dá)這三種特殊情況下的識(shí)別,本文采用算法2。 算法2 時(shí)間語(yǔ)義建模算法。 forTiinTPList ifTEXT.StrngAt(RTPi.endLocRTPi+1.startLoc)KBprepthen //判斷相鄰時(shí)間短語(yǔ)之間的字符串是否存在于介詞知識(shí)庫(kù)中 //識(shí)別多時(shí)間短語(yǔ)聯(lián)合表達(dá)的情況 STi=STi+1=Tperiod(AT(RTPi),AT(RTPi+1)) TSMi+1=(AT(RTPi+1),RTPi-RTPi+1,PPi,PDi+1,STi+1) i++ else ifPPi!= null orPDi!=null then //根據(jù)時(shí)間介詞或方位詞的語(yǔ)義傾向PPi.sorient、 //PDi.sorient選擇合適的時(shí)段語(yǔ)義類型 ifPDi.sorientis Forward orPPi.sorientis Forward then STi=Tperiod(AT(RTPi), future) else ifPDi.sorientis Backward orPPi.sorientis Backward then ifAT(now) STi=Tperiod(AT(now),AT(RTPi)) else STi=Tperiod(past,AT(RTPi)) end if end if else ifRTPiisGTPand alone then // 處理泛指時(shí)段GTP的語(yǔ)義類型 STi=Tperiod(AT(RTPi.GTP.period)) end if TSMi=(AT(RTPi),RTPi,PPi,PDi,STi) end for // 以上為時(shí)段語(yǔ)義類型的識(shí)別 從文本TEXT中抽取所有時(shí)間信息Ti存儲(chǔ)在列表TPList中,首先判斷相鄰兩時(shí)間短語(yǔ)RTPi和RTPi+1之間的字符串是否存在于介詞知識(shí)庫(kù)KBprep中,從而識(shí)別多時(shí)間短語(yǔ)聯(lián)合表達(dá)的情況;然后根據(jù)時(shí)間短語(yǔ)兩側(cè)的介詞或方位詞的語(yǔ)義傾向PPi.sorient、PDi.sorient,選擇合適的時(shí)段語(yǔ)義類型;最后處理泛指時(shí)段GTP的語(yǔ)義類型。以上為時(shí)段語(yǔ)義類型的識(shí)別,剩余的全部識(shí)別為時(shí)點(diǎn)語(yǔ)義類型,構(gòu)建并完善時(shí)間語(yǔ)義模型五元組TSMi。 本文收集智能服務(wù)系統(tǒng)消息文本300條構(gòu)建測(cè)試集,驗(yàn)證語(yǔ)義理解模型各模塊在智能服務(wù)系統(tǒng)自然語(yǔ)言文本分析中的效果,并展示了模型語(yǔ)義建模結(jié)果。 本文利用準(zhǔn)確率(Precision)、召回率(Recall)和F-measure值作為實(shí)驗(yàn)的評(píng)測(cè)標(biāo)準(zhǔn)。 由表2知,本文提出的時(shí)間信息抽取方法取得了不錯(cuò)的效果?;谝?guī)則的方法需要手工制定規(guī)則模板,與其相比,本文方法基于大規(guī)模語(yǔ)料自動(dòng)抽取時(shí)間表達(dá)模板的方法在準(zhǔn)確率和召回率上都有提升?;诒O(jiān)督訓(xùn)練算法條件隨機(jī)場(chǎng)(Conditional Random Field, CRF)的序列標(biāo)注方法,參照文獻(xiàn)[15]的方法,取得了比本文方法稍好的效果,但該方法需要人工標(biāo)注訓(xùn)練集,費(fèi)時(shí)費(fèi)力;而本文方法抽取過(guò)程是自動(dòng)的,無(wú)需人工干預(yù),因此本文方法在犧牲部分性能的基礎(chǔ)上大大降低了人工成本。 由表3知,本文模型在服務(wù)消息文本上時(shí)間信息映射模塊準(zhǔn)確率也達(dá)到了87.88%。統(tǒng)計(jì)結(jié)果顯示,在服務(wù)文本中相對(duì)時(shí)間表達(dá)占了一半以上,本文提出的專門(mén)針對(duì)相對(duì)時(shí)間轉(zhuǎn)化的方法取得較好效果。此外,對(duì)時(shí)間未來(lái)傾向判定的處理效果最差,因?yàn)樗窃谄渌幚斫Y(jié)果之上的再處理,會(huì)有錯(cuò)誤傳遞現(xiàn)象的發(fā)生。 表4為語(yǔ)義建模結(jié)果的示例,其中消息發(fā)布時(shí)間設(shè)定為2017年6月23日星期五12時(shí)13分。 表2 時(shí)間信息抽取模塊測(cè)試結(jié)果比較Tab. 2 Comparison of results in temporal information extracting 表4 時(shí)間語(yǔ)義建模結(jié)果展示Tab. 4 Results of temporal semantic modeling 時(shí)間信息是智能服務(wù)制定的基礎(chǔ),時(shí)間語(yǔ)義理解在智能服務(wù)系統(tǒng)中發(fā)揮著重要作用。本文構(gòu)建的針對(duì)服務(wù)消息文本的自然語(yǔ)言時(shí)間語(yǔ)義理解模型,實(shí)現(xiàn)了對(duì)時(shí)間信息的抽取、映射和語(yǔ)義建模,可以為智能信息系統(tǒng)提供通用的時(shí)間表達(dá)模式。本文實(shí)現(xiàn)了自動(dòng)抽取時(shí)間表達(dá)模板,并構(gòu)建時(shí)間信息知識(shí)庫(kù),無(wú)需人工建立抽取規(guī)則,無(wú)需人力搜集時(shí)間詞詞典,也不必人工標(biāo)注訓(xùn)練集,大大節(jié)省人力資源。時(shí)間信息映射模塊是基于時(shí)間基元開(kāi)展的,這樣的方法能夠有效處理不同粒度的時(shí)間單位之間的影響關(guān)系。最后,綜合利用時(shí)間自身信息與上下文信息設(shè)計(jì)時(shí)間語(yǔ)義建模算法,判定時(shí)間信息的語(yǔ)義類型,從而構(gòu)建時(shí)間語(yǔ)義模型。本文方法也存在不足,比如,本文只涉及一般時(shí)間短語(yǔ)的處理,對(duì)于事件時(shí)間短語(yǔ),如“他去上海之前”等,本文模型沒(méi)有考慮。時(shí)間表達(dá)模板是基于序列匹配的,會(huì)錯(cuò)誤識(shí)別非時(shí)間短語(yǔ)。 未來(lái),可以研究如何進(jìn)一步提高時(shí)間信息映射算法的泛化能力,使之適應(yīng)更廣泛的應(yīng)用領(lǐng)域,同時(shí)進(jìn)一步完善時(shí)間語(yǔ)義模型,使其表達(dá)更豐富的時(shí)間語(yǔ)義。 參考文獻(xiàn)(References) [1] STEEDMAN M. 21—temporality [M]// van BENTHEM J, TER MEULEN A. 2nd ed. Handbook of Logic and Language. Amsterdam: Elsevier, 2011: 925-969. [2] 賀瑞芳,秦兵,劉挺,等.基于依存分析和錯(cuò)誤驅(qū)動(dòng)的中文時(shí)間表達(dá)式識(shí)別[J].中文信息學(xué)報(bào),2007,21(5):36-40.(HE R F, QIN B, LIU T, et al. Recognizing the extent of Chinese time expressions based on the dependency parsing and error-driven learning [J]. Journal of Chinese Information Processing, 2007, 21(5): 36-40.) [3] 杜津.自然語(yǔ)言時(shí)間語(yǔ)義信息處理[D].北京:中國(guó)科學(xué)院自動(dòng)化研究所,2005:25-34.(DU J. Natural language temporal semantic information processing [D]. Beijing: Institute of Automation, Chinese Academy of Sciences, 2005: 25-34.) [4] 成斌.漢語(yǔ)時(shí)間語(yǔ)義分析及推理[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2005:49-58.(CHENG B. Analysis and inference of Chinese temporal semantics [D]. Changsha: National University of Defense Technology, 2005: 49-58.) [5] 郭宏蕾,姚天順.自然語(yǔ)言中時(shí)間信息的模型化[J].軟件學(xué)報(bào),1997,8(6):432-440.(GUO H L, YAO T S. Modeling of temporal information in natural language [J]. Journal of Software, 1997, 8(6): 432-440.) [6] WU M, LI W, LU Q, et al. CTEMP: a Chinese temporal parser for extracting and normalizing temporal information [C]// Proceedings of the 2005 International Conference on Natural Language Processing, LNCS 3651. Berlin: Springer, 2005: 694-706. [7] CHAMBERS N. Navytime: event and time ordering from raw text [EB/OL]. [2017- 04- 11]. https://www.cs.york.ac.uk/semeval-2013/accepted/75_Paper.pdf. [8] 左亞堯,龍耀發(fā),李杰駿.基于規(guī)則的中文時(shí)間表達(dá)式識(shí)別與規(guī)范化[J].廣東工業(yè)大學(xué)學(xué)報(bào),2014, 31(3):88-94.(ZUO Y Y, LONG Y F, LI J J. Recognition and normalization of Chinese time expressions based on rules [J]. Journal of Guangdong University of Technology, 2014, 31(3):88-94.) [9] 林靜,曹德芳,苑春法.中文時(shí)間信息的TIMEX2自動(dòng)標(biāo)注[J]. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版), 2008, 48(1):117-120.(LIN J, CAO D F, YUAN C F. Automatic TIMEX2 tagging of Chinese temporal information [J]. Journal of Tsinghua University (Science and Technology), 2008, 48(1): 117-120.) [10] 李明月,王樹(shù)鵬,王海平,等.面向安全事件新聞的時(shí)間抽取與轉(zhuǎn)換[J].高技術(shù)通訊,2015,25(12):1040-1046.(LI M Y, WANG S P, WANG H P, et al. Extraction and normalization of temporal expressions for news reports on security events [J]. Chinese High Technology Letters, 2015, 25(12):1040-1046.) [11] 趙國(guó)榮.中文新聞?wù)Z料中的時(shí)間短語(yǔ)識(shí)別方法研究[D].太原:山西大學(xué),2006:11-15.(ZHAO G R. Research into temporal expressions of Chinese news [D]. Taiyuan: Shanxi University, 2006: 11-15.) [12] 鄔桐,周雅倩,黃萱菁,等.自動(dòng)構(gòu)建時(shí)間基元規(guī)則庫(kù)的中文時(shí)間表達(dá)式識(shí)別[J].中文信息學(xué)報(bào),2010,24(4):3-10.(WU T, ZHOU Y Q, HUANG X J, et al. Chinese time expression recognition based on automatically generated basic-time-unit rules [J]. Journal of Chinese Information Processing, 2010, 24(4): 3-10.) [13] ZHAO H, JI X. English temporal expression recognition based on conditional random fields [C]// Proceedings of the 2013 9th International Conference on Natural Computation. Piscataway, NJ: IEEE, 2013: 1088-1092. [14] 劉莉,何中市,邢欣來(lái),等.基于語(yǔ)義角色的中文時(shí)間表達(dá)式識(shí)別[J].計(jì)算機(jī)應(yīng)用研究,2011,28(7):2543-2545.(LIU L, HE Z S, XING X L, et al. Chinese time expression recognition based on semantic role [J]. Application Research of Computers, 2011, 28(7):2543-2545.) [15] 朱莎莎,劉宗田,付劍鋒,等.基于條件隨機(jī)場(chǎng)的中文時(shí)間短語(yǔ)識(shí)別[J].計(jì)算機(jī)工程,2011,37(15):164-167.(ZHU S S, LIU Z T, FU J F, et al. Chinese temporal phrase recognition based on conditional random fields [J]. Computer Engineering, 2011, 37(15): 164-167.) [16] 高源,席耀一,李弼程,等.基于詞典特征優(yōu)化和依存關(guān)系的中文時(shí)間表達(dá)式識(shí)別[J].信息工程大學(xué)學(xué)報(bào),2016,17(4):490-495.(GAO Y, XI Y Y, LI B C, et al. Chinese temporal expression recognition algorithm based on optimization of dictionary features and dependency parsing [J]. Journal of Information Engineering University, 2016, 17(4): 490-495.) [17] 吳瓊,黃德根.基于條件隨機(jī)場(chǎng)與時(shí)間詞庫(kù)的中文時(shí)間表達(dá)式識(shí)別[J].中文信息學(xué)報(bào),2014,28(6):169-174.(WU Q, HUANG D G. Temporal information extraction based on CRF and time thesaurus [J]. Journal of Chinese Information Processing, 2014, 28(6): 169-174.) [18] 李君嬋,譚紅葉,王風(fēng)娥.中文時(shí)間表達(dá)式及類型識(shí)別[J].計(jì)算機(jī)科學(xué),2012,39(S3):191-194.(LI Y C, TAN H Y, WANG F E. Recognition of temporal expressions and their types in Chinese [J]. Computer Science, 2012, 39(S3): 191-194.) [19] 王風(fēng)娥. 漢語(yǔ)文本中的時(shí)間關(guān)系識(shí)別技術(shù)研究[D]. 太原:山西大學(xué), 2012:9-14.(WANG F E. Recognition of temporal relation in Chinese texts [D]. Taiyuan: Shanxi University, 2012: 9-14.) [20] 溫艷霞.中文時(shí)間規(guī)范化方法研究[D].太原:山西大學(xué),2010:19-24.(WEN Y X. Research on time standardization in Chinese [D]. Taiyuan: Shanxi University, 2010: 19-24.) [21] 鄭立洲.短文本信息抽取若干技術(shù)研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2016:40-45.(ZHENG L Z. Research on some key issues in short text information extraction [D]. Hefei: University of Science and Technology of China, 2016: 40-45.) [22] 左亞堯,龍耀發(fā),李杰駿.中文時(shí)間關(guān)鍵詞識(shí)別研究[J].計(jì)算機(jī)應(yīng)用研究,2017,34(4):981-985.(ZUO Y Y, LONG Y F, LI J J. Extraction of Chinese temporal keywords [J]. Application Research of Computers, 2017, 34(4): 981-985.) This work is partially supported by the National Natural Science Foundation of China (71571136), the National Basic Research Program (973 Program) of China (2014CB340404), the Basic Research Project of Science and Technology Commission of Shanghai Municipality (16JC1403000). JIAShengbin, born in 1994, Ph. D. candidate. His research interests include natural language processing, service computing. XIANGYang, born in 1962, Ph. D., professor. His research interests include natural language processing, service computing.2.4 時(shí)間語(yǔ)義建模
3 實(shí)驗(yàn)
4 結(jié)語(yǔ)