久久精品日韩无码|61伊人久久绿帽|最新国产浮力网站|亚州aV无码国产|明星一二三区av|超碰人人在线成人|澳门无码福利av

搜狗號(hào)碼通能打電話嗎?

時(shí)間:2024-12-10 12:53 人氣:0 編輯:招聘街

一、搜狗號(hào)碼通能打電話嗎?

1.不能打電話,不用花錢(qián)。類(lèi)似于一個(gè)來(lái)電防火墻。

2.搜狗號(hào)碼通是“搜狗”旗下一款廣受人們?nèi)罕娤矏?ài)的專(zhuān)業(yè)級(jí)號(hào)碼工具類(lèi)軟件,用不到可以刪除,不會(huì)影響系統(tǒng)運(yùn)行。

3.它讓溝通更快更聰明,首創(chuàng)對(duì)騷擾號(hào)碼用戶進(jìn)行分類(lèi)“標(biāo)記”,陌生來(lái)電自動(dòng)識(shí)別,機(jī)構(gòu)來(lái)源可靠認(rèn)證;它讓預(yù)約更輕更快捷,“超級(jí)電話本”功能目前已經(jīng)成為用戶衣食住行的“生活助手”;它的攔截更準(zhǔn)更安全,讓詐騙,中介,推銷(xiāo)等騷擾號(hào)碼和垃圾短信無(wú)處遁形。

二、媒體記者電話面試題

新媒體記者電話面試題

媒體行業(yè)一直是一個(gè)極具競(jìng)爭(zhēng)性的領(lǐng)域,而成為一名優(yōu)秀的新媒體記者更是需要具備專(zhuān)業(yè)的技能和素養(yǎng)。當(dāng)您參加新媒體記者電話面試時(shí),可能會(huì)遇到各種各樣的問(wèn)題。下面是一些常見(jiàn)的新媒體記者電話面試題供您參考:

即刻反應(yīng):

1. 您認(rèn)為在快節(jié)奏的新聞行業(yè)中,即刻反應(yīng)的能力有多重要?您是如何處理突發(fā)新聞事件和緊急報(bào)道的?

創(chuàng)作能力:

2. 請(qǐng)分享一次您覺(jué)得自豪的新聞報(bào)道經(jīng)歷,并闡述您在創(chuàng)作過(guò)程中的思考和技巧。

挖掘新聞價(jià)值:

3. 您如何發(fā)現(xiàn)并確定一個(gè)新聞事件的價(jià)值?在進(jìn)行獨(dú)立報(bào)道時(shí),您通常會(huì)進(jìn)行怎樣的調(diào)查和研究?

溝通與團(tuán)隊(duì)協(xié)作:4. 在團(tuán)隊(duì)合作中,您是如何與其他記者、編輯以及其他部門(mén)進(jìn)行高效溝通的?是否有協(xié)作經(jīng)驗(yàn)令您難忘的事例?

新媒體技術(shù)應(yīng)用:

5. 您對(duì)當(dāng)前新媒體技術(shù)的發(fā)展有哪些看法?您在新媒體報(bào)道中常用的工具和平臺(tái)有哪些?

創(chuàng)新與突破:

6. 請(qǐng)分享一次您在新聞報(bào)道中進(jìn)行創(chuàng)新和突破的經(jīng)歷,這種改變帶來(lái)了怎樣的影響和成就感?

嚴(yán)謹(jǐn)與真實(shí)性:

7. 您在報(bào)道中如何保持信息的準(zhǔn)確性和真實(shí)性?是否遇到過(guò)挑戰(zhàn)或誤解,您是如何應(yīng)對(duì)的?

職業(yè)規(guī)劃與目標(biāo):

8. 您對(duì)自己未來(lái)在新聞行業(yè)的職業(yè)規(guī)劃是怎樣的?您希望未來(lái)在什么方面取得突破和進(jìn)步?

以上問(wèn)題旨在幫助面試官更全面地了解您作為一名新媒體記者的能力和潛力。精心準(zhǔn)備這些問(wèn)題的答案,展現(xiàn)出您的專(zhuān)業(yè)知識(shí)、同理心和溝通技巧,將有助于讓您在新媒體記者電話面試中脫穎而出。

