Tempo數據挖掘平臺是對數據的深度探索,發掘數據價值:圖形化拖曳式的數據挖掘建模工具,開箱即用的內置機器學習算法,讓業務人員快速進行數據模型構建與優化,完成數據深層次價值的探索與挖掘。更多詳細介紹盡在網站內部,今天我們著重給大家介紹其中文本挖掘之信息抽取。

1、信息抽取
信息抽取的定義為:從自然語言文本中抽取指定類型的實體、關系、事件等事實信息,并形成結構化數據輸出的文本處理技術。
信息抽取有許多不同的用途,一種典型的應用是使用信息抽取面向特定任務的結構化信息,互聯網的快速發展產生了海量的信息,由于文本數據的多樣性和異構性,對這些的信息進行檢索和處理受到很大的限制,而信息抽取則致力于將這些信息轉化成結構化的數據,滿足搜索引擎和數據挖掘等相關應用。另一種典型的應用是特定目標信息的發現和識別(如發現與“人工智能”相關的新聞)。在現在的Web中,相關的信息往往被無關的信息的淹沒,而信息抽取技術可以發現并整理蘊含在海量信息中的特定目標信息,為正確決策提供大量的相關情報,大大降低需要的人工成本。
2、算法原理
語言的表述通常具有規律性,對于相似意圖的描述一般會有固定的表達模式,對這些固定表達模式進行泛化即可抽象出語言表述對應的模板。如我們常說“我 吃 蘋果”和“我 吃 梨”,那么通過泛化表述語句中的不同部分,就可以抽象出相應的語言表述模板“我 吃 [FOOD]”,其中[FOOD]稱為泛化槽位,即在槽位中填上其他的詞(如“西瓜”),就可以生成新的語句“我 吃 西瓜”。很顯然,槽位的填充是要滿足一定約束的,如[FOOD]槽位應該填充食物相關的詞才是符合語義的,這些約束就是所謂的規則。
規則模板引擎我們期望實現的是簡單匹配, 所以我們對于文法的設計盡可能的簡化,定義模板的元字符為四類:泛化槽位、固定詞、通配符、注冊函數。例如我們構造了一個識別建筑物地址的模板:
[D:ner_street][F:num]號[W:1-6][D:building]
很顯然,構造該模板如圖1是基于如下的先驗知識進行的:我們經常有“長安路26號宏遠大廈”這樣的表述,所以“長安路”可以被泛化為槽位,以便其他街道的名稱也能適用,同理“大廈”被歸集到[D:building]的槽位詞典中;至于多少號的數字可以通過數字識別的注冊函數實現;而大廈的名稱比較多樣化,索性就用通配符匹配“大廈”前面的1-6個字節實現。

圖1 模板Trie樹匹配示例
3、利用Tempo數據挖掘平臺實現信息抽取
Tempo文本挖掘算法模塊提供了豐富的文本挖掘功能節點,能夠覆蓋整個文本挖掘的生命周期,它在兼顧專業性的同時保持非常友好的易用性。Tempo友好的圖形化操作界面,使用鼠標即可完成數據挖掘全過程;便捷的參數設置窗口,使模型的構建更加靈活;自定義詞典、配置文件均為明文,可滿足不同業務場景的個性化需求。
金融機構向客戶發送的短信是文本形式的,需要從這些文本短信中分析出用戶是否出現逾期記錄,逾期行為的具體信息,如逾期時間、逾期金額、借款機構等。以金融信貸短信的信息抽取為例子,我們講如何利用Tempo信息抽取節點從金融信貸短信中抽取出逾期金額、時間、借款機構等結構化信息點。抽取過程可分為下面三部分:

圖2 信息抽取流程
第一步,數據準備
在使用信息抽取算法時,需要將短信文本整理為Tempo可讀取的文件格式,關系數據庫表或者txt、 csv等文本文件。我們整理的數據格式如下表:
| id | 短信文本 |
| 1 | 【華嚴法務】尊敬的客戶,您在閃電平臺借款截止2016年07月28日逾期共計1000元。若您還款困難,請立即聯系客服為您協調解決。回復TD退訂。 |
| 2 | 【信而富】尊敬的客戶,您的借款已逾期,需還款520.50元。請前往微信公眾號“信而富現金貸”還款,避免產生更多延遲還款服務費及不良的信用影響。點滴信用,成就未來! |
| 3 | 【靠譜鳥】尊敬的客戶,您在更美貸借款1000逾期未還,我司將上報全國誠信系統并起訴至法院,請轉告盡快還款電話4008986985,回復TD退訂 |
| … | … |
第二步:構建信息抽取模型
這一步是最重要的一步,打開信息抽取節點,配置模版文件、槽位文件、可略詞文件。我們的目的是抽取,日期、逾期金額、貸款機構。

圖3信息抽取節點參數界面
分別點擊下載模版文件、槽位文件、可略詞文件。下載完成后本地會出現三個txt文件,以第一條短信為例,我們看一下如何配置這三個文件,第一條的文本短信內容為:“【華嚴法務】尊敬的客戶,您在閃電平臺借款截止2016年07月28日逾期共計1000元。若您還款困難,請立即聯系客服為您協調解決。回復TD退訂。”,目的是抽取日期,逾期金額,貸款機構。因為同一金融機構發送的短信信息格式相對固定,通過模板基于元字符匹配并提取文本中的可變字符,以上短信中紅字部分均為可變字符,這些可變字符正好對應我們想要抽取的貸款機構,逾期金額和日期。首先我們抽取貸款機構,短信中貸款機構出現的上下文為“在XXXX借款”,因為我們無法判定用戶在什么平臺上借款,所以匹配“閃電平臺”用任意字符匹配,我們就可以使用匹配出閃電平臺,接著通過內置的注冊函數匹配日期。最后我們匹配逾期金額,逾期金額出現的上下文為“逾期共計1000元”我們的目的是把“1000”抽取出來,逾期金額一般為數字,因此用[F:num]匹配數字,一般只有在“元”,或者“塊”,“美元”等詞前面出現的數字才為金額。所以在[F:num]后增加槽位。應此最終的匹配模板為:“【】在借款截止逾期共計 機構_6,還款日期_8:date,金額_10:double”。模板信息主要包含兩部分內容,其中“【】在借款截止逾期共計”為規則模板,“機構_6,還款日期_8:date,金額_10:double”為抽取的結構化信息,兩個字符串以Tab鍵間隔。“機構_6”表示抽取的信息字段名為“機構”值在第6個槽位,槽位索引從1開始,一個元字符代表一個槽位。“還款日期_8”表示抽取的信息字段名為“還款日期”值在第8個槽位,“date”表示輸出類型為日期型;“金額_10”表示抽取的信息字段名“金額”值在第10個槽位,“double”表示輸出的金額格式為double類型。以上短信文件信息抽取最終的規則模板文件為:
| 規則模板文件 |
| 【 【 【 |
槽位詞典文件為:
| 槽位詞典文件 | |
還款 還錢 元 塊 美元 歐元 已 已在 已經 |
|
可忽略詞文件為:
| 可忽略詞文件 | |
| 的 了 |
|
將這三個文件分別上傳到對應為目錄下。算法在校驗規則模版文件、槽位文件、可略詞文件合法完成后會根據以上文件構建規則模版樹和槽位樹,把構造的對象分發到分布式節點上供各節點對文本分布式信息抽取。

圖4文本信息抽取流程圖
第三步:開始信息抽取
信息抽取是基于Spark集群中的RDD數據實現文本信息抽取,基于RDD分布式遍歷每一條文本,通過分發到各節點的信息抽取模型實現對文本信息抽取的原子操作。抽取結果如下圖
信息抽取是基于Spark集群中的RDD數據實現文本信息抽取,基于RDD分布式遍歷每一條文本,通過分發到各節點的信息抽取模型實現對文本信息抽取的原子操作。抽取結果如下圖

圖5文本信息抽取結果表
以上是美林數據小編對基于Tempo數據挖掘工具的文本挖掘中信息抽取的詳細介紹,想要了解更多Tempo數據挖掘平臺功能的小伙伴,歡迎您來電咨詢或試用我們的產品,我們將竭誠為您服務!

Tempo商業智能平臺
Tempo人工智能平臺
Tempo數據工廠平臺
Tempo數據治理平臺
Tempo主數據管理平臺
首頁
陜公網安備 61019002000171號
