Python文本分析--1自然語言處理基礎(chǔ)(一)

置身于大數(shù)據(jù)時(shí)代感局,組織和企業(yè)的不同系統(tǒng)胚想、流程和交易會(huì)產(chǎn)生的大量的數(shù)據(jù)琐凭,在管理這些數(shù)據(jù)時(shí)碰到了不少困難。而且柒昏,由于大數(shù)據(jù)對(duì)3V一詞(volume洞辣、variety躏仇、velocity)的模糊定義,大數(shù)據(jù)一詞也經(jīng)常錯(cuò)誤使用愁憔。有時(shí)候很難去量化什么樣的數(shù)據(jù)才是“大”數(shù)據(jù),一些人認(rèn)為數(shù)據(jù)庫里成10億條的記錄就是“大數(shù)據(jù)”孽拷,但是這個(gè)量級(jí)與傳感器或者社交媒體產(chǎn)生的pb級(jí)數(shù)據(jù)相比吨掌,又顯得很小∨。總而言之膜宋,普遍任務(wù)在所有組織中,無論是什么行業(yè)炼幔,都存在大量的非結(jié)構(gòu)化文本數(shù)據(jù)秋茫。例如,大量的數(shù)據(jù)可能以tweet乃秀、狀態(tài)消息学辱、散列標(biāo)簽、文章环形、博客策泣、wiki等形式出現(xiàn)在社交媒體上,另外抬吟,零售和電商也會(huì)生成大量的文本數(shù)據(jù)萨咕,如從新產(chǎn)品信息和到客戶評(píng)論和反饋產(chǎn)生的元數(shù)據(jù)信息,凡此種種火本,皆有可能危队。

與文本數(shù)據(jù)相關(guān)聯(lián)的挑戰(zhàn)主要有兩個(gè),第一個(gè)挑戰(zhàn)就是如何有效地存儲(chǔ)和管理這些數(shù)據(jù)钙畔。文本數(shù)據(jù)通常以非結(jié)構(gòu)化的形式存在茫陆,且不遵循任何特定的預(yù)設(shè)數(shù)據(jù)模型,也不符合關(guān)系型數(shù)據(jù)庫的模式(Schema)定義擎析。不過簿盅,基于語句的語義(semantics),可以存儲(chǔ)在基于SQL的數(shù)據(jù)管理系統(tǒng)中,如SQL Server或MySQL桨醋,也可以存儲(chǔ)在基于NoSQL的系統(tǒng)棚瘟,如MongoDB、CouchDB等喜最,最近以來偎蘸,也常存儲(chǔ)在基于信息檢索的數(shù)據(jù)存儲(chǔ)中,如ElasticSearch和Solr瞬内。

擁有大量文本數(shù)據(jù)集的組織通常將數(shù)據(jù)保存在數(shù)據(jù)倉庫和基于文件的系統(tǒng)當(dāng)中迷雪,如Hadoop,在Hadoop上可以將所有數(shù)據(jù)轉(zhuǎn)儲(chǔ)到HDFS(Hadoop分布式文件系統(tǒng))上按需訪問虫蝶,這也是數(shù)據(jù)湖的主要設(shè)計(jì)原則之一章咧。

第二個(gè)與分析文本數(shù)據(jù)相關(guān)的挑戰(zhàn)就是如何從中獲取有意義、有價(jià)值的信息秉扑。雖然現(xiàn)在我們擁有大量的機(jī)器學(xué)習(xí)和數(shù)據(jù)分析技術(shù)慧邮,但其中絕大多數(shù)都是針對(duì)數(shù)值數(shù)據(jù)進(jìn)行了優(yōu)化。所以舟陆,我們必須使用專門用于自然語言處理的技術(shù)误澳、轉(zhuǎn)換和模型來分析文本數(shù)據(jù),更具體來講秦躯,是自然語言忆谓。這與結(jié)構(gòu)化數(shù)據(jù)和普通編程語言的處理截然不同,后者很容易被機(jī)器理解踱承。請(qǐng)記住倡缠,文本數(shù)據(jù)是高度非結(jié)構(gòu)化的,因此它不遵循結(jié)構(gòu)化或規(guī)則的語法和模式茎活。因此昙沦,我們不能直接使用統(tǒng)計(jì)學(xué)或機(jī)器學(xué)習(xí)模型來分析這些數(shù)據(jù)。

