我們以前文介紹的一個場景本體的例項,銀行領域客服投訴分析挖掘的場景本體模型,來說明本體樹輔助建模。模型包括三部分:本體模型、要素模型、概念模型。本文說明本體模型的輔助建模,也即本體表示式發現。
本體模型包括本體樹和領域模型,領域模型是本體樹對應的推理規則的形式化描述,這裡是客服投訴分類相關的業務知識。領域模型支援兩種型別,一種是概念模型,另一種是機器學習預訓練模型。這裡的“本體表示式”,是概念模型的形式化規則,說明客服投訴的業務知識,一般是用“客服人員-態度-不好”這樣的三元組表示的,其中“客服人員”是投訴物件,來自於要素樹,“態度”是投訴涉及的屬性,也來自於要素樹,“不好”是投訴中對投訴物件涉及的屬性的評價性描述,來自於概念樹。
本體表示式發現,就是從客服投訴文字資料中,利用NLP和機器學習演算法,自動從文字資料中發現類似於“客服人員-態度-不好”這樣的三元組表示,輔助業務人員構建領域模型。
關於本體表示式發現,有3點說明:
1、本體表示式發現,本質上是關聯規則發現,發現過程需要用到詞義消歧、資訊抽取、語義角色標註、句子語義分析、上下文推理等技術和演算法,這些演算法都封裝在輔助建模工具中,業務人員不需要關心,只需要利用輔助工具對投訴文字資料處理即可。
2、為了說明方便,這裡只說明三元組的發現,本體表示式的表示可以很靈活,還可以是二元組、四元組,甚至更多的要素和概念組合,業務人員可以根據需要,制定本體表示式發現的模板。
3、領域模型,還可以是機器學習模型,也就是給特定的本體節點,配置一個機器學習演算法,通過對客服投訴文字進行自動訓練,自動生成機器學習模型。由於機器學習模型一般是個黑盒子,不需要業務人員參與,所以輔助發現,重點針對的是概念模型的形式化規則。
本體表示式發現的流程
本體表示式發現的流程如下圖說明。發現的過程是有指導的,圖示中的每個步驟中的綠色框的“使用者操作”內容,是需要業務人員干預的。圖示中每個步驟中的藍色框的“系統輸出”,是輔助建模工具根據使用者操作的結果,呼叫演算法,自動實現並輸出的。
使用者操作,選擇產品類,也就是選擇本體樹節點,確定為“信用卡”節點,來進行本體表示式發現。
使用者操作,配置業務規則模板,這裡配置的模板是個三元組“e_信用卡+e_屬性+c_評價”,其含義是:第一個元組“e_信用卡”,來自於要素樹中“信用卡”的要素節點,可以包括各種信用卡卡種、名稱等;第二個元組“e_屬性”,來自於要素樹中“屬性”的要素節點,可以包括各種屬性的描述,如“態度、效率”等,不僅限於信用卡的;第三個元組“c_評價”,來自於概念樹中“評價”的概念節點,可以包括如“好、不好、溫柔、蠻橫”等。
步驟三
機器學習關聯發現e+e,這是系統自動操作輸出,不需要使用者干預。這裡的第一個“e”,指的就是模板中的“e_信用卡”,這是使用者輸入的確切資訊。這裡的第二個“e”,指的是模板中的“e_屬性”,這是一個寬泛的要素,其下級可以有各種屬性,如人的屬性(身高、態度等)、信用卡的屬性(外觀、使用等)、樹的屬性(高度、樹種)等。這裡的關聯發現e+e的處理策略是,利用機器學習演算法,去發現那些與第一個“e_信用卡”有關聯的“e_屬性”的具體值。比如人的屬性“態度”與“e_信用卡”有關聯,而“身高”屬性與“e_信用卡”就無關。關聯發現e+e的輸出結果就是,與“信用卡”相關的屬性詞彙列表,如“申請、年費、賬單、業務員”等,每個結果都有相關度距離表示其關聯程度。系統輸出結果,可以記為“e2”。對系統輸出結果,輔助建模工具提供增刪改操作,使用者可以進行修改,以提高發現結果的質量。
機器學習關聯發現e+c,這是系統自動操作輸出,不需要使用者干預。這裡的“e”,指的是步驟3輸出的屬性結果,如“年費、態度、業務員”等。也就是對步驟3輸出的每個結果,在這裡都要執行一次“e+c”的關聯發現,去發現每個e有關聯的“評價”概念。如與“態度”關聯的評價概念有“溫柔、利索、謙虛、和藹可親”等,與“業務員”關聯的評價概念有“怠慢、欺騙”等。對每個系統輸出結果,輔助建模工具提供增刪改操作,使用者可以進行修改,以提高發現結果的質量。
步驟五
機器學習三元組關聯“e+e+c”,這是系統自動操作輸出,不需要使用者干預。這裡是要把步驟3發現的e2,和步驟4發現的評價概念,進一步和“e_信用卡”進行關聯發現,確認他們是不是一個有效的、具體上下文中合理的關聯。比如“信用卡-業務人員-怠慢”是個合理的關聯,會作為一個三元組輸出,而“信用卡-申請-溫柔”不是個合理的關聯,不會輸出。
三元組關聯的核心是對“e+e+c”這三個要素和概念的上下文進行判斷,以確定出合理的關聯。這裡的上下文判斷包括以下幾種情況(不限於這幾種,輔助工具在不斷擴充套件判斷型別):
1、句子範圍判斷,同句優先。如果三個要素和概念,在同一句子中,會優先判斷其合理關聯。
2、否定概念排除。如果某個元組在投訴文字中,被否定概念限定,則在三元組關聯時會排除掉,不會被確認為合理關聯。如評價概念“怠慢”在這樣的上下文中“業務人員一點都沒怠慢”,雖然在步驟4中會輸出“業務人員-怠慢”這樣的“e+c”關聯,這裡也會被排除。
3、疑問概念排除。如果三元組在投訴文字中,所在句子是一個疑問句,那麼會優先排除,不會被確認為合理關聯。如“信用卡年費是過高嗎?”中識別出的“信用卡-年費-過高”,會被排除。
4、引用排除。如果三元組在投訴文字中,所在句子是一個引用或轉述的,那麼會優先排除,不會被確認為合理關聯。
在DINFO-OEC平臺中,本體表示式發現的結果,經業務人員確認,可以新增到本體模型中相應節點中,作為這個節點的領域模型。
在本體表示式發現的輔助下,業務人員可以針對不同的業務場景,來構建不同的本體模型。下面是銀行領域常見的幾個客服投訴本體模型。這些模型都是利用輔助建模工具,對客服投訴文字進行自動學習發現,輔助業務人員建設的本體模型。