祝您面試順利,早日實(shí)現(xiàn)新媒體記者的夢(mèng)想!

三、搜狗輸入法怎么開(kāi)啟電話【權(quán)限?!浚?/h2>

進(jìn)入設(shè)置選應(yīng)用權(quán)限,選搜狗輸入法,里面有各種權(quán)限可以選擇開(kāi)啟關(guān)閉。

四、媒體記者電話面試題目

媒體記者電話面試題目

介紹

當(dāng)您在尋求媒體記者職位時(shí),可能會(huì)遇到電話面試這一關(guān)。電話面試是招聘過(guò)程中非常重要的一步,它可以幫助雇主更好地了解您的能力、背景和動(dòng)機(jī)。為了幫助您順利通過(guò)媒體記者電話面試,本文將介紹一些常見(jiàn)的題目和答題技巧。

面試題目

在媒體記者電話面試中,面試官可能會(huì)問(wèn)及以下問(wèn)題:

  • 1. 請(qǐng)介紹一下您的專(zhuān)業(yè)背景和工作經(jīng)驗(yàn)。
  • 2. 您是如何獲取新聞線索和進(jìn)行調(diào)查報(bào)道的?
  • 3. 如何看待當(dāng)今媒體行業(yè)的挑戰(zhàn)和機(jī)遇?
  • 4. 請(qǐng)分享您最引以為傲的新聞報(bào)道經(jīng)歷。
  • 5. 在處理新聞事件時(shí),您是如何確保報(bào)道的客觀性和真實(shí)性的?
  • 6. 您認(rèn)為一個(gè)成功的媒體記者應(yīng)具備哪些素質(zhì)?
  • 7. 如何應(yīng)對(duì)新聞報(bào)道中的道德困境?
  • 8. 請(qǐng)描述一次您與團(tuán)隊(duì)合作完成新聞報(bào)道的經(jīng)歷。
  • 9. 您對(duì)媒體未來(lái)發(fā)展有哪些看法和預(yù)測(cè)?
  • 10. 您是如何處理壓力和工作中的挑戰(zhàn)的?

答題技巧

在回答以上問(wèn)題時(shí),有一些技巧和注意事項(xiàng)可能會(huì)幫助您順利通過(guò)媒體記者電話面試:

  • 1. 準(zhǔn)備充分:提前準(zhǔn)備回答常見(jiàn)問(wèn)題,確保對(duì)自己的工作經(jīng)驗(yàn)和能力有清晰的認(rèn)識(shí)。
  • 2. 結(jié)構(gòu)清晰:回答問(wèn)題時(shí)要有邏輯性,清晰地表達(dá)自己的觀點(diǎn)和經(jīng)歷。
  • 3. 舉例說(shuō)明:在描述經(jīng)歷時(shí),可以適當(dāng)舉例說(shuō)明,讓回答更具體生動(dòng)。
  • 4. 誠(chéng)實(shí)坦誠(chéng):回答問(wèn)題要誠(chéng)實(shí),不需要刻意說(shuō)好聽(tīng)的話,展示真實(shí)的自我。
  • 5. 自信表達(dá):表達(dá)時(shí)要保持自信,展現(xiàn)出您對(duì)媒體行業(yè)的熱愛(ài)和專(zhuān)業(yè)素養(yǎng)。
  • 6. 發(fā)問(wèn)機(jī)會(huì):在面試結(jié)束前,可以提問(wèn)面試官關(guān)于工作內(nèi)容、團(tuán)隊(duì)氛圍等方面的問(wèn)題。

總結(jié)

媒體記者電話面試是展示自己能力和素質(zhì)的重要機(jī)會(huì),通過(guò)充分準(zhǔn)備和自信表達(dá),您可以給面試官留下深刻的印象。希望本文介紹的面試題目和答題技巧能幫助您在媒體記者電話面試中取得成功,順利邁向理想職業(yè)道路。

五、搜狗薰衣草

搜狗薰衣草:睡眠和放松的絕佳良草

搜狗薰衣草,也被稱(chēng)為法國(guó)薰衣草或廣藿香,是一種被廣泛用于改善睡眠和放松身心的草本植物。它的美麗花朵和令人陶醉的香氣吸引著無(wú)數(shù)的人們。除了它的美麗外表,搜狗薰衣草還有許多令人驚嘆的益處。