非結(jié)構(gòu)化數(shù)據(jù)载荔,尤其是文本盾饮、圖像和視頻,蘊(yùn)含著豐富的信息懒熙。雖然丘损,這是座潛在的金礦,但是工扎,由于處理和分析該類數(shù)據(jù)固有的復(fù)雜性徘钥,處理這種非結(jié)構(gòu)化數(shù)據(jù)所要花費(fèi)的時(shí)間和精力,讓習(xí)慣處理結(jié)構(gòu)化數(shù)據(jù)的人常常望而卻步肢娘。自然語言處理(NLP呈础,Natural Language Processing)就是利用相關(guān)的工具舆驶、技術(shù)和算法處理和和理解基于自然語言的數(shù)據(jù),這些數(shù)據(jù)通常包括文本猪落、語音等非結(jié)構(gòu)化的數(shù)據(jù)贞远。然而畴博,在深入研究文本數(shù)據(jù)分析的特定技術(shù)或算法之前笨忌,我們將會(huì)介紹一些與自然語言和非結(jié)構(gòu)化文本相關(guān)的核心概念和原則,這樣做的主要目的是讓你熟悉與自然語言處理和文本分析相關(guān)的概念和領(lǐng)域俱病。

本書主要使用Python編程易語言處理和分析文本數(shù)據(jù)官疲,作為修訂版,我們使用的是Python3.x亮隙,以及最新的開源框架用于分析途凫。本章的例子都非常簡單易懂,但是溢吻,如果您想在閱讀本章之前先了解Python维费、基本框架和架構(gòu),那么可以快速瀏覽第2章“使用Python處理自然語言”促王。

本章會(huì)介紹與自然語言犀盟、語言學(xué)、文本數(shù)據(jù)格式蝇狼、句法(syntax)阅畴、語義(semantics)和語法(grammar)相關(guān)的概念,所有這些都是NLP本身的主要組成部分迅耘,然后討論更高級(jí)的主題贱枣,如文本語料庫(text corpora)、自然語言處理颤专、深度學(xué)習(xí)和文本分析纽哥。本章展示的所有代碼示例都可以在本書的官方GitHub存儲(chǔ)庫中找到,請(qǐng)通過https://github.com/dipanjanS/text-analytics-with-python/tree/master/New-Second-Edition訪問栖秕。

1.1 自然語言

文本數(shù)據(jù)雖然是非結(jié)構(gòu)化數(shù)據(jù)春塌,但通常屬于某種特定的語言,遵循特定的句法和語義累魔。所有文本數(shù)據(jù)摔笤,如簡單的單詞、句子或文檔垦写,都與某種自然語言相關(guān)吕世。在本節(jié)中,我們將討論自然語言的定義梯投、語言哲學(xué)命辖、語言習(xí)得以及語言的使用况毅。

1.1.1 什么是自然語言

要理解文本分析和自然語言處理,首先要理解是什么讓語言變得“自然”尔艇。簡單講尔许,自然語言不同于如計(jì)算機(jī)編程語言這種通過人工構(gòu)建和創(chuàng)造而來的語言,而是人類在自然使用和交流過程中逐漸演進(jìn)和發(fā)展而來的語言终娃。

不同的人類語言味廊,如英語、日語或梵語棠耕,都可以稱為自然語言余佛。自然語言可以用不同的方式進(jìn)行交流,包括說話窍荧、寫作辉巡,甚至是使用符號(hào)。人們對(duì)理解語言的起源蕊退、性質(zhì)和哲學(xué)一直充滿興致郊楣。我們將在下一節(jié)簡要進(jìn)行介紹。

