文本數據在咱們的生活中無處不在:在微信朋友圈、微博中發表的感想;在論壇上發表的評價商品的帖子;由應用後臺自動生成的機器日誌等。這類數據自己包含了大量有用的信息,但因爲文本表達方式能夠很靈活,在不須要嚴格遵循語法的狀況下也能準確表達信息。好比下圖中表達人物年齡就有三種不一樣的說法。html
例子中,關於年齡最重要的信息是姓名和歲數,圖中右側的的結構化數據纔是表達這些核心信息、應用能夠處理的主要形式。怎樣把非結構化文本數據轉換成能夠準確表達信息的結構化數據是文本數據分析的一大難題。 正則表達式
一般實現文本數據分析主要有兩種模式:基於語法分析的模式,和基於語義關聯的模式(徹底拋開語法,經過文字的上下文關聯進行分析)。 編程
基於語法的分析須要根據語言語法,將文本數據拆分紅語法要素,如主謂賓等,再根據語法和語義規則生成目標信息,這種方式適用與文字內容比較規範的場景。微信
基於語義關聯的模式,則是大量採用分詞、字典等綜合技術對文本數據進行標記(打標籤),再根據特定規則或組合生成最終信息,其實現方式大體包括以下步驟:框架
經常使用的文本分析工具:jsp
目前有不少工具可用於文本數據分析,常見的幾種及其特色以下:工具
Pig: 包含高層語法的數據處理工具,便於編程和擴展,底層利用MapReduce進行數據並行處理。oop
JAQL:針對JOSN數據的數據處理工具,很是適合於處理JOSN數據。學習
AQL:一種標記性的文本數據處理工具,語法相似於SQL,容易上手,內置多種數據抽取器。大數據
Python Natural Language Toolkit:Python提供的文本分析工具,可進行詞性標註,句法分析,關鍵詞提取,文本分類,情感分析等。
BigInsights中的文本數據分析工具: IBM企業級大數據產品BigInsights中集成了AQL進行文本分析,在此之上開發了圖形化文本分析工具Text Analytics,爲使用者提供了極大的便利。
AQL介紹:
AQL框架中對文本數據進行處理要通過三個主要步驟:
1. 數據打標籤:使用字典、正則表達式等技術,把要分析的文本數據進行標籤處理,這一步是經過定義各類數據抽取器來實現的。
2. 按規則生成數據:將打好標籤後的數據進行分片、分組、定義關聯規則等,並根據這些規則生成候選的數據列表。
3. 數據合併和過濾:將候選數據進行最終的處理,如將重複數據合併、篩選和過濾等,造成最終的結果。
AQL數據處理過程以下圖所示:
使用AQL處理數據,須要學習AQL語法、熟悉新的環境,最重要的是還須要經過寫代碼來完成各類文本分析任務,所以使用AQL處理數據其實並不簡單。下圖展現了要從文本中提取數字,須要編寫的一段AQL代碼:
Text Analytics工具介紹:
IBM基於AQL開發了全圖形化界面的文本分析工具Text Analytics,讓分析人員不須要編寫底層代碼,而是使用圖形化界面工具方便快捷地完成文本數據分析任務,極大的拔高了平臺的文本數據分析能力。
Text Analytics工具界面與Eclipse相似,整個工具分爲以下幾個區域:
1. 項目管理區:能夠經過不一樣項目實現對不一樣文本分析任務的劃分。
2. 文檔瀏覽區:顯示正在處理的文本數據文檔,處理的結果經過不一樣背景顏色標記出不一樣標籤的內容。
3. 畫布區域:在該區域中經過拖拽、鼠標操做完成文本數據處理規則的建立和修改。
4. 屬性區域:顯示當前選中對象的屬性,能夠設置不一樣的屬性值。
5. 結果區域:顯示根據當前文本處理規則處理以後的結果。
經過Text Analytics進行文本數據分析,全部的工做都是在該界面完成,用戶不須要關心具體的AQL細節和代碼,也不用關心後臺的處理做業,Text Analytics自動將文本處理規則生成AQL並提交做業到Hadoop集羣中完成數據處理。
下面的簡單示例,演示瞭如何從純文本的財報數據中提取出盈利數字。
步驟1:導入數據
新建項目後,單擊項目區域中的加號按鈕,可添加文本數據源。工具支持從本地文件系統或HDFS中添加文件,支持.zip, .tar, .tgz, .gz等多種格式的數據。
步驟2:編輯文本數據規則
根據數據處理的須要,從「Extractor」菜單中拖拉出須要的抽取器至畫布區中,並定義屬性和抽取器中的規則。
本例中咱們僅僅抽取簡單的財務數據,所以只須要將字符"$",數字抽取器Number和貨幣單位Currency三個抽取器拼接便可,以下圖所示:
若要抽取包含部門名稱的盈利數據,須要定義以下規則:
步驟3:運行和結果導出
點擊畫布區中的運行按鈕,文本分析結果會直接顯示在結果列表中,能夠將結果導出處理和使用。
另外運行以後,在文檔區域還根據不一樣規則命中的結果,顯示爲不一樣背景色的文字,方便檢查。
BigInsights中的Text Analytics工具經過全圖形化界面實現零編程的文本分析,並經過與Hadoop的集成擴展了文本處理的應用範圍,能夠幫助企業客戶快速實現多種文本數據分析應用,例如對互聯網文本數據分析,機器日誌分析等。
Text Analytics的文本分析結果,能夠進行深刻加工和分析,例如能夠在Cognos中經過圖表展示,也能夠作爲SPSS的分析數據源使用。更多細節請參考慧都大數據。
更多大數據與分析相關行業資訊、解決方案、案例、教程等請點擊查看>>>
詳情請諮詢在線客服!
客服熱線:023-66090381