1. 促進(jìn)睡眠

研究表明,搜狗薰衣草具有鎮(zhèn)靜和放松的作用,能夠幫助改善睡眠質(zhì)量。它能夠減輕焦慮和壓力,改善睡眠障礙,讓您享受更好的睡眠。搜狗薰衣草可通過(guò)它的芳香氣味和接觸皮膚而發(fā)揮作用,您可以將其置于枕頭下方,或使用薰衣草精油進(jìn)行按摩。

2. 緩解壓力和焦慮

現(xiàn)代生活中,我們常常面臨壓力和焦慮。搜狗薰衣草被認(rèn)為是一種自然的抗焦慮劑,能夠緩解緊張情緒,提高心理健康。研究發(fā)現(xiàn),搜狗薰衣草能夠降低神經(jīng)系統(tǒng)的興奮性,減輕焦慮癥狀,幫助人們保持平靜和放松。

3. 提升心情

搜狗薰衣草的香氣被認(rèn)為具有抗抑郁的效果,能夠提升心情,減輕情緒波動(dòng)。它能夠促進(jìn)生理上的放松并改善睡眠質(zhì)量,從而改善精神狀態(tài)。將幾滴搜狗薰衣草精油添加到溫水中,泡澡時(shí)享受它的芳香,可以幫助您放松身心,減輕壓力。

4. 護(hù)膚與美容

除了對(duì)心理健康的益處外,搜狗薰衣草還對(duì)皮膚具有積極的影響。它被廣泛用于護(hù)膚和美容產(chǎn)品中,因?yàn)槠渚哂锌寡缀涂寡趸奶匦?。搜狗薰衣草可以減少皮膚炎癥,舒緩敏感肌膚,促進(jìn)傷口愈合,并使皮膚保持年輕和健康。

5. 驅(qū)蟲(chóng)效果

搜狗薰衣草的香氣對(duì)許多昆蟲(chóng)具有驅(qū)趕作用。它被廣泛應(yīng)用于天然驅(qū)蟲(chóng)和防蚊產(chǎn)品中。您可以在夏季露營(yíng)或戶外活動(dòng)中使用搜狗薰衣草精油來(lái)保護(hù)自己免受蚊蟲(chóng)叮咬的困擾。

結(jié)論

搜狗薰衣草是一種美麗的草本植物,擁有眾多的益處。它能夠改善睡眠質(zhì)量、減輕壓力和焦慮、提升心情、護(hù)膚與美容,并具有驅(qū)蟲(chóng)效果。搜狗薰衣草的使用方式多種多樣,您可以將其置于枕頭下方、按摩薰衣草精油,或使用護(hù)膚和美容產(chǎn)品。無(wú)論是在家中還是戶外,搜狗薰衣草都是您獲得放松和享受的完美選擇。

六、搜狗 智能

搜狗智能:中文搜索引擎的最新發(fā)展

近年來(lái),搜狗公司在智能搜索領(lǐng)域取得了巨大突破,推動(dòng)了中文搜索引擎技術(shù)的進(jìn)步。在人工智能和大數(shù)據(jù)技術(shù)的支持下,搜狗智能搜索不斷優(yōu)化用戶體驗(yàn),為用戶提供更加精準(zhǔn)、便捷的搜索服務(wù)。

智能搜索技術(shù)的核心

搜狗智能搜索的核心技術(shù)包括自然語(yǔ)言處理、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)。通過(guò)不斷優(yōu)化算法,智能搜索能夠理解用戶的搜索意圖,提供與用戶需求最匹配的搜索結(jié)果。此外,搜狗還利用大數(shù)據(jù)分析用戶行為,進(jìn)一步提升搜索結(jié)果的質(zhì)量和準(zhǔn)確性。

智能搜索的應(yīng)用場(chǎng)景

智能搜索技術(shù)已經(jīng)在多個(gè)領(lǐng)域得到應(yīng)用,例如語(yǔ)音搜索、圖像識(shí)別和自然語(yǔ)言交互。通過(guò)與智能設(shè)備的結(jié)合,搜狗智能搜索實(shí)現(xiàn)了更加智能化的搜索體驗(yàn),越來(lái)越多的用戶選擇使用智能搜索來(lái)獲取信息。