1.1.2 語言哲學(xué)

現(xiàn)在我們知道了什么是自然語言瓤荔。但細(xì)想一下如下這些問題净蚤,語言的起源是什么?是什么讓英語成為“英語”茉贡? “水果”一詞的意義是如何產(chǎn)生的塞栅?人類如何使用語言交流?這些無疑都是些沉甸甸的哲學(xué)問題腔丧。

來看看語言的哲學(xué)層面放椰,主要包含如下四個(gè)問題:

? ? ? 語言的自然含義

? ? ? 語言的使用

? ? ? 語言認(rèn)知(cognition)

? ? ? 語言和現(xiàn)實(shí)的關(guān)系

語言的含義本質(zhì)上與語言的語義及含義本身相關(guān),所以愉粤,語言哲學(xué)家或語言學(xué)家嘗試找出語言所蘊(yùn)含的含義確實(shí)是“意指”什么含義砾医。例如,各種單詞和句子的含義是如何形成的衣厘,語言中的單詞是怎么成為同義詞的如蚜,是如何建立關(guān)聯(lián)關(guān)系的,等等影暴。更重要的是错邦,語言中的結(jié)構(gòu)和語法如何為語義鋪平道路,或者更具體地說型宙,如何將具有自身含義的單詞組織在一起撬呢,形成更有意義的句子。語言學(xué)是研究語言的科學(xué)妆兑,是專門研究這些問題的學(xué)科魂拦。

句法毛仪、語言、語法和解析樹是解決這些問題的一些方法芯勘。語言的含義在兩個(gè)人通過語言交流時(shí)表現(xiàn)出來箱靴,通常是在說者和聽者之間。但從非語言的角度看荷愕,身體語言衡怀、先前的經(jīng)歷和心理影響等因素對(duì)語言的意義起著重要的作用,在這個(gè)過程中路翻,每個(gè)人都會(huì)以自己的方式解析和推論所蘊(yùn)含的含義狈癞,所以茄靠,也要考慮這些重要因素茂契。

語言的使用關(guān)注的是語言如何作為一個(gè)實(shí)體在各種場(chǎng)景中使用,以及如何用于人與人之間的交流慨绳。這包括分析說話以及敘說是所使用的語言掉冶,包括說話人的意圖、語調(diào)脐雪、內(nèi)容和表達(dá)時(shí)所涉及的動(dòng)作厌小。這在語言學(xué)上通常被稱為“言語行為”。對(duì)于一些更高級(jí)的概念战秋,如語言創(chuàng)造和人類的認(rèn)知活動(dòng)璧亚,如語言習(xí)得,一門研究語言的學(xué)習(xí)和使用的學(xué)科——同樣也倍受關(guān)注脂信。

語言認(rèn)知重點(diǎn)關(guān)注人類大腦的認(rèn)知功能是如何負(fù)責(zé)理解和解釋語言的癣蟋。我們來看說者和聽者這個(gè)典型案例,從消息傳遞到解析會(huì)涉及到多個(gè)環(huán)節(jié)狰闪。認(rèn)知研究就是試圖找出大腦是如何將特定的詞語組合成句子疯搅,并將其關(guān)聯(lián)成有意義的信息,以及交流雙方在使用語言交流時(shí)埋泵,語言與人思維過程之間的關(guān)系幔欧。

語言與現(xiàn)實(shí)的關(guān)系探討的是語言表達(dá)方面的真實(shí)性。語言哲學(xué)家們?cè)噲D衡量這些表達(dá)的真實(shí)程度丽声,以及它們與真實(shí)事件之間的關(guān)系礁蔗。這種關(guān)系可以用幾種方式表達(dá),我們將探討其中的一些雁社。

其中最著名的模型之一就是“參考三角形(Triangle of Reference)”浴井,用來描述如何在聽者的思想中傳遞含義和想法,以及這些含義是如何關(guān)聯(lián)回現(xiàn)實(shí)世界實(shí)體或事實(shí)上的歧胁。參考三角形是在Charles Ogden和Ivor Richard編著的《表意的含義(The Meaning of Meaning)》一書中首先提及滋饲,如圖1-1所示:

