網(wǎng)上有很多關(guān)于魔方pos機(jī)是正規(guī)的,女兒也是滅霸的真愛(ài)的知識(shí),也有很多人為大家解答關(guān)于魔方pos機(jī)是正規(guī)的的問(wèn)題,今天pos機(jī)之家(www.nxzs9ef.cn)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
魔方pos機(jī)是正規(guī)的
來(lái)源:讀芯術(shù)
本文約3900字,建議閱讀10分鐘。
本文以自然語(yǔ)言處理視角,探索英雄們的說(shuō)話方式。
《復(fù)仇者聯(lián)盟4:終局之戰(zhàn)》仍在熱映中。在看到大結(jié)局的同時(shí),本文將帶你通過(guò)數(shù)據(jù)科普的眼光來(lái)回顧《復(fù)仇者聯(lián)盟3:無(wú)限戰(zhàn)爭(zhēng)》:看看這群世界上最強(qiáng)的超級(jí)英雄們最?lèi)?ài)說(shuō)的詞匯是哪些?
這次回顧旅程將從一個(gè)新的角度出發(fā)——自然語(yǔ)言處理。
本文通過(guò)使用spaCy(用于處理和理解大量文本的NLPPython 開(kāi)源程序庫(kù))對(duì)復(fù)聯(lián)3的劇本進(jìn)行分析,并研究以下幾個(gè)項(xiàng)目:
整部電影中使用最頻繁的前十個(gè)動(dòng)詞、名詞、副詞和形容詞。特定角色使用最多的動(dòng)詞和名詞。電影中提及次數(shù)排位前30位的命名實(shí)體(namedentities)。各角色之間臺(tái)詞對(duì)白的相似性,例如雷神的臺(tái)詞對(duì)白和滅霸臺(tái)詞對(duì)白的相似性。看見(jiàn)代碼和專(zhuān)業(yè)詞匯就想睡?今天你可以放心了!為讀者著想,本文中使用的詞匯和術(shù)語(yǔ)都是非技術(shù)性的,所以就算是你沒(méi)有接觸過(guò)NLP、AI、機(jī)器學(xué)習(xí)或者諸如*insert buzzword here*之類(lèi)的代碼,你都能理解并掌握本文想要傳達(dá)的信息哦!所以,不看代碼也不會(huì)影響你對(duì)其余內(nèi)容的理解。
滅霸 圖片來(lái)源:Marvel
處理數(shù)據(jù)實(shí)驗(yàn)中使用的數(shù)據(jù)或文本語(yǔ)料庫(kù)(通常在NLP中稱(chēng)為語(yǔ)料庫(kù))是電影腳本。但是,在使用這些數(shù)據(jù)之前,需要做一下篩選。因?yàn)椋睦砻鑼?xiě)、動(dòng)作描述或者場(chǎng)景描寫(xiě)的文本,以及每句臺(tái)詞前的角色名(僅指示說(shuō)話人,不作為文本分析的語(yǔ)料庫(kù))都不是本次研究的對(duì)象。所以,諸如“Thanoscrushes the Tesseract, revealing the blue Space Stone…” (滅霸捏碎了宇宙魔方,獲得了藍(lán)色的空間寶石……)之類(lèi)的句子都被刪除了。
此外,作為spaCy數(shù)據(jù)處理步驟的一部分,“I”(我)、“you”(你)、“an”(一個(gè))這類(lèi)被標(biāo)記為停止詞(常用的單詞,多為冠詞、介詞、副詞或連詞)的術(shù)語(yǔ)被將不做處理。同時(shí),實(shí)驗(yàn)過(guò)程中只使用單詞的標(biāo)準(zhǔn)形式,也就是詞根。舉例說(shuō)明,動(dòng)詞“talk”、“talked”和“talking”是同一個(gè)詞“talk”(說(shuō)話)的不同形式,所以這些詞的詞根就是“talk”。
要在spaCy中處理一段文本,首先需要加載語(yǔ)言模型,然后在文本語(yǔ)料庫(kù)上調(diào)用模型進(jìn)行文本處理。結(jié)果會(huì)輸出一個(gè)涵蓋所有已處理文本的Doc文件。
import spacy # load a medium-sized language model nlp = spacy.load("en_core_web_md") with open(\'cleaned-script.txt\', \'r\') asfile: text = file.read() doc = nlp(text)
在spaCy中創(chuàng)建Doc文件。
然后就可以獲得一個(gè)經(jīng)過(guò)處理、有效信息占比極高的語(yǔ)料庫(kù)。緊接著就可以開(kāi)始實(shí)驗(yàn)了!
整部電影中使用最頻繁的前十個(gè)動(dòng)詞、名詞、副詞和形容詞
是否可能僅通過(guò)了解出現(xiàn)最頻繁的動(dòng)詞就推斷出電影的整體走向和情節(jié)呢?下文的圖表證明了這一觀點(diǎn)。
“I know” (我了解……)、“you think” (你覺(jué)得……)是最常見(jiàn)的短語(yǔ)。
“know” (了解)、“go” (去)、 “come”(來(lái))、“get” (獲得)、“think”(思考)、“tell” (告訴)、“kill” (謀殺)、“need” (需要)、“stop” (制止)、和“want” (想要) 。從中能夠推斷出什么?介于這部電影于2018年上映,相信大部分觀眾都已經(jīng)知道它講述了一個(gè)什么樣的故事:根據(jù)這些動(dòng)詞推斷出《復(fù)仇者聯(lián)盟3:無(wú)限戰(zhàn)爭(zhēng)》是關(guān)于了解、思考和調(diào)查如何去阻止某物或某人。
通過(guò)以下代碼就能統(tǒng)計(jì)各個(gè)動(dòng)詞出現(xiàn)次數(shù):
importspacy#load a medium-sized language modelnlp= spacy.load("en_core_web_md") withopen(\'cleaned-script.txt\', \'r\') as file: text = file.read() doc= nlp(text)#map with frequency countpos_count= {}fortoken in doc: # ignore stop words if token.is_stop: continue # pos should be one of these: # \'VERB\', \'NOUN\', \'ADJ\' or \'ADV\' if token.pos_ == \'VERB\': if token.lemma_ in pos_count: pos_count[token.lemma_] += 1 else: pos_count[token.lemma_] = 1print("top10 VERBs {}".format(sorted(pos_count.items(), key=lambda kv: kv[1],reverse=True)[:10]))
那么描述動(dòng)詞的詞——副詞也會(huì)有同樣的實(shí)驗(yàn)效果嗎?
“I seriously don’t know how you fit your head into that helmet.” (我真不知道那個(gè)頭盔怎么塞得進(jìn)你的腦袋。)——奇異博士。
對(duì)于一部關(guān)于阻止紫薯精毀滅半個(gè)宇宙的電影來(lái)說(shuō),臺(tái)詞中有很多類(lèi)似“right”(沒(méi)錯(cuò))、“exactly”(就是這樣)、“better”(更好地)這種具有積極意向的副詞。
所以,知道了電影中的動(dòng)作和動(dòng)作描述,現(xiàn)在是時(shí)候看看名詞了。
“You will pay for his life with yours.Thanos will have that stone.” (這將是以命換命,滅霸總會(huì)得到那塊寶石。)——暗夜比鄰星
結(jié)果顯示,“stones”(寶石)不出意料地出現(xiàn)次數(shù)最多,畢竟整部電影都在圍繞它們發(fā)展。出現(xiàn)次數(shù)排第二的是滅霸想要摧毀的“l(fā)ife”(生命),接著是復(fù)仇者們沒(méi)有多少的“time”(時(shí)間)(注意:出現(xiàn)次數(shù)較多也可能是因?yàn)殡娪爸卸啻翁岬搅恕皌he Time Stone”——時(shí)間寶石)。
最后,在進(jìn)入下一個(gè)實(shí)驗(yàn)項(xiàng)目之間,探究一下形容詞或描述名詞的單詞。與副詞的情況類(lèi)似,這里也有“good”(好的)和“right”(對(duì)的)等表達(dá)積極意義的詞匯,以及“okay”(沒(méi)問(wèn)題)和“sure”(當(dāng)然)等表示肯定的詞匯。
“I\'m sorry, little one.” (對(duì)不起,小家伙)——滅霸
特定角色使用最多的動(dòng)詞和名詞前面的圖片列舉了電影中最常見(jiàn)的動(dòng)詞和名詞。雖然這些結(jié)果讓我們對(duì)電影的整體感覺(jué)和情節(jié)有了一定的了解,但它并沒(méi)有過(guò)多地講述各個(gè)角色的個(gè)人經(jīng)歷。因此,在特定角色的個(gè)人臺(tái)詞中,通過(guò)使用前面相同的程序,找到了出現(xiàn)次數(shù)前十的動(dòng)詞和名詞。
由于電影中有很多角色,所以本實(shí)驗(yàn)中只選擇了一些臺(tái)詞數(shù)量較多的角色。這些角色分別是鋼鐵俠、奇異博士、卡魔拉、雷神、火箭浣熊、星爵、烏木喉和滅霸。對(duì)不起,隊(duì)長(zhǎng)沒(méi)有入選。
下圖展示了這些角色使用次數(shù)最多的10個(gè)名詞。
星爵到底為什么這么頻繁地叫德拉克斯?
意料之外的是,大多數(shù)情況下,親愛(ài)的英雄們最常提及的名詞都是同伴的名字。例如,鋼鐵俠提及“孩子”(指蜘蛛俠)9次,火箭浣熊叫了奎爾(星爵)3次,而星爵叫了(其實(shí)是大吼)德拉克斯7次。
通過(guò)進(jìn)一步的觀察,可以推斷出每個(gè)角色心中最重要的東西。拿鋼鐵俠的情況舉例,統(tǒng)計(jì)數(shù)據(jù)表明“地球”對(duì)他來(lái)說(shuō)十分重要??Ю那闆r也很相似,她總是念叨著“生命”、“宇宙”和“星球”這些涵義更廣闊的實(shí)體,并為之付出了自己的生命。奇異博士反復(fù)提及他與其余英雄不甚相同的目標(biāo)——保護(hù)時(shí)間寶石。還有雷神,由于他和滅霸之間的國(guó)仇家恨,他提及滅霸的名字多達(dá)8次,當(dāng)然還少不了新的“干脆面”好友——長(zhǎng)得像只“兔子”的火箭浣熊。最后一張圖的數(shù)據(jù)表明滅霸不斷念叨著要集齊所有無(wú)限寶石,并且多次呼喚他的女兒。
名詞極具表達(dá)意義,但動(dòng)詞可能無(wú)法像名詞這樣鮮明地表達(dá)角色的特征。在下面的圖片中你會(huì)看到,動(dòng)詞的表達(dá)能力相比名詞的來(lái)說(shuō)產(chǎn)生的效果甚微。像“know”(了解)、“want”(想要)和“get”(獲得)這樣缺乏特征性的普遍被使用的單詞出現(xiàn)的頻數(shù)都很高。然而,滅霸的頭號(hào)粉絲——烏木喉可能擁有整個(gè)語(yǔ)料庫(kù)中最獨(dú)特的動(dòng)詞。烏木喉就像一個(gè)忠仆:除了想方設(shè)法獲取時(shí)間寶石,他主要從事的工作就是用“聆聽(tīng)”、“感到榮幸”等詞鼓吹他主子的使命。嘖嘖,真諂媚。
“Hear me, and rejoice. You have had the privilege of being saved by the Great Titan…”(跪下聆聽(tīng)并感到榮幸吧!你有幸被最偉大的救世主拯救……)——烏木喉
最后來(lái)個(gè)彩蛋(大霧):格魯特說(shuō)得最多的是——
“I am Groot.”(我是格魯特。)
命名實(shí)體到目前為止,我們已經(jīng)完成了全篇電影、各位英雄和反派最常用的動(dòng)詞、名詞、副詞和形容詞的探索。然而,為了充分理解一直在研究的所有詞,需要加入一些上下文,即命名實(shí)體,進(jìn)行研究。
根據(jù)有關(guān)spaCy的網(wǎng)頁(yè)說(shuō)明,命名實(shí)體是“指定名稱(chēng)的實(shí)際對(duì)象——例如,一個(gè)人、一個(gè)國(guó)家、一個(gè)產(chǎn)品或一本書(shū)的標(biāo)題?!彼?,了解這些實(shí)體就意味著了解角色在說(shuō)些什么。在spaCy程序源庫(kù)中,實(shí)體都有一個(gè)預(yù)測(cè)的標(biāo)簽,該標(biāo)簽將實(shí)體分成人、產(chǎn)品、藝術(shù)詞匯等等類(lèi)型(https://spacy.io/api/annotation#named-entities),從而為后續(xù)實(shí)驗(yàn)提供額外的粒度級(jí)別,有助于對(duì)實(shí)體進(jìn)行進(jìn)一步分類(lèi)。但是,為了簡(jiǎn)化過(guò)程,本次實(shí)驗(yàn)中將使用實(shí)體本身而不是實(shí)體分類(lèi)。
這些是出現(xiàn)次數(shù)排名前30的實(shí)體。
“MATEFAYA HU”(必勝)是瓦坎達(dá)賈巴里部落戰(zhàn)士戰(zhàn)斗前的口號(hào)。
首先,考慮到整部電影都是關(guān)于滅霸的,所以滅霸出現(xiàn)次數(shù)最多是情理之中。緊隨其后的是他的女兒、影片的核心人物之一——卡魔拉。然后在第三位的是格魯特(不需要解釋了吧),緊隨其后的是鋼鐵俠和其他復(fù)仇者,以及一些地點(diǎn),如紐約,阿斯加德和瓦坎達(dá)(瓦坎達(dá)萬(wàn)歲)。除了英雄名字和地點(diǎn)之外,“六顆無(wú)限寶石”(“six Infnity Stones”)的“六”、時(shí)間寶石(the Time Stone)和靈魂寶石(the Soul Stone)分別出現(xiàn)在第14、15和16位。意料之外的是,將滅霸吸引到地球來(lái)的心靈寶石不在前30名之列。
可以通過(guò)以下代碼讀取Doc文件中各個(gè)單詞的實(shí)物標(biāo)簽‘ents’:
importspacy # load a medium-sized language model nlp = spacy.load("en_core_web_md") with open(\'cleaned-script.txt\', \'r\') as file: text = file.read() doc = nlp(text) # create an entity frequency map entities = {} # named entities for ent in doc.ents: #Print the entity text and its label ifent.text in entities: entities[ent.text] += 1 else: entities[ent.text] = 1 print("top entities{}".format(sorted(entities.items(), key=lambda kv: kv[1], reverse=True)[:30]))臺(tái)詞對(duì)白間的相似性
當(dāng)討論每個(gè)角色最常用動(dòng)詞時(shí),我們意識(shí)到他們使用的動(dòng)詞都非常相似,表達(dá)出了相同的感覺(jué),而這與分析名詞得到的結(jié)論不甚相同。
像“go”(去)、“come”(來(lái))這樣的詞語(yǔ),營(yíng)造出角色們想要去或抵達(dá)某個(gè)特定地方的感覺(jué)和趨向;而像“kill”(謀殺)和“stop”(制止)這樣的動(dòng)詞暗示著,確實(shí)存在一個(gè)巨大的威脅必須得到阻止。
考慮到這個(gè)結(jié)果,為了繼續(xù)研究相似性,實(shí)驗(yàn)提出計(jì)算分?jǐn)?shù)衡量各個(gè)角色的臺(tái)詞對(duì)白的相似度。
NLP中相似度的定義為,描述兩段文本的結(jié)構(gòu)或句法涵義有相關(guān)性的度量——通常,相似度得分介于0到1之間,0表示完全不同,1表示完全相似(或者兩段文本完全相同)。從技術(shù)上講,相似性是通過(guò)測(cè)量單詞向量(單詞的多維表征)之間的距離來(lái)計(jì)算的。如果你有興趣進(jìn)一步了解單詞向量的相關(guān)內(nèi)容,建議搜索了解一下生成單詞向量的常用算法——word2vec。下圖就是各個(gè)角色之間臺(tái)詞對(duì)白的相似性矩陣。
這個(gè)圖再次證明,烏木喉真的是最獨(dú)特的角色。
這個(gè)結(jié)果可謂是“驚不驚喜!意不意外!”了。一方面,由于這部電影只有一個(gè)主要情節(jié),所以可以理解,對(duì)話中的關(guān)聯(lián)性導(dǎo)致所有的角色的臺(tái)詞對(duì)白相似性都接近于1。然而,沒(méi)想到的是,他們的分?jǐn)?shù)過(guò)于太接近了。實(shí)驗(yàn)的研究期望是,至少滅霸與其他英雄的臺(tái)詞對(duì)白相似性較低。畢竟對(duì)于滅霸這樣一個(gè)反派來(lái)說(shuō),其他英雄都是在一個(gè)勁的討論著怎么阻止他啊??上部少R地是,蜘蛛俠的臺(tái)詞相似性得分變化起伏不定;畢竟,他只是個(gè)在上學(xué)路上被叫來(lái)拯救世界的小孩兒,所以有這樣的結(jié)果也不奇怪。
下面代碼演示了如何在spaCy環(huán)境下計(jì)算兩段臺(tái)詞對(duì)白之間的相似性:
# for the full example onhow I obtained all the similarities # see the full code at:https://github.com/juandes/infinity-war-spacy/blob/master/script.py import spacy # load a medium-sized language model nlp = spacy.load("en_core_web_md") with open(\'tony-script.txt\', \'r\') as file: tony_lines =file.read() with open(\'thor-script.txt\', \'r\') as file: thor_lines = file.read() tony_doc = nlp(tony_lines) thor_doc = nlp(thor_lines) similarity_score = tony_doc.similarity(thor_doc) print("Similarity between Tony\'s and Thor\'s docs is{}".format(similarity_score))結(jié)論
在電影《復(fù)仇者聯(lián)盟3:無(wú)限戰(zhàn)爭(zhēng)》中,一群超級(jí)英雄展開(kāi)了阻止滅霸消滅宇宙半數(shù)生命的旅程。在整部電影中,通過(guò)英雄們的表達(dá)方式,觀眾從字里行間中逐漸了解到這些英雄拯救世的動(dòng)機(jī)和動(dòng)力。
在Python、NLP和spaCy的幫助下,本文通過(guò)研究各個(gè)人物的臺(tái)詞,探索了英雄和反派進(jìn)行表達(dá)和交流的方式。通過(guò)觀察他們最常用的動(dòng)詞、名詞和語(yǔ)言特點(diǎn),我們了解、確認(rèn)并重溫了鋼鐵俠對(duì)地球的忠誠(chéng)、奇異博士保護(hù)時(shí)間寶石的誓言、雷神對(duì)復(fù)仇的渴望以及滅霸完成自己野心的堅(jiān)決。
相關(guān)鏈接:
https://towardsdatascience.com/reliving-avengers-infinity-war-with-spacy-and-natural-language-processing-2abcb48e4ba1編輯:黃繼彥
校對(duì):龔力
— 完 —
關(guān)注清華-青島數(shù)據(jù)科學(xué)研究院官方微信公眾平臺(tái)“THU數(shù)據(jù)派”及姊妹號(hào)“數(shù)據(jù)派THU”獲取更多講座福利及優(yōu)質(zhì)內(nèi)容。
以上就是關(guān)于魔方pos機(jī)是正規(guī)的,女兒也是滅霸的真愛(ài)的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于魔方pos機(jī)是正規(guī)的的知識(shí),希望能夠幫助到大家!