智能搜索的優(yōu)勢(shì)

與傳統(tǒng)搜索引擎相比,智能搜索具有更高的智能化程度和個(gè)性化定制能力。通過(guò)分析用戶的行為和偏好,智能搜索能夠?yàn)橛脩籼峁└觽€(gè)性化的搜索結(jié)果,節(jié)約用戶的時(shí)間和精力。

智能搜索的未來(lái)發(fā)展

隨著人工智能技術(shù)的不斷發(fā)展,智能搜索在未來(lái)將會(huì)實(shí)現(xiàn)更加智能化和智能化的發(fā)展。搜狗作為智能搜索領(lǐng)域的領(lǐng)導(dǎo)者,將繼續(xù)投入更多的資源和精力,推動(dòng)智能搜索技術(shù)向前發(fā)展。

總的來(lái)說(shuō),搜狗智能搜索作為中文搜索引擎的先行者,不僅提升了用戶的搜索體驗(yàn),還為中文搜索引擎的發(fā)展樹(shù)立了典范。在未來(lái)的發(fā)展中,搜狗還將不斷創(chuàng)新,推動(dòng)智能搜索技術(shù)的更加廣泛應(yīng)用。

七、分析搜狗

今天我們將分析搜狗,這是中國(guó)最著名的互聯(lián)網(wǎng)公司之一。搜狗成立于2004年,總部位于北京。作為一家知名的搜索引擎提供商,搜狗在搜索技術(shù)和人工智能領(lǐng)域取得了顯著的成就。讓我們深入了解搜狗的起源、產(chǎn)品和未來(lái)發(fā)展。

搜狗的起源

搜狗是由王小川于2003年創(chuàng)辦的。王小川是中國(guó)計(jì)算機(jī)界的知名人物,曾任中國(guó)科學(xué)院計(jì)算技術(shù)研究所副研究員。他帶領(lǐng)團(tuán)隊(duì)創(chuàng)造了搜狗這一搜索引擎,引起了廣泛的關(guān)注。

搜狗最初目標(biāo)是提供一種聰明、高效的搜索方式,為用戶提供更精準(zhǔn)的搜索結(jié)果。搜狗以其獨(dú)特的中文搜索技術(shù)和語(yǔ)義分析能力迅速脫穎而出,成為中國(guó)用戶最喜愛(ài)的搜索引擎之一。

搜狗的產(chǎn)品和服務(wù)

除了搜索引擎,搜狗還開(kāi)發(fā)和推出了一系列廣受歡迎的產(chǎn)品和服務(wù)。其中包括:

  • 搜狗輸入法:搜狗輸入法是中國(guó)最受歡迎的輸入法之一。它具有智能糾錯(cuò)、詞庫(kù)擴(kuò)展和個(gè)性化定制等功能,為用戶提供更好的輸入體驗(yàn)。
  • 搜狗瀏覽器:搜狗瀏覽器是一款以速度和安全性為特點(diǎn)的瀏覽器。它提供快速的網(wǎng)頁(yè)加載速度和強(qiáng)大的廣告攔截功能。
  • 搜狗翻譯:搜狗翻譯是一款方便實(shí)用的在線翻譯工具。它支持中英文互譯以及多種其他語(yǔ)言的翻譯。
  • 搜狗輸入法手機(jī)版:搜狗輸入法手機(jī)版在移動(dòng)設(shè)備上延續(xù)了搜狗輸入法的優(yōu)勢(shì)。它為用戶提供更快速、更智能的輸入體驗(yàn)。

通過(guò)這些產(chǎn)品和服務(wù),搜狗滿足了用戶在搜索、輸入和翻譯方面的需求,成為中國(guó)互聯(lián)網(wǎng)行業(yè)的重要參與者。

搜狗的搜索技術(shù)和人工智能

搜狗在搜索技術(shù)和人工智能領(lǐng)域一直保持領(lǐng)先地位。其擁有強(qiáng)大的中文語(yǔ)義分析技術(shù),能夠根據(jù)用戶的搜索意圖提供更準(zhǔn)確的搜索結(jié)果。