圖1-1 參考三角形模型

參考三角形模型也就是所謂的表意的含義模型厉碟,圖1-1所示為人類感知沙發(fā)的真實(shí)案例。符號(hào)指的是用于描述物體的語言學(xué)符號(hào)屠缭,如單詞或其他可以引發(fā)人類思考的對(duì)象箍鼓。在這里,符號(hào)就是沙發(fā)呵曹,這讓人想到什么是沙發(fā)款咖,一件可以用來坐下或躺下放松的家具,一些讓我們感到舒適的東西奄喂。這些想法就是參考铐殃,通過這些參考,人們可以把它關(guān)聯(lián)到現(xiàn)實(shí)世界存在的某個(gè)物品上跨新,也就是所謂的被參考物富腊。上圖中,被參考物就是那個(gè)人所感知到的在自己面前的沙發(fā)域帐。

另外一個(gè)確定語言與現(xiàn)實(shí)之間關(guān)系的方法是“契合方向(direction of fit)”赘被,這里我們討論兩個(gè)主要方向。第一個(gè)契合的方向肖揣,“單詞到世界”所講的是場(chǎng)景是通過語言的使用來反映現(xiàn)實(shí)民假。這表示使用單詞來匹配或關(guān)聯(lián)現(xiàn)實(shí)世界中正在發(fā)生或已經(jīng)發(fā)生的事情×牛“埃菲爾鐵塔真的很大”這句話就是一個(gè)很好的例子羊异,它反映的是現(xiàn)實(shí)世界的真是存在。另外一個(gè)契合方向彤断,“世界到單詞”描述的是通過語言使用改變現(xiàn)實(shí)的場(chǎng)景野舶。例如,”我要去游泳“這句話瓦糟,通過要去游泳來改變現(xiàn)實(shí)筒愚,通過句子來交流所要表達(dá)的事實(shí)。圖1-2所示兩個(gè)契合 方向之間的關(guān)系:

圖1-2 契合表示方法的方向

基于從現(xiàn)實(shí)世界感知到的參照物菩浙,人可以以符號(hào)或單詞的形式形成一種表征巢掺,從而可以將同樣的表征傳達(dá)給另一個(gè)人。這就形成了一個(gè)基于所接收到的符號(hào)對(duì)現(xiàn)實(shí)世界的表征劲蜻,并循環(huán)往復(fù)陆淀。



【1.1未完待續(xù)】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市先嬉,隨后出現(xiàn)的幾起案子轧苫,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件含懊,死亡現(xiàn)場(chǎng)離奇詭異身冬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)岔乔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門酥筝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雏门,你說我怎么就攤上這事嘿歌。” “怎么了茁影?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵宙帝,是天一觀的道長。 經(jīng)常有香客問我募闲,道長步脓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任蝇更,我火速辦了婚禮沪编,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘年扩。我一直安慰自己,他們只是感情好访圃,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布厨幻。 她就那樣靜靜地躺著,像睡著了一般腿时。 火紅的嫁衣襯著肌膚如雪况脆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天批糟,我揣著相機(jī)與錄音格了,去河邊找鬼。 笑死徽鼎,一個(gè)胖子當(dāng)著我的面吹牛盛末,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播否淤,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼悄但,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了石抡?” 一聲冷哼從身側(cè)響起檐嚣,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啰扛,沒想到半個(gè)月后嚎京,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗡贺,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年鞍帝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了暑刃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡膜眠,死狀恐怖岩臣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宵膨,我是刑警寧澤架谎,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站辟躏,受9級(jí)特大地震影響谷扣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捎琐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一会涎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瑞凑,春花似錦末秃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至技掏,卻和暖如春铃将,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哑梳。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工劲阎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸠真。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓悯仙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弧哎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雁比,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容