1.不能打電話,不用花錢。類似于一個來電防火墻。
2.搜狗號碼通是“搜狗”旗下一款廣受人們?nèi)罕娤矏鄣膶I(yè)級號碼工具類軟件,用不到可以刪除,不會影響系統(tǒng)運行。
3.它讓溝通更快更聰明,首創(chuàng)對騷擾號碼用戶進行分類“標記”,陌生來電自動識別,機構來源可靠認證;它讓預約更輕更快捷,“超級電話本”功能目前已經(jīng)成為用戶衣食住行的“生活助手”;它的攔截更準更安全,讓詐騙,中介,推銷等騷擾號碼和垃圾短信無處遁形。
媒體行業(yè)一直是一個極具競爭性的領域,而成為一名優(yōu)秀的新媒體記者更是需要具備專業(yè)的技能和素養(yǎng)。當您參加新媒體記者電話面試時,可能會遇到各種各樣的問題。下面是一些常見的新媒體記者電話面試題供您參考:
1. 您認為在快節(jié)奏的新聞行業(yè)中,即刻反應的能力有多重要?您是如何處理突發(fā)新聞事件和緊急報道的?
2. 請分享一次您覺得自豪的新聞報道經(jīng)歷,并闡述您在創(chuàng)作過程中的思考和技巧。
3. 您如何發(fā)現(xiàn)并確定一個新聞事件的價值?在進行獨立報道時,您通常會進行怎樣的調(diào)查和研究?
5. 您對當前新媒體技術的發(fā)展有哪些看法?您在新媒體報道中常用的工具和平臺有哪些?
6. 請分享一次您在新聞報道中進行創(chuàng)新和突破的經(jīng)歷,這種改變帶來了怎樣的影響和成就感?
7. 您在報道中如何保持信息的準確性和真實性?是否遇到過挑戰(zhàn)或誤解,您是如何應對的?
8. 您對自己未來在新聞行業(yè)的職業(yè)規(guī)劃是怎樣的?您希望未來在什么方面取得突破和進步?
以上問題旨在幫助面試官更全面地了解您作為一名新媒體記者的能力和潛力。精心準備這些問題的答案,展現(xiàn)出您的專業(yè)知識、同理心和溝通技巧,將有助于讓您在新媒體記者電話面試中脫穎而出。
祝您面試順利,早日實現(xiàn)新媒體記者的夢想!
進入設置選應用權限,選搜狗輸入法,里面有各種權限可以選擇開啟關閉。
媒體記者電話面試題目
當您在尋求媒體記者職位時,可能會遇到電話面試這一關。電話面試是招聘過程中非常重要的一步,它可以幫助雇主更好地了解您的能力、背景和動機。為了幫助您順利通過媒體記者電話面試,本文將介紹一些常見的題目和答題技巧。
在媒體記者電話面試中,面試官可能會問及以下問題:
在回答以上問題時,有一些技巧和注意事項可能會幫助您順利通過媒體記者電話面試:
媒體記者電話面試是展示自己能力和素質(zhì)的重要機會,通過充分準備和自信表達,您可以給面試官留下深刻的印象。希望本文介紹的面試題目和答題技巧能幫助您在媒體記者電話面試中取得成功,順利邁向理想職業(yè)道路。
搜狗薰衣草,也被稱為法國薰衣草或廣藿香,是一種被廣泛用于改善睡眠和放松身心的草本植物。它的美麗花朵和令人陶醉的香氣吸引著無數(shù)的人們。除了它的美麗外表,搜狗薰衣草還有許多令人驚嘆的益處。
研究表明,搜狗薰衣草具有鎮(zhèn)靜和放松的作用,能夠幫助改善睡眠質(zhì)量。它能夠減輕焦慮和壓力,改善睡眠障礙,讓您享受更好的睡眠。搜狗薰衣草可通過它的芳香氣味和接觸皮膚而發(fā)揮作用,您可以將其置于枕頭下方,或使用薰衣草精油進行按摩。
現(xiàn)代生活中,我們常常面臨壓力和焦慮。搜狗薰衣草被認為是一種自然的抗焦慮劑,能夠緩解緊張情緒,提高心理健康。研究發(fā)現(xiàn),搜狗薰衣草能夠降低神經(jīng)系統(tǒng)的興奮性,減輕焦慮癥狀,幫助人們保持平靜和放松。
搜狗薰衣草的香氣被認為具有抗抑郁的效果,能夠提升心情,減輕情緒波動。它能夠促進生理上的放松并改善睡眠質(zhì)量,從而改善精神狀態(tài)。將幾滴搜狗薰衣草精油添加到溫水中,泡澡時享受它的芳香,可以幫助您放松身心,減輕壓力。
除了對心理健康的益處外,搜狗薰衣草還對皮膚具有積極的影響。它被廣泛用于護膚和美容產(chǎn)品中,因為其具有抗炎和抗氧化的特性。搜狗薰衣草可以減少皮膚炎癥,舒緩敏感肌膚,促進傷口愈合,并使皮膚保持年輕和健康。
搜狗薰衣草的香氣對許多昆蟲具有驅(qū)趕作用。它被廣泛應用于天然驅(qū)蟲和防蚊產(chǎn)品中。您可以在夏季露營或戶外活動中使用搜狗薰衣草精油來保護自己免受蚊蟲叮咬的困擾。
搜狗薰衣草是一種美麗的草本植物,擁有眾多的益處。它能夠改善睡眠質(zhì)量、減輕壓力和焦慮、提升心情、護膚與美容,并具有驅(qū)蟲效果。搜狗薰衣草的使用方式多種多樣,您可以將其置于枕頭下方、按摩薰衣草精油,或使用護膚和美容產(chǎn)品。無論是在家中還是戶外,搜狗薰衣草都是您獲得放松和享受的完美選擇。
近年來,搜狗公司在智能搜索領域取得了巨大突破,推動了中文搜索引擎技術的進步。在人工智能和大數(shù)據(jù)技術的支持下,搜狗智能搜索不斷優(yōu)化用戶體驗,為用戶提供更加精準、便捷的搜索服務。
搜狗智能搜索的核心技術包括自然語言處理、機器學習和深度學習。通過不斷優(yōu)化算法,智能搜索能夠理解用戶的搜索意圖,提供與用戶需求最匹配的搜索結果。此外,搜狗還利用大數(shù)據(jù)分析用戶行為,進一步提升搜索結果的質(zhì)量和準確性。
智能搜索技術已經(jīng)在多個領域得到應用,例如語音搜索、圖像識別和自然語言交互。通過與智能設備的結合,搜狗智能搜索實現(xiàn)了更加智能化的搜索體驗,越來越多的用戶選擇使用智能搜索來獲取信息。
與傳統(tǒng)搜索引擎相比,智能搜索具有更高的智能化程度和個性化定制能力。通過分析用戶的行為和偏好,智能搜索能夠為用戶提供更加個性化的搜索結果,節(jié)約用戶的時間和精力。
隨著人工智能技術的不斷發(fā)展,智能搜索在未來將會實現(xiàn)更加智能化和智能化的發(fā)展。搜狗作為智能搜索領域的領導者,將繼續(xù)投入更多的資源和精力,推動智能搜索技術向前發(fā)展。
總的來說,搜狗智能搜索作為中文搜索引擎的先行者,不僅提升了用戶的搜索體驗,還為中文搜索引擎的發(fā)展樹立了典范。在未來的發(fā)展中,搜狗還將不斷創(chuàng)新,推動智能搜索技術的更加廣泛應用。
今天我們將分析搜狗,這是中國最著名的互聯(lián)網(wǎng)公司之一。搜狗成立于2004年,總部位于北京。作為一家知名的搜索引擎提供商,搜狗在搜索技術和人工智能領域取得了顯著的成就。讓我們深入了解搜狗的起源、產(chǎn)品和未來發(fā)展。
搜狗是由王小川于2003年創(chuàng)辦的。王小川是中國計算機界的知名人物,曾任中國科學院計算技術研究所副研究員。他帶領團隊創(chuàng)造了搜狗這一搜索引擎,引起了廣泛的關注。
搜狗最初目標是提供一種聰明、高效的搜索方式,為用戶提供更精準的搜索結果。搜狗以其獨特的中文搜索技術和語義分析能力迅速脫穎而出,成為中國用戶最喜愛的搜索引擎之一。
除了搜索引擎,搜狗還開發(fā)和推出了一系列廣受歡迎的產(chǎn)品和服務。其中包括:
通過這些產(chǎn)品和服務,搜狗滿足了用戶在搜索、輸入和翻譯方面的需求,成為中國互聯(lián)網(wǎng)行業(yè)的重要參與者。
搜狗在搜索技術和人工智能領域一直保持領先地位。其擁有強大的中文語義分析技術,能夠根據(jù)用戶的搜索意圖提供更準確的搜索結果。
搜狗搜索還廣泛應用了大數(shù)據(jù)和機器學習技術。通過分析海量的用戶數(shù)據(jù)和網(wǎng)頁內(nèi)容,搜狗能夠不斷改進其搜索算法,提供更好的搜索體驗。
搜狗還在人工智能領域做出了重要貢獻。他們開發(fā)了智能對話機器人,并將其應用于各種場景,如智能客服和智能助手。
搜狗作為中國互聯(lián)網(wǎng)行業(yè)的巨頭,其未來發(fā)展仍然充滿著巨大的潛力和機遇。
首先,搜狗將繼續(xù)加強其搜索技術和人工智能能力。他們將不斷改進搜索算法,提供更準確、個性化的搜索結果。同時,搜狗還將繼續(xù)推動人工智能技術的創(chuàng)新和應用,為用戶提供更智能化的產(chǎn)品和服務。
其次,搜狗將繼續(xù)擴大其產(chǎn)品和服務的覆蓋范圍。他們將進一步完善搜狗輸入法、搜狗瀏覽器和搜狗翻譯等產(chǎn)品,滿足用戶在不同場景下的需求。同時,他們還將加強移動互聯(lián)網(wǎng)領域的布局,開發(fā)更多適用于手機和平板電腦的產(chǎn)品。
最后,搜狗將繼續(xù)加強與合作伙伴的合作,拓展業(yè)務和市場。他們將與其他互聯(lián)網(wǎng)公司、內(nèi)容提供商和手機廠商等合作,共同推動中國互聯(lián)網(wǎng)行業(yè)的發(fā)展。
總之,搜狗作為中國互聯(lián)網(wǎng)行業(yè)的領軍企業(yè),憑借其先進的搜索技術和人工智能能力,以及出色的產(chǎn)品和服務,勢必在未來取得更大的成就。
CentOS是一種流行的Linux發(fā)行版,廣泛用于服務器和個人電腦。它是一款免費的操作系統(tǒng),由社區(qū)支持,并提供穩(wěn)定可靠的性能。對于許多用戶來說,CentOS是他們首選的操作系統(tǒng)之一。
CentOS是基于Red Hat Enterprise Linux(RHEL)源代碼構建的企業(yè)級操作系統(tǒng)。它的名稱來自于“Community ENTerprise Operating System”的縮寫。CentOS專注于提供穩(wěn)定、安全且可靠的操作系統(tǒng),以滿足企業(yè)和個人用戶的需求。
與許多其他Linux發(fā)行版相比,CentOS的一個顯著特點是其長期支持(LTS)版本。這意味著用戶可以放心地依賴CentOS提供的長期維護和更新,而無需擔心頻繁的系統(tǒng)更改或版本升級。
作為一種流行的Linux發(fā)行版,CentOS擁有許多優(yōu)點,使其成為許多用戶的首選。以下是一些CentOS的主要優(yōu)點:
雖然CentOS是一種主要用于服務器的操作系統(tǒng),但用戶可以根據(jù)自己的需求進行定制和配置,使其適用于各種用途,包括桌面工作站和開發(fā)環(huán)境。在一些特定場景中,用戶可能需要安裝和使用某些中國特定的應用程序或服務,如搜狗輸入法。
搜狗輸入法是一款廣受用戶喜愛的輸入法工具,具有強大的中文輸入功能和智能糾錯能力,為用戶提供了更加便捷和高效的輸入體驗。許多用戶習慣于在其Linux系統(tǒng)上安裝和使用搜狗輸入法,以滿足其中文輸入需求。
與CentOS兼容的搜狗輸入法版本可供用戶下載和安裝,使用戶能夠在CentOS系統(tǒng)上享受到搜狗輸入法提供的便利和功能。在安裝搜狗輸入法時,用戶需要確保與CentOS系統(tǒng)的兼容性,并遵循正確的安裝步驟,以確保輸入法可以正常工作并集成到系統(tǒng)中。
CentOS作為一種流行的Linux發(fā)行版,提供了穩(wěn)定、安全且可靠的操作系統(tǒng)環(huán)境,滿足了用戶的各種需求。與之兼容的諸多應用程序和服務,如搜狗輸入法,使用戶能夠在CentOS系統(tǒng)上獲得更加豐富和完善的體驗。無論是作為服務器操作系統(tǒng)還是個人電腦的操作系統(tǒng),CentOS都展現(xiàn)了其在性能、穩(wěn)定性和可靠性方面的優(yōu)勢,為用戶提供了優(yōu)質(zhì)的使用體驗。
搜狗糖貓兒童電話手表的防水性很好!已經(jīng)通過國際上較為權威的防塵防水等級IP64測試,如果在雨天或者洗手時佩戴是沒有問題!
之前看了Mahout官方示例 20news 的調(diào)用實現(xiàn);于是想根據(jù)示例的流程實現(xiàn)其他例子。網(wǎng)上看到了一個關于天氣適不適合打羽毛球的例子。
訓練數(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
結果:
Yes=》 0.007039
No=》 0.027418
于是使用Java代碼調(diào)用Mahout的工具類實現(xiàn)分類。
基本思想:
1. 構造分類數(shù)據(jù)。
2. 使用Mahout工具類進行訓練,得到訓練模型。
3。將要檢測數(shù)據(jù)轉換成vector數(shù)據(jù)。
4. 分類器對vector數(shù)據(jù)進行分類。
接下來貼下我的代碼實現(xiàn)=》
1. 構造分類數(shù)據(jù):
在hdfs主要創(chuàng)建一個文件夾路徑 /zhoujainfeng/playtennis/input 并將分類文件夾 no 和 yes 的數(shù)據(jù)傳到hdfs上面。
數(shù)據(jù)文件格式,如D1文件內(nèi)容: Sunny Hot High Weak
2. 使用Mahout工具類進行訓練,得到訓練模型。
3。將要檢測數(shù)據(jù)轉換成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) {
//將訓練數(shù)據(jù)轉換成 vector數(shù)據(jù)
makeTrainVector();
//產(chǎn)生訓練模型
makeModel(false);
//測試檢測數(shù)據(jù)
BayesCheckData.printResult();
}
public static void makeCheckVector(){
//將測試數(shù)據(jù)轉換成序列化文件
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("文件序列化失敗!");
System.exit(1);
}
//將序列化文件轉換成向量文件
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("序列化文件轉換成向量失敗!");
System.out.println(2);
}
}
public static void makeTrainVector(){
//將測試數(shù)據(jù)轉換成序列化文件
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);
}
//將序列化文件轉換成向量文件
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("序列化文件轉換成向量失敗!");
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("生成訓練模型失敗!");
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ù)構造成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());
}
}