搜狗搜索還廣泛應(yīng)用了大數(shù)據(jù)和機(jī)器學(xué)習(xí)技術(shù)。通過(guò)分析海量的用戶數(shù)據(jù)和網(wǎng)頁(yè)內(nèi)容,搜狗能夠不斷改進(jìn)其搜索算法,提供更好的搜索體驗(yàn)。

搜狗還在人工智能領(lǐng)域做出了重要貢獻(xiàn)。他們開(kāi)發(fā)了智能對(duì)話機(jī)器人,并將其應(yīng)用于各種場(chǎng)景,如智能客服和智能助手。

搜狗的未來(lái)發(fā)展

搜狗作為中國(guó)互聯(lián)網(wǎng)行業(yè)的巨頭,其未來(lái)發(fā)展仍然充滿著巨大的潛力和機(jī)遇。

首先,搜狗將繼續(xù)加強(qiáng)其搜索技術(shù)和人工智能能力。他們將不斷改進(jìn)搜索算法,提供更準(zhǔn)確、個(gè)性化的搜索結(jié)果。同時(shí),搜狗還將繼續(xù)推動(dòng)人工智能技術(shù)的創(chuàng)新和應(yīng)用,為用戶提供更智能化的產(chǎn)品和服務(wù)。

其次,搜狗將繼續(xù)擴(kuò)大其產(chǎn)品和服務(wù)的覆蓋范圍。他們將進(jìn)一步完善搜狗輸入法、搜狗瀏覽器和搜狗翻譯等產(chǎn)品,滿足用戶在不同場(chǎng)景下的需求。同時(shí),他們還將加強(qiáng)移動(dòng)互聯(lián)網(wǎng)領(lǐng)域的布局,開(kāi)發(fā)更多適用于手機(jī)和平板電腦的產(chǎn)品。

最后,搜狗將繼續(xù)加強(qiáng)與合作伙伴的合作,拓展業(yè)務(wù)和市場(chǎng)。他們將與其他互聯(lián)網(wǎng)公司、內(nèi)容提供商和手機(jī)廠商等合作,共同推動(dòng)中國(guó)互聯(lián)網(wǎng)行業(yè)的發(fā)展。

總之,搜狗作為中國(guó)互聯(lián)網(wǎng)行業(yè)的領(lǐng)軍企業(yè),憑借其先進(jìn)的搜索技術(shù)和人工智能能力,以及出色的產(chǎn)品和服務(wù),勢(shì)必在未來(lái)取得更大的成就。

八、centos 搜狗

CentOS是一種流行的Linux發(fā)行版,廣泛用于服務(wù)器和個(gè)人電腦。它是一款免費(fèi)的操作系統(tǒng),由社區(qū)支持,并提供穩(wěn)定可靠的性能。對(duì)于許多用戶來(lái)說(shuō),CentOS是他們首選的操作系統(tǒng)之一。

什么是CentOS?

CentOS是基于Red Hat Enterprise Linux(RHEL)源代碼構(gòu)建的企業(yè)級(jí)操作系統(tǒng)。它的名稱(chēng)來(lái)自于“Community ENTerprise Operating System”的縮寫(xiě)。CentOS專(zhuān)注于提供穩(wěn)定、安全且可靠的操作系統(tǒng),以滿足企業(yè)和個(gè)人用戶的需求。

與許多其他Linux發(fā)行版相比,CentOS的一個(gè)顯著特點(diǎn)是其長(zhǎng)期支持(LTS)版本。這意味著用戶可以放心地依賴(lài)CentOS提供的長(zhǎng)期維護(hù)和更新,而無(wú)需擔(dān)心頻繁的系統(tǒng)更改或版本升級(jí)。

CentOS的優(yōu)點(diǎn)

作為一種流行的Linux發(fā)行版,CentOS擁有許多優(yōu)點(diǎn),使其成為許多用戶的首選。以下是一些CentOS的主要優(yōu)點(diǎn):

  • 穩(wěn)定性: CentOS以其穩(wěn)定性而聞名。由于其基于RHEL源代碼,CentOS受益于紅帽公司廣泛的測(cè)試和驗(yàn)證過(guò)程,確保系統(tǒng)的穩(wěn)定性和可靠性。
  • 安全性: CentOS提供了強(qiáng)大的安全性功能,包括持續(xù)的安全更新和漏洞修復(fù)。這使得CentOS成為許多企業(yè)和組織的首選,尤其是對(duì)于需要安全性能和保護(hù)機(jī)制的用戶。
  • 社區(qū)支持: CentOS得到了一個(gè)活躍的用戶社區(qū)的支持。用戶可以在社區(qū)論壇和郵件列表中獲取幫助、交流經(jīng)驗(yàn)和解決問(wèn)題,使其在使用和維護(hù)CentOS系統(tǒng)時(shí)更加便利。

