原創|行業資訊|編輯:陳俊吉|2016-08-30 10:24:06.000|閱讀 4763 次
概述:文本數據在我們的生活中無處不在:在微信朋友圈、微博中發表的感想;在論壇上發表的評價商品的帖子;由應用后臺自動生成的機器日志等。這類數據本身包含了大量有用的信息,但由于文本表達方式可以很靈活,在不需要嚴格遵循語法的情況下也能準確表達信息。比如下圖中表達人物年齡就有三種不同的說法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
文本數據在我們的生活中無處不在:在微信朋友圈、微博中發表的感想;在論壇上發表的評價商品的帖子;由應用后臺自動生成的機器日志等。這類數據本身包含了大量有用的信息,但由于文本表達方式可以很靈活,在不需要嚴格遵循語法的情況下也能準確表達信息。比如下圖中表達人物年齡就有三種不同的說法。
例子中,關于年齡最重要的信息是姓名和歲數,圖中右側的的結構化數據才是表達這些核心信息、應用可以處理的主要形式。怎樣把非結構化文本成可以準確表達信息的結構化數據是文本數據分析的一大難題。
通常實現文本主要有兩種模式:基于語法分析的模式,和基于語義關聯的模式(完全拋開語法,通過文字的上下文關聯進行分析)。
基于語法的分析需要根據語言語法,將文本數據拆分成語法要素,如主謂賓等,再根據語法和語義規則生成目標信息,這種方式適用與文字內容比較規范的場景。
基于語義關聯的模式,則是大量采用分詞、字典等綜合技術對文本數據進行標記(打標簽),再根據特定規則或組合生成最終信息,其實現方式大致包括如下步驟:
常用的文本分析工具:
目前有很多工具可用于文本,常見的幾種及其特點如下:
Pig: 包含高層語法的數據處理工具,便于編程和擴展,底層利用MapReduce進行數據并行處理。
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的文本分析結果,可以進行深入加工和分析,例如可以在中通過圖表展現,也可以做為的分析數據源使用。更多細節請參考慧都大數據。
詳情請咨詢!
客服熱線:023-66090381
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn