国内精品久久久久_亚洲区手机在线中文无码播放_国内精品久久久久影院一蜜桃_日韩内射激情视频在线播放免费

      全媒體攝像記者面試題

      時間:2024-09-26 08:26 人氣:0 編輯:招聘街

      一、全媒體攝像記者面試題

      全媒體攝像記者面試題

      導(dǎo)言

      在當(dāng)今數(shù)字化時代,全媒體攝像記者扮演著至關(guān)重要的角色,他們不僅需要具備出色的攝像技術(shù),還要具備跨平臺傳播的能力。如果您想成為一名全媒體攝像記者,下面是一些可能在面試中遇到的問題,希望能幫助您做好準(zhǔn)備。

      1. 您認(rèn)為全媒體攝像記者的工作職責(zé)是什么?

      全媒體攝像記者應(yīng)具備多媒體報道能力,不僅要擅長拍攝攝像,還需具備編輯和制作視頻的能力。他們需要能夠獨立完成新聞報道,包括采訪、拍攝、編輯和制作。全媒體攝像記者還要關(guān)注新聞傳播平臺的發(fā)展動向,及時掌握最新的數(shù)字化技術(shù)。

      2. 您在拍攝過程中遇到的挑戰(zhàn)是什么?如何克服這些挑戰(zhàn)?

      在拍攝過程中,可能會面臨光線不足、環(huán)境復(fù)雜等挑戰(zhàn),這就需要攝像記者具備靈活應(yīng)對的能力。為了克服這些挑戰(zhàn),攝像記者可以提前做好充分的準(zhǔn)備工作,包括了解拍攝地點的環(huán)境、光線情況,選擇合適的拍攝角度和器材,保持專注和耐心。

      3. 如何看待全媒體發(fā)展對攝像記者的影響?

      全媒體發(fā)展為攝像記者提供了更多展示自己的機會,但也帶來了更大的競爭壓力。攝像記者需要不斷學(xué)習(xí)新知識,提升跨媒體傳播的能力,適應(yīng)多平臺傳播的需求。同時,全媒體發(fā)展也為攝像記者提供了更豐富的報道手段和創(chuàng)作空間,讓他們能夠更好地展現(xiàn)自己的專業(yè)素養(yǎng)。

      4. 您認(rèn)為一個成功的全媒體攝像記者應(yīng)具備哪些素質(zhì)?

      成功的全媒體攝像記者應(yīng)具備良好的溝通能力和團隊合作精神,能夠熟練運用攝像器材和剪輯軟件,有較強的新聞敏感性和創(chuàng)意能力,善于把握時事熱點,及時準(zhǔn)確地報道新聞。此外,要有較強的抗壓能力和適應(yīng)能力,能夠在壓力下保持良好的工作狀態(tài)。

      5. 在全媒體攝像記者職業(yè)道路上,您的職業(yè)規(guī)劃是什么?

      在全媒體攝像記者職業(yè)道路上,我希望能夠不斷提升自己的專業(yè)技能,進一步完善自己的報道水平和創(chuàng)作能力,拓寬自己的報道領(lǐng)域,深耕自己的專業(yè)方向。同時,我也希望能夠與更多優(yōu)秀的記者和攝像師共同合作,不斷學(xué)習(xí)他們的經(jīng)驗和技巧,實現(xiàn)個人和團隊的共同成長。

      結(jié)語

      全媒體攝像記者是當(dāng)今時代的新型職業(yè),他們承擔(dān)著報道事實、傳遞信息的責(zé)任。希望以上面試題能夠幫助您更好地了解全媒體攝像記者這一職業(yè),做好自身的職業(yè)規(guī)劃和準(zhǔn)備,成為一名優(yōu)秀的全媒體攝像記者。

      二、電視臺攝像記者這個工作如何?有危險嗎?

      要看在什么部門,如果在專題部,出外攝像存在危險!像中央電視臺的《走遍中國》,攝像記者要上山入海,甚至飛巖走壁。

      三、電視臺攝像記者崗位職責(zé)

      隨著社會的不斷發(fā)展,媒體產(chǎn)業(yè)也在蓬勃發(fā)展,電視臺攝像記者崗位職責(zé)變得愈加重要。作為媒體行業(yè)的一員,電視臺攝像記者在報道新聞、拍攝節(jié)目等方面起著至關(guān)重要的作用。電視臺攝像記者需要具備豐富的專業(yè)知識和技能,以便有效完成工作任務(wù)。

      電視臺攝像記者的主要職責(zé)包括:

      • 1. 實地采訪報道新聞事件
      • 2. 拍攝和錄制節(jié)目內(nèi)容
      • 3. 進行現(xiàn)場直播報道
      • 4. 編輯和剪輯素材
      • 5. 配合導(dǎo)演完成節(jié)目制作
      • 6. 協(xié)助完成拍攝設(shè)備的搭建和調(diào)試

      電視臺攝像記者需要具備扎實的攝像技術(shù),能夠熟練操作各類攝像設(shè)備,包括攝像機、錄音設(shè)備、照明設(shè)備等。他們還需要具備一定的新聞素養(yǎng),了解新聞報道的基本原則和倫理規(guī)范,確保報道的客觀真實性和公正性。

      此外,電視臺攝像記者還需要具備良好的溝通能力和團隊協(xié)作精神,能夠與記者、編輯、導(dǎo)演等多個部門有效合作,共同完成節(jié)目制作。他們需要具備敏銳的新聞嗅覺和快速反應(yīng)能力,及時捕捉新聞線索,做到第一時間報道重要新聞事件。

      電視臺攝像記者的工作環(huán)境及挑戰(zhàn):

      電視臺攝像記者的工作環(huán)境通常較為復(fù)雜和多變,他們可能需要在各種不同的場合進行拍攝,有時需要面對極端的天氣條件和工作壓力。因此,電視臺攝像記者需要具備較強的抗壓能力和應(yīng)急處理能力,能夠在各種復(fù)雜情況下保持冷靜和應(yīng)對緊急情況。

      另外,電視臺攝像記者常常需要長時間工作,有時需要加班和出差報道。工作時間不固定,需要根據(jù)新聞事件的發(fā)生情況進行調(diào)整,因此需要電視臺攝像記者具備較強的工作意識和責(zé)任心。

      在現(xiàn)代社會,新聞傳播速度越來越快,電視臺攝像記者面臨的競爭壓力也越來越大。他們需要不斷學(xué)習(xí)和提升自身的專業(yè)能力,與時代同步,適應(yīng)新媒體時代的發(fā)展需求。

      電視臺攝像記者的發(fā)展前景:

      隨著互聯(lián)網(wǎng)和新媒體的興起,電視臺攝像記者的發(fā)展前景越來越廣闊。新媒體技術(shù)的不斷更新?lián)Q代,為電視臺攝像記者帶來了更多的發(fā)展機會和挑戰(zhàn)。未來,電視臺攝像記者將需要具備更多的跨媒體制作技能,能夠靈活運用各種新技術(shù),拓展報道形式,提升工作效率。

      電視臺攝像記者將成為新媒體時代的重要角色,他們將承擔(dān)更多的責(zé)任和挑戰(zhàn),為傳播更多優(yōu)質(zhì)內(nèi)容和新聞信息做出積極貢獻。在信息爆炸的時代,電視臺攝像記者的工作將更加需要專業(yè)性和創(chuàng)新性,只有不斷學(xué)習(xí)和積累經(jīng)驗,才能在激烈的競爭中脫穎而出。

      四、青島電視臺攝像工資待遇謝謝?

      底薪確實不高,2000元左右。

      然后你拍的東西按條給錢。

      也就是出工有錢,不出工沒錢。

      當(dāng)然干的時間長了也有其他收入了。

      你懂得。

      五、為什么有些有些電視臺的新聞是記者負(fù)責(zé)剪輯,有些電視臺是攝像剪輯?

      造成這種情況的根本原因是——人不夠。

      在如今的2023年,回答這個2014年的問題,有一些時光穿梭的感覺。不過,樓主問題中的這種現(xiàn)象,在如今其實依舊存在著。

      按照新聞規(guī)律來說,起主導(dǎo)作用的是記者。

      作為記者,要負(fù)責(zé)新聞的策劃、資料搜集、對接采訪、現(xiàn)場采訪、文稿撰寫以及完成最終的新聞視頻。在這個新聞采訪的過程中,攝像師在某種程度上其實就是一個——工具人。

      在新聞采訪工作中,攝像師是負(fù)責(zé)根據(jù)記者的要求拍攝所有現(xiàn)場元素,以及根據(jù)自己的判斷拍攝必要鏡頭。

      簡單地說就是一名攝像跟隨記者到現(xiàn)場進行采訪拍攝,要根據(jù)自己的經(jīng)驗和對新聞事件的判斷來拍攝基本鏡頭,同時記者還會要求攝像師拍下她所需要的鏡頭,以便在后期剪輯中使用。

      在完成采訪后,攝像師的下一個動作就是:交片,然后還機器,完成任務(wù)。

      攝像機用的存儲卡都是記者提供的,記者會拿著存有素材的存儲卡上載到編輯系統(tǒng)中,然后根據(jù)自己的策劃設(shè)想來完成整個新聞視頻的剪輯工作。

      也就是說,一條新聞視頻是記者的作品,她要對新聞質(zhì)量負(fù)責(zé)。而攝像師是要對畫面構(gòu)圖是否合理、是否精美,畫面調(diào)度是否合理、是否豐富等方面負(fù)責(zé),在打分上也是分別打分。

      而這樣的配置基本上都是省市級別的電視臺,作為地方臺來說,經(jīng)費緊張,工作量和工作要求也沒有那么高,就沒有必要養(yǎng)那么多人,基本上一個人就可以完成工作了。

      一個人完成新聞采編的全部流程,從策劃到采訪,從寫稿到拍攝再到剪輯,全都是單獨完成。

      這樣工作不否認(rèn)也有優(yōu)秀作品出現(xiàn),但大多數(shù)只是一條合格的消息而已,想要深入采訪,做出新聞精品,還是有一定的難度,需要在時間和精力上的更大投入。

      不過!

      在2023年的今天,由于融媒體改革的推進,各級媒體也發(fā)生了一定的變化,當(dāng)然很多省市級媒體還是會保留原有的記者+攝像師的配合,不過也有很多媒體,包括原來的平面媒體也拓展的視頻新聞業(yè)務(wù),而完成工作的基本上也都是單兵作戰(zhàn)。

      多說一句,在記者+攝像師的組合中,記者是主導(dǎo),都是記者安排采訪的時間和內(nèi)容,然后向攝像組的老大要個攝像師,或者找相熟的攝像師一起完成,所以攝像師都是被選擇的。

      不過,由于不需要策劃和寫稿,攝像師都是比較剩腦筋的,也是很多人選擇不做記者做攝像的原因。

      當(dāng)然,記者完成一條新聞的收入要比攝像多一些, 攝像的績效收入是以量取勝的。

      六、電視臺的攝像機有美顏嗎?

      有美顏的,電視臺的攝像機功能強大

      七、電視臺攝像師需要什么條件?

      看電視臺的級別而定,縣級臺的話,要求會低很多,幾乎只要求你會操作攝像機,也就是說成為個操機員!

      如果是大臺,那么要求就多了,要求你不僅技術(shù)熟練,還要你有很強的審美觀、和編導(dǎo)的溝通能力等等,至于證書,最主要的應(yīng)該是你大學(xué)的畢業(yè)證。下面是一個省級電視臺攝像招聘考試的科目,你可以參考下 :攝像師一般是口試、實戰(zhàn)兩次面試??己藬z像基礎(chǔ)知識以及攝像機使用實戰(zhàn),例如色溫控制、光圈控制等等。

      八、就攝像水平而言,電視劇攝像師和電視臺攝像記者哪個好?

      攝像記者就是攝像師,和新聞記者工資差別很大,一般新聞記者自己也會攝像,有的甚至一個人就可以做采訪,專訪什么的,而攝像師一般只管拍,這么一比我想你應(yīng)該知道哪個職業(yè)發(fā)展前景好了吧

      九、電視臺用的攝像機和普通的有什么區(qū)別?

      多圖,注意流量。先放圖片,后面再上詳細(xì)介紹??破障?,歡迎糾錯。轉(zhuǎn)載請注明出處和知乎用戶名,否則請先私信聯(lián)系。

      池上UHK-435 Hard Body 4K攝像機鎮(zhèn)樓

      題主圖片里的屬于廣播級攝像機,Hard Body大型機身+Box Lens箱式鏡頭屬于非常專業(yè)的廣播級攝像機,需要配合大型液壓腳架和云臺(例如Sachtler或Vinten)。在這種系統(tǒng)配置中,攝像機部分只有攝像功能,不能錄像,需要外接CCU。攝像師控制的是構(gòu)圖、對焦、變焦,由接到鏡頭和攝像機上的手柄控制。攝像師通過攝像機帶的內(nèi)通系統(tǒng)聽導(dǎo)播的指揮。而其他參數(shù)諸如光圈、白平衡、黑底、黑伽馬由后臺的人員(稱為調(diào)光)在RCP(索尼)/OCP(池上)上手動控制,攝像師不管。

      下圖是一個搭建起來的系統(tǒng)攝像機。

      下圖是索尼的系統(tǒng)攝像機,使用Hard Body機身。

      如果第一張圖沒看出來,上面和下面兩張應(yīng)該能看出來區(qū)別:

      注意到深色和淺色部分,這是這臺系統(tǒng)攝像機的兩個不同部分。打開機架后蓋,里面是一臺小尺寸的肩扛機。圖片中是索尼HDC-1500

      我們來看一下這個系統(tǒng)是如何搭建的。上圖是索尼HDC-1500攝像機,下圖是索尼HDLA 1505。HDLA代表High Definition Lens Adapter高清鏡頭轉(zhuǎn)換器。

      池上的系統(tǒng)稍有不同,稱作系統(tǒng)擴展器

      而這個是Hard Body:

      也有些場合使用機架安裝了肩扛攝像機,但是不是使用箱式鏡頭:

      這種方式可以允許快速靈活的拆下攝像機進行手持?jǐn)z像(打開后蓋,拔掉取景器線,鏡頭處拔掉一個變焦線,一個對焦鋼纜,然后拉動快拆手柄就拆下攝像機了),而在穩(wěn)定使用時又可以利用大型腳架穩(wěn)定的支撐和順滑的手感、方便的操作(外接控制器)。下圖是對比,箱式鏡頭vs手持鏡頭

      使用手持方式的時候必須使用攝像機取景器,而在機架里則使用大型尋像器。上圖里用的是索尼HDLA-1507大型尋像器適配器:

      這個沒有安裝箱式鏡頭

      特寫,對于索尼系統(tǒng),當(dāng)攝像機安裝在機架里,無論是哪種,攝像機的電源和控制都會部分轉(zhuǎn)移到機架上。如果安裝了ENG機器,機架還能提供EFP、ESP才有的內(nèi)通功能

      再來一些圖片,這個鏡頭是Canon 72x(72倍光學(xué)變焦) DigiSuper:

      這個是27x

      還是DigiSuper

      還有一些特種攝像機,也是廣播級的,這個池上的盒子還安裝了帶電動增倍的廣角鏡頭:

      訊道機和3D攝像機聯(lián)動:

      3D搖臂:

      --------------分割線------------

      下面來一些正經(jīng)的攝像機分類介紹。

      電視臺使用的攝像機屬于廣播級攝像機。一般來說攝像機分消費級、專業(yè)級和廣播級三類。以索尼產(chǎn)品為例,F(xiàn)DR HDR系列屬于消費級,PMW PXW NEX系列屬于專業(yè)級,HDC系列屬于廣播級。

      FDR-AXP55消費級4K錄像機
      PXW-X280專業(yè)級手持機
      HDC-4300 4K系統(tǒng)攝像機with手持鏡頭

      但是題主可能會問,上面并沒有題目里那種攝像機啊。別急,下面會一一介紹到。

      首先廣播級攝像機系統(tǒng)按照使用方式可以分為ENG、EFP、ESP三類。

      ENG是Electronic News Gathering電子新聞采集,ENG攝像機就是俗稱的肩扛攝像機。ENG攝像機使用B4卡口便攜廣播鏡頭(下圖這種就是,看起來不是很便攜,但是就是叫Portable Lens),是自帶記錄部分、攝錄一體的肩扛式攝像機。如下圖是松下的AG-HPX系列P2HD存儲介質(zhì)的高清廣播級攝像機??梢钥吹綑C器自帶麥克風(fēng),后部有電池,中部有存儲卡插槽,適合外場新聞采訪使用。

      EFP是Electronic Field Production電子現(xiàn)場制作,一般指將多臺攝像機連接到切換臺和其他設(shè)備以形成現(xiàn)場制作系統(tǒng)的用法。EFP的攝像機可以是任何帶有視頻輸出功能的攝像機,小型演播室常用肩扛機+腳架+鏡頭控制器+變焦控制器作為EFP的攝像機,小型活動可以用普通專業(yè)機,當(dāng)然電視臺外場OB一般用的是下面提到的訊道機。

      ESP是Electronic Studio Production電子演播室制作,在演播室一般有各種條件所以會使用訊道機。

      訊道機就是攝像機的攝和錄分開,攝像機部分只負(fù)責(zé)采集圖像,通過TRIAX或者光纖傳回到設(shè)備間的CCU(Camera Control Unit攝像機控制單元),由CCU產(chǎn)生圖像并傳輸給錄像機、矩陣、切換臺等,用于EFP和ESP。

      下圖是索尼HDC-1500系統(tǒng)攝像機,屬于EFP機器,攝錄分離。注意到攝像機尾部有個直徑很大的電纜接頭,這里就是用來連接CCU的電纜,這個電纜是必須的。注意到攝像機沒有麥克風(fēng),沒有存儲裝置,沒有電池:

      現(xiàn)在有些ENG攝像機可以加裝模塊直接變成偽訊道機,接入CCU集成到專業(yè)系統(tǒng)。圖上是索尼XDCAM的肩扛機,可以看到有麥克風(fēng)和存儲卡插槽(沒插卡),但是后面加了模塊(占電池位),模塊插了TRIAX電纜,有內(nèi)通,用大型尋像器:

      以上是肩扛機,可以肩扛使用或者安裝在腳架上使用。除了上圖這種形式,還有只能安裝在腳架上使用的大型ESP訊道機,就是題主圖里那種,使用箱式鏡頭:

      這個也不完全是,這個不是Hard-Body攝像機,而是EFP機器加機架。真正的Hard-Body系統(tǒng),注意到后面的攝像機是一個整體,尺寸跟鏡頭差不多:

      所以廣播級攝像機就分成了:用手持鏡頭的ENG攝像機,肩扛式機身+手持鏡頭的EFP/ESP攝像機,肩扛式機身+機架+手持鏡頭的EFP/ESP攝像機,肩扛式機身+機架+箱式鏡頭的EFP/ESP攝像機,Hard Body機身+箱式鏡頭的EFP/ESP攝像機

      箱式鏡頭主要是Canon和Fujinon兩家,代表產(chǎn)品分別是DigiSuper和DigiPower系列:

      箱式鏡頭背后的接口:

      手持鏡頭也是這兩家,無論箱式鏡頭或手持鏡頭,只有部分鏡頭帶有自動對焦功能(對于手持鏡頭是對焦環(huán)帶伺服,對于箱式鏡頭是帶有AF功能),有些鏡頭是全手動(連光圈都不能自動,現(xiàn)在少見)

      至于畫質(zhì)區(qū)別,其實ENG EFP ESP之間區(qū)別不太大,總體來說大部分都比普通攝像機和專業(yè)攝像機好,但是要求操作者的技術(shù)非常好。這里的好不是體現(xiàn)在和畫面更抓人或者顏色多漂亮,而是畫質(zhì)更加貼近真實,力求原樣再現(xiàn)捕捉到場景。

      鏡頭的操作方面,變焦是電動,手持鏡頭可以手動擰,伺服系統(tǒng)非常強大可以讓鏡頭在很短時間內(nèi)就完成從廣角端到長焦端的變焦操作。光圈是伺服自動或者手動擰。廣播級攝像機通常都是手動控制對焦,沒有或者不用自動對焦功能,對焦是直接擰對焦環(huán),三腳架上用的對焦把手常見是機械式的(也有電子伺服的)。

      重量方面,ENG機器加上電池大概7公斤以上,EFP機器稍微輕一些但是后面要拖電纜,流動拍攝時需要有人跟隨。

      EFP ESP攝像機大部分都自帶內(nèi)通功能,既內(nèi)部通話或叫對講,intercom。通過CCU電纜傳送,免去外接對講系統(tǒng)的需要。

      專業(yè)級攝像機和廣播級攝像機都帶Tally燈,通過CCU電纜傳送。Tally用來指示當(dāng)前攝像機處于活動狀態(tài),單機工作時表示正在錄像,多機工作時表示PGM信號當(dāng)前正在使用該攝像機,作用主要是提示攝像師和被拍攝對象。tally是導(dǎo)播和攝像師之間除內(nèi)通之外一個重要的溝通渠道。

      返送也是廣播級攝像機的常見功能,通過CCU電纜傳送。攝像師可以通過按手柄上的RET按鈕查看當(dāng)前的節(jié)目信號(節(jié)目信號不一定是自己攝像機正在拍攝的),有助于攝像師了解整體狀況。

      分割線前圖片來自Eyes of a Generation

      In essence, this is a Television history book with 5000 stories, 10,000 rare photos and hundreds of one of a kind videos.

      其他圖片來自網(wǎng)絡(luò),侵刪

      十、mahout面試題?

      之前看了Mahout官方示例 20news 的調(diào)用實現(xiàn);于是想根據(jù)示例的流程實現(xiàn)其他例子。網(wǎng)上看到了一個關(guān)于天氣適不適合打羽毛球的例子。

      訓(xùn)練數(shù)據(jù):

      Day Outlook Temperature Humidity Wind PlayTennis

      D1 Sunny Hot High Weak No

      D2 Sunny Hot High Strong No

      D3 Overcast Hot High Weak Yes

      D4 Rain Mild High Weak Yes

      D5 Rain Cool Normal Weak Yes

      D6 Rain Cool Normal Strong No

      D7 Overcast Cool Normal Strong Yes

      D8 Sunny Mild High Weak No

      D9 Sunny Cool Normal Weak Yes

      D10 Rain Mild Normal Weak Yes

      D11 Sunny Mild Normal Strong Yes

      D12 Overcast Mild High Strong Yes

      D13 Overcast Hot Normal Weak Yes

      D14 Rain Mild High Strong No

      檢測數(shù)據(jù):

      sunny,hot,high,weak

      結(jié)果:

      Yes=》 0.007039

      No=》 0.027418

      于是使用Java代碼調(diào)用Mahout的工具類實現(xiàn)分類。

      基本思想:

      1. 構(gòu)造分類數(shù)據(jù)。

      2. 使用Mahout工具類進行訓(xùn)練,得到訓(xùn)練模型。

      3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。

      4. 分類器對vector數(shù)據(jù)進行分類。

      接下來貼下我的代碼實現(xiàn)=》

      1. 構(gòu)造分類數(shù)據(jù):

      在hdfs主要創(chuàng)建一個文件夾路徑 /zhoujainfeng/playtennis/input 并將分類文件夾 no 和 yes 的數(shù)據(jù)傳到hdfs上面。

      數(shù)據(jù)文件格式,如D1文件內(nèi)容: Sunny Hot High Weak

      2. 使用Mahout工具類進行訓(xùn)練,得到訓(xùn)練模型。

      3。將要檢測數(shù)據(jù)轉(zhuǎn)換成vector數(shù)據(jù)。

      4. 分類器對vector數(shù)據(jù)進行分類。

      這三步,代碼我就一次全貼出來;主要是兩個類 PlayTennis1 和 BayesCheckData = =》

      package myTesting.bayes;

      import org.apache.hadoop.conf.Configuration;

      import org.apache.hadoop.fs.FileSystem;

      import org.apache.hadoop.fs.Path;

      import org.apache.hadoop.util.ToolRunner;

      import org.apache.mahout.classifier.naivebayes.training.TrainNaiveBayesJob;

      import org.apache.mahout.text.SequenceFilesFromDirectory;

      import org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles;

      public class PlayTennis1 {

      private static final String WORK_DIR = "hdfs://192.168.9.72:9000/zhoujianfeng/playtennis";

      /*

      * 測試代碼

      */

      public static void main(String[] args) {

      //將訓(xùn)練數(shù)據(jù)轉(zhuǎn)換成 vector數(shù)據(jù)

      makeTrainVector();

      //產(chǎn)生訓(xùn)練模型

      makeModel(false);

      //測試檢測數(shù)據(jù)

      BayesCheckData.printResult();

      }

      public static void makeCheckVector(){

      //將測試數(shù)據(jù)轉(zhuǎn)換成序列化文件

      try {

      Configuration conf = new Configuration();

      conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

      String input = WORK_DIR+Path.SEPARATOR+"testinput";

      String output = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

      Path in = new Path(input);

      Path out = new Path(output);

      FileSystem fs = FileSystem.get(conf);

      if(fs.exists(in)){

      if(fs.exists(out)){

      //boolean參數(shù)是,是否遞歸刪除的意思

      fs.delete(out, true);

      }

      SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

      String[] params = new String[]{"-i",input,"-o",output,"-ow"};

      ToolRunner.run(sffd, params);

      }

      } catch (Exception e) {

      // TODO Auto-generated catch block

      e.printStackTrace();

      System.out.println("文件序列化失?。?#34;);

      System.exit(1);

      }

      //將序列化文件轉(zhuǎn)換成向量文件

      try {

      Configuration conf = new Configuration();

      conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

      String input = WORK_DIR+Path.SEPARATOR+"tennis-test-seq";

      String output = WORK_DIR+Path.SEPARATOR+"tennis-test-vectors";

      Path in = new Path(input);

      Path out = new Path(output);

      FileSystem fs = FileSystem.get(conf);

      if(fs.exists(in)){

      if(fs.exists(out)){

      //boolean參數(shù)是,是否遞歸刪除的意思

      fs.delete(out, true);

      }

      SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

      String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

      ToolRunner.run(svfsf, params);

      }

      } catch (Exception e) {

      // TODO Auto-generated catch block

      e.printStackTrace();

      System.out.println("序列化文件轉(zhuǎn)換成向量失敗!");

      System.out.println(2);

      }

      }

      public static void makeTrainVector(){

      //將測試數(shù)據(jù)轉(zhuǎn)換成序列化文件

      try {

      Configuration conf = new Configuration();

      conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

      String input = WORK_DIR+Path.SEPARATOR+"input";

      String output = WORK_DIR+Path.SEPARATOR+"tennis-seq";

      Path in = new Path(input);

      Path out = new Path(output);

      FileSystem fs = FileSystem.get(conf);

      if(fs.exists(in)){

      if(fs.exists(out)){

      //boolean參數(shù)是,是否遞歸刪除的意思

      fs.delete(out, true);

      }

      SequenceFilesFromDirectory sffd = new SequenceFilesFromDirectory();

      String[] params = new String[]{"-i",input,"-o",output,"-ow"};

      ToolRunner.run(sffd, params);

      }

      } catch (Exception e) {

      // TODO Auto-generated catch block

      e.printStackTrace();

      System.out.println("文件序列化失敗!");

      System.exit(1);

      }

      //將序列化文件轉(zhuǎn)換成向量文件

      try {

      Configuration conf = new Configuration();

      conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

      String input = WORK_DIR+Path.SEPARATOR+"tennis-seq";

      String output = WORK_DIR+Path.SEPARATOR+"tennis-vectors";

      Path in = new Path(input);

      Path out = new Path(output);

      FileSystem fs = FileSystem.get(conf);

      if(fs.exists(in)){

      if(fs.exists(out)){

      //boolean參數(shù)是,是否遞歸刪除的意思

      fs.delete(out, true);

      }

      SparseVectorsFromSequenceFiles svfsf = new SparseVectorsFromSequenceFiles();

      String[] params = new String[]{"-i",input,"-o",output,"-lnorm","-nv","-wt","tfidf"};

      ToolRunner.run(svfsf, params);

      }

      } catch (Exception e) {

      // TODO Auto-generated catch block

      e.printStackTrace();

      System.out.println("序列化文件轉(zhuǎn)換成向量失?。?#34;);

      System.out.println(2);

      }

      }

      public static void makeModel(boolean completelyNB){

      try {

      Configuration conf = new Configuration();

      conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

      String input = WORK_DIR+Path.SEPARATOR+"tennis-vectors"+Path.SEPARATOR+"tfidf-vectors";

      String model = WORK_DIR+Path.SEPARATOR+"model";

      String labelindex = WORK_DIR+Path.SEPARATOR+"labelindex";

      Path in = new Path(input);

      Path out = new Path(model);

      Path label = new Path(labelindex);

      FileSystem fs = FileSystem.get(conf);

      if(fs.exists(in)){

      if(fs.exists(out)){

      //boolean參數(shù)是,是否遞歸刪除的意思

      fs.delete(out, true);

      }

      if(fs.exists(label)){

      //boolean參數(shù)是,是否遞歸刪除的意思

      fs.delete(label, true);

      }

      TrainNaiveBayesJob tnbj = new TrainNaiveBayesJob();

      String[] params =null;

      if(completelyNB){

      params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow","-c"};

      }else{

      params = new String[]{"-i",input,"-el","-o",model,"-li",labelindex,"-ow"};

      }

      ToolRunner.run(tnbj, params);

      }

      } catch (Exception e) {

      // TODO Auto-generated catch block

      e.printStackTrace();

      System.out.println("生成訓(xùn)練模型失?。?#34;);

      System.exit(3);

      }

      }

      }

      package myTesting.bayes;

      import java.io.IOException;

      import java.util.HashMap;

      import java.util.Map;

      import org.apache.commons.lang.StringUtils;

      import org.apache.hadoop.conf.Configuration;

      import org.apache.hadoop.fs.Path;

      import org.apache.hadoop.fs.PathFilter;

      import org.apache.hadoop.io.IntWritable;

      import org.apache.hadoop.io.LongWritable;

      import org.apache.hadoop.io.Text;

      import org.apache.mahout.classifier.naivebayes.BayesUtils;

      import org.apache.mahout.classifier.naivebayes.NaiveBayesModel;

      import org.apache.mahout.classifier.naivebayes.StandardNaiveBayesClassifier;

      import org.apache.mahout.common.Pair;

      import org.apache.mahout.common.iterator.sequencefile.PathType;

      import org.apache.mahout.common.iterator.sequencefile.SequenceFileDirIterable;

      import org.apache.mahout.math.RandomAccessSparseVector;

      import org.apache.mahout.math.Vector;

      import org.apache.mahout.math.Vector.Element;

      import org.apache.mahout.vectorizer.TFIDF;

      import com.google.common.collect.ConcurrentHashMultiset;

      import com.google.common.collect.Multiset;

      public class BayesCheckData {

      private static StandardNaiveBayesClassifier classifier;

      private static Map<String, Integer> dictionary;

      private static Map<Integer, Long> documentFrequency;

      private static Map<Integer, String> labelIndex;

      public void init(Configuration conf){

      try {

      String modelPath = "/zhoujianfeng/playtennis/model";

      String dictionaryPath = "/zhoujianfeng/playtennis/tennis-vectors/dictionary.file-0";

      String documentFrequencyPath = "/zhoujianfeng/playtennis/tennis-vectors/df-count";

      String labelIndexPath = "/zhoujianfeng/playtennis/labelindex";

      dictionary = readDictionnary(conf, new Path(dictionaryPath));

      documentFrequency = readDocumentFrequency(conf, new Path(documentFrequencyPath));

      labelIndex = BayesUtils.readLabelIndex(conf, new Path(labelIndexPath));

      NaiveBayesModel model = NaiveBayesModel.materialize(new Path(modelPath), conf);

      classifier = new StandardNaiveBayesClassifier(model);

      } catch (IOException e) {

      // TODO Auto-generated catch block

      e.printStackTrace();

      System.out.println("檢測數(shù)據(jù)構(gòu)造成vectors初始化時報錯。。。。");

      System.exit(4);

      }

      }

      /**

      * 加載字典文件,Key: TermValue; Value:TermID

      * @param conf

      * @param dictionnaryDir

      * @return

      */

      private static Map<String, Integer> readDictionnary(Configuration conf, Path dictionnaryDir) {

      Map<String, Integer> dictionnary = new HashMap<String, Integer>();

      PathFilter filter = new PathFilter() {

      @Override

      public boolean accept(Path path) {

      String name = path.getName();

      return name.startsWith("dictionary.file");

      }

      };

      for (Pair<Text, IntWritable> pair : new SequenceFileDirIterable<Text, IntWritable>(dictionnaryDir, PathType.LIST, filter, conf)) {

      dictionnary.put(pair.getFirst().toString(), pair.getSecond().get());

      }

      return dictionnary;

      }

      /**

      * 加載df-count目錄下TermDoc頻率文件,Key: TermID; Value:DocFreq

      * @param conf

      * @param dictionnaryDir

      * @return

      */

      private static Map<Integer, Long> readDocumentFrequency(Configuration conf, Path documentFrequencyDir) {

      Map<Integer, Long> documentFrequency = new HashMap<Integer, Long>();

      PathFilter filter = new PathFilter() {

      @Override

      public boolean accept(Path path) {

      return path.getName().startsWith("part-r");

      }

      };

      for (Pair<IntWritable, LongWritable> pair : new SequenceFileDirIterable<IntWritable, LongWritable>(documentFrequencyDir, PathType.LIST, filter, conf)) {

      documentFrequency.put(pair.getFirst().get(), pair.getSecond().get());

      }

      return documentFrequency;

      }

      public static String getCheckResult(){

      Configuration conf = new Configuration();

      conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml"));

      String classify = "NaN";

      BayesCheckData cdv = new BayesCheckData();

      cdv.init(conf);

      System.out.println("init done...............");

      Vector vector = new RandomAccessSparseVector(10000);

      TFIDF tfidf = new TFIDF();

      //sunny,hot,high,weak

      Multiset<String> words = ConcurrentHashMultiset.create();

      words.add("sunny",1);

      words.add("hot",1);

      words.add("high",1);

      words.add("weak",1);

      int documentCount = documentFrequency.get(-1).intValue(); // key=-1時表示總文檔數(shù)

      for (Multiset.Entry<String> entry : words.entrySet()) {

      String word = entry.getElement();

      int count = entry.getCount();

      Integer wordId = dictionary.get(word); // 需要從dictionary.file-0文件(tf-vector)下得到wordID,

      if (StringUtils.isEmpty(wordId.toString())){

      continue;

      }

      if (documentFrequency.get(wordId) == null){

      continue;

      }

      Long freq = documentFrequency.get(wordId);

      double tfIdfValue = tfidf.calculate(count, freq.intValue(), 1, documentCount);

      vector.setQuick(wordId, tfIdfValue);

      }

      // 利用貝葉斯算法開始分類,并提取得分最好的分類label

      Vector resultVector = classifier.classifyFull(vector);

      double bestScore = -Double.MAX_VALUE;

      int bestCategoryId = -1;

      for(Element element: resultVector.all()) {

      int categoryId = element.index();

      double score = element.get();

      System.out.println("categoryId:"+categoryId+" score:"+score);

      if (score > bestScore) {

      bestScore = score;

      bestCategoryId = categoryId;

      }

      }

      classify = labelIndex.get(bestCategoryId)+"(categoryId="+bestCategoryId+")";

      return classify;

      }

      public static void printResult(){

      System.out.println("檢測所屬類別是:"+getCheckResult());

      }

      }

      相關(guān)資訊
      熱門頻道

      Copyright © 2024 招聘街 滇ICP備2024020316號-38

      国内精品久久久久_亚洲区手机在线中文无码播放_国内精品久久久久影院一蜜桃_日韩内射激情视频在线播放免费

        河东区| 高邑县| 瑞丽市| 岢岚县| 赤峰市| 黄龙县| 龙游县| 旌德县| 富阳市| 宁海县| 福建省| 阳新县| 洛南县| 孝昌县| 大埔区| 漳浦县| 昭苏县| 保山市| 麟游县| 米泉市| 靖江市| 都昌县| 胶州市| 齐齐哈尔市| 本溪| 安顺市| 肃南| 延安市| 建始县| 乐平市| 玛多县| 乌鲁木齐县| 新津县| 克拉玛依市| 盖州市| 自治县| 青海省| 东乡| 康马县| 昌都县| 个旧市|