CentOS和搜狗的關(guān)系

雖然CentOS是一種主要用于服務(wù)器的操作系統(tǒng),但用戶可以根據(jù)自己的需求進(jìn)行定制和配置,使其適用于各種用途,包括桌面工作站和開(kāi)發(fā)環(huán)境。在一些特定場(chǎng)景中,用戶可能需要安裝和使用某些中國(guó)特定的應(yīng)用程序或服務(wù),如搜狗輸入法。

搜狗輸入法是一款廣受用戶喜愛(ài)的輸入法工具,具有強(qiáng)大的中文輸入功能和智能糾錯(cuò)能力,為用戶提供了更加便捷和高效的輸入體驗(yàn)。許多用戶習(xí)慣于在其Linux系統(tǒng)上安裝和使用搜狗輸入法,以滿足其中文輸入需求。

與CentOS兼容的搜狗輸入法版本可供用戶下載和安裝,使用戶能夠在CentOS系統(tǒng)上享受到搜狗輸入法提供的便利和功能。在安裝搜狗輸入法時(shí),用戶需要確保與CentOS系統(tǒng)的兼容性,并遵循正確的安裝步驟,以確保輸入法可以正常工作并集成到系統(tǒng)中。

結(jié)論

CentOS作為一種流行的Linux發(fā)行版,提供了穩(wěn)定、安全且可靠的操作系統(tǒng)環(huán)境,滿足了用戶的各種需求。與之兼容的諸多應(yīng)用程序和服務(wù),如搜狗輸入法,使用戶能夠在CentOS系統(tǒng)上獲得更加豐富和完善的體驗(yàn)。無(wú)論是作為服務(wù)器操作系統(tǒng)還是個(gè)人電腦的操作系統(tǒng),CentOS都展現(xiàn)了其在性能、穩(wěn)定性和可靠性方面的優(yōu)勢(shì),為用戶提供了優(yōu)質(zhì)的使用體驗(yàn)。

九、搜狗糖貓兒童電話手表的防水性好不好?

搜狗糖貓兒童電話手表的防水性很好!已經(jīng)通過(guò)國(guó)際上較為權(quán)威的防塵防水等級(jí)IP64測(cè)試,如果在雨天或者洗手時(shí)佩戴是沒(méi)有問(wèn)題!

十、mahout面試題?

之前看了Mahout官方示例 20news 的調(diào)用實(shí)現(xiàn);于是想根據(jù)示例的流程實(shí)現(xiàn)其他例子。網(wǎng)上看到了一個(gè)關(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

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

sunny,hot,high,weak

結(jié)果:

Yes=》 0.007039

No=》 0.027418

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

基本思想:

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

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

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

4. 分類(lèi)器對(duì)vector數(shù)據(jù)進(jìn)行分類(lèi)。

接下來(lái)貼下我的代碼實(shí)現(xiàn)=》

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

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

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

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

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

4. 分類(lèi)器對(duì)vector數(shù)據(jù)進(jìn)行分類(lèi)。

這三步,代碼我就一次全貼出來(lái);主要是兩個(gè)類(lèi) 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";

/*

* 測(cè)試代碼

*/

public static void main(String[] args) {

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

makeTrainVector();

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

makeModel(false);

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

BayesCheckData.printResult();

}

public static void makeCheckVector(){

//將測(cè)試數(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(){

//將測(cè)試數(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)換成向量失??!");

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("檢測(cè)數(shù)據(jù)構(gòu)造成vectors初始化時(shí)報(bào)錯(cuò)。。。。");

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í)表示總文檔數(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);

}

// 利用貝葉斯算法開(kāi)始分類(lèi),并提取得分最好的分類(lèi)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("檢測(cè)所屬類(lèi)別是:"+getCheckResult());

}

}

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

Copyright © 2024 招聘街 滇ICP備2024020316號(hào)-38