無錫索尼哪個部門好些?這是很多人在購買電子產(chǎn)品時常常問到的問題。索尼作為一家知名的日本電子品牌,它的產(chǎn)品涵蓋了相機、電視、音響、游戲機等多個領(lǐng)域。在無錫,索尼也有多個部門,每個部門都有自己的特點和優(yōu)勢。
索尼的攝影器材部門是全球知名的相機制造商之一。這個部門主要生產(chǎn)和銷售各類相機產(chǎn)品,包括頂級全畫幅單反相機、便攜式數(shù)碼相機、無反光微單相機等。無論是專業(yè)攝影師還是攝影愛好者,都可以在索尼無錫攝影器材部門找到適合自己需求的相機。
索尼的相機產(chǎn)品以其高品質(zhì)的成像效果和先進的影像技術(shù)而備受贊譽。無論是在畫質(zhì)細膩度、高感光度性能還是動態(tài)范圍方面,索尼相機都有著出色的表現(xiàn)。此外,索尼相機還具備快速對焦、防抖、高速連拍等功能,使用戶能夠輕松拍攝出令人滿意的照片和視頻。
無論你是專業(yè)攝影師,還是剛?cè)腴T的攝影愛好者,索尼無錫攝影器材部門都提供全方位的支持和服務(wù)。他們有專業(yè)的銷售人員和技術(shù)人員,能夠為用戶提供詳細的產(chǎn)品咨詢和售后服務(wù)。無論你想購買一臺相機,還是需要維修或升級你的相機,他們都能夠提供專業(yè)的幫助。
在索尼無錫電視部門,你可以找到各種類型和尺寸的電視產(chǎn)品。無論是4K超高清電視、智能電視還是曲面電視,索尼都能滿足你的需求。
索尼的電視產(chǎn)品以其出色的畫質(zhì)和音效而備受用戶喜愛。無論是觀看電影、玩游戲還是追劇,索尼電視都能為用戶帶來震撼的視聽享受。索尼的電視還配備了豐富的智能功能,用戶可以通過電視上的應(yīng)用程序訪問各種在線內(nèi)容,如視頻流媒體、音樂、游戲等。
索尼無錫電視部門也注重用戶體驗和售后服務(wù)。他們有專業(yè)的銷售人員,可以為用戶提供詳細的產(chǎn)品介紹和購買建議。如果用戶在使用過程中遇到問題,他們還有專業(yè)的售后團隊,能夠及時解決用戶的疑問和故障。
索尼的音響部門是全球知名的音響設(shè)備制造商之一。他們生產(chǎn)和銷售各類音響產(chǎn)品,包括家庭影院系統(tǒng)、無線音箱、耳機等。
索尼音響產(chǎn)品以其出色的音質(zhì)和強大的音效效果而聞名。無論是欣賞音樂、觀看電影還是玩游戲,索尼音響都能為用戶帶來身臨其境的聽覺體驗。索尼的音響產(chǎn)品采用先進的音頻技術(shù),能夠還原音樂的細節(jié)和層次感,讓用戶享受到高品質(zhì)的音樂和聲音。
索尼無錫音響部門不僅提供多樣化的音響產(chǎn)品選擇,還注重用戶的購買體驗和售后服務(wù)。他們的銷售人員會根據(jù)用戶的需求和預(yù)算,為用戶推薦最合適的音響產(chǎn)品。此外,如果用戶在使用過程中遇到問題,他們也會提供專業(yè)的售后支持,幫助用戶解決困擾。
如果你是游戲愛好者,那么索尼無錫的游戲機部門將是你的不二選擇。索尼的游戲機部門主要生產(chǎn)和銷售PlayStation系列游戲機。
PlayStation系列是全球知名的游戲機品牌,以其強大的性能和豐富的游戲資源而備受玩家的喜愛。無論是暢玩最新的游戲大作,還是享受經(jīng)典游戲的重溫,PlayStation都能滿足你的需求。同時,PlayStation還支持在線游戲和多人游戲,讓你和朋友一起享受游戲的樂趣。
索尼無錫的游戲機部門也注重用戶的游戲體驗和售后支持。他們有專業(yè)的銷售人員,可以為用戶提供詳細的游戲機介紹和購買建議。如果用戶在游戲過程中遇到問題,他們還有專業(yè)的售后團隊,能夠及時解決用戶的疑問和故障。
總而言之,無論你是熱衷攝影,還是熱愛電視、音響或游戲,索尼無錫的各個部門都能為你提供優(yōu)質(zhì)的產(chǎn)品和專業(yè)的服務(wù)。在購買索尼產(chǎn)品時,你可以根據(jù)自己的需求選擇相應(yīng)的部門,并咨詢專業(yè)的銷售人員獲取更多信息。無論你選擇哪個部門,你都會發(fā)現(xiàn)索尼的產(chǎn)品品質(zhì)和服務(wù)無可挑剔。
無錫公益組織面試題及答案
無錫是一個富裕且多元化的城市,擁有許多公益組織致力于推動社會發(fā)展和改善人們的生活質(zhì)量。如果你對加入這些組織感興趣,那么你可能需要準備面試,以展示自己的能力和熱忱。在本篇文章中,我將介紹幾個常見的無錫公益組織面試題,并提供答案示例,希望能幫助你為面試做好準備。
1. 告訴我們您選擇加入無錫公益組織的原因。
我選擇加入無錫公益組織的原因有很多。首先,我對無錫社區(qū)的發(fā)展和改善社會狀況充滿激情。作為一個熱心于社會公益事業(yè)的人,我希望通過加入公益組織來為社區(qū)做出積極的貢獻。
此外,我相信參與無錫公益組織能提供一個學(xué)習(xí)和成長的平臺。我希望通過與其他志愿者和專業(yè)人士的合作,不斷提升自己的團隊合作能力和解決問題的能力。
2. 您認為作為公益組織志愿者最重要的技能是什么?請舉例說明您如何展示這一技能。
我認為作為公益組織志愿者最重要的技能是溝通能力。良好的溝通能力可以幫助志愿者與其他志愿者、組織成員和受助者建立起良好的合作關(guān)系,并有效傳達信息。
舉個例子,我曾經(jīng)參與了一次為無錫老年人舉辦的健康講座活動。在活動中,我需要與志愿者團隊共同策劃活動,并與參與者進行有效的交流。我履行了組織者的職責(zé),向志愿者詳細介紹他們的任務(wù),并提供所需的支持。我還與參與者建立了良好的互動,回答他們的問題,并確保他們能夠積極參與活動。
3. 您在公益項目中遇到的一個挑戰(zhàn)是什么?您是如何處理的?
在我參與的一個公益項目中,我們面臨著資金緊缺的挑戰(zhàn)。然而,我們需要為社區(qū)提供持久且有益的解決方案。
為了應(yīng)對這個挑戰(zhàn),我和團隊成員一起制定了一項策略,包括聯(lián)系潛在的贊助商和合作伙伴,并積極參與籌款活動。通過我們的努力,我們成功地爭取到了一些贊助和捐款,進一步推動了項目的發(fā)展。
4. 您認為在公益項目中最重要的品質(zhì)是什么?請舉例說明您具備這一品質(zhì)。
在我看來,公益項目中最重要的品質(zhì)是堅持不懈。由于公益項目通常面臨各種困難和阻力,只有具備堅持不懈的品質(zhì),才能克服困難并取得成功。
舉個例子,我曾經(jīng)參與了一項關(guān)于無錫貧困兒童教育的公益項目。該項目旨在提供教育支持和資源,幫助他們獲得良好的教育機會。在項目初期,我們面臨了許多挑戰(zhàn),包括缺乏資源和困難的溝通。然而,通過團隊的共同努力和我的堅持不懈,我們逐漸解決了這些問題,并為貧困兒童提供了更好的教育機會。
5. 您希望在無錫公益組織中取得什么樣的成就?
我希望在無錫公益組織中能夠與團隊合作,為社區(qū)的發(fā)展做出積極的貢獻。我希望能夠發(fā)起并實施一些有益于社區(qū)的項目,為無錫的社會狀況帶來積極的改變。
此外,我還希望通過參與公益組織,不斷提升自己的領(lǐng)導(dǎo)和管理能力。我希望能成為一個激勵他人、推動項目發(fā)展、具備影響力的團隊成員。
結(jié)語
無錫公益組織為希望為社會貢獻一份力量的人們提供了一個寶貴的平臺。面試是加入公益組織的第一步,準備充分并做好準備將使您在面試中脫穎而出。通過良好的溝通能力、堅持不懈的品質(zhì)和對公益事業(yè)的熱情,您將有機會成為無錫公益組織的一員,并為社會的發(fā)展與進步做出貢獻。
待遇一般。
目前大部分是女員工,且都在30歲以下,團隊很有動力,管理非常人性與科學(xué)化。適合中專及以下女員工就業(yè)。想找老婆的機會有,不一定大。女的基本是本地人。
索尼投影機一般的機器是3LCD技術(shù)的,性價比不高,品牌價值高的,高端機器有部分是采用LCOS技術(shù)的,這種技術(shù)融合了DLP和3LCD的技術(shù)的優(yōu)點,所以高端機器索尼還是不錯的。特點:品牌好,技術(shù)好。缺點:性價比不高,燈泡壽命短,價格高
首先3LCD技術(shù)就是掌握在愛普生手里,世界上第一臺3LCD機器就是愛普生生產(chǎn)的,老牌的.LCD投影機生產(chǎn)廠家,品牌和口碑都是不錯的,當(dāng)然實際的效果也是很好的。特點:掌握核心技術(shù),一般機器色彩效果較索尼的還要好點,燈泡壽命3款中最長。缺點:效果較好點得機器一般都要4000以上,較低端的機器效果差
索尼電子在無錫市國家高新產(chǎn)業(yè)開發(fā)區(qū)62號地塊 ,長江路和長江南路交界處,對面是西門凱和松下,索尼數(shù)字在斜對面
挺不錯的,它是日資企業(yè),福利待遇也比較好,特別是環(huán)境很好。
無錫索尼數(shù)字主要生產(chǎn)鋰離子聚合物二次電池及鋰離子二次電池。無錫索尼數(shù)字是不提供住宿的,但是一個月有550元的住房補貼,在無錫可以選擇和他們合租,也能租一間不錯的房間了。工作餐是免費提供的。上班要過安檢門,但是不是特別嚴格,一半崗位坐著上班,一半站著上班,要穿無塵服。所以車間環(huán)境肯定是非常干凈的。
PSP沒有行貨,所以索尼專賣店內(nèi)是沒有的。無錫的索尼專賣店有很多家:大東方百貨,八佰伴等都有
買PSP只能去水貨商家:百腦匯,西門地下的數(shù)碼港,夢之島內(nèi)去看看吧
無錫是中國東部的一個重要城市,也是世界知名的電子產(chǎn)品制造中心之一。在無錫,有一家備受矚目的跨國公司——索尼(Sony)。索尼作為全球領(lǐng)先的綜合娛樂公司,擁有多個部門,涵蓋了從電子產(chǎn)品到娛樂產(chǎn)業(yè)的多個領(lǐng)域。本文將詳細探討無錫索尼的各個部門及其職能。
無錫索尼的電子產(chǎn)品部門是公司的核心業(yè)務(wù)之一。該部門主要負責(zé)消費電子產(chǎn)品的研發(fā)、生產(chǎn)和銷售,具體包括:
這一部門的技術(shù)團隊不斷進行產(chǎn)品創(chuàng)新,以滿足日益變化的市場需求。
影視部門主要負責(zé)影視劇和電影的制作與發(fā)行。無錫索尼參與了多部知名電影和電視劇的制作,它的主要職能包括:
索尼音樂部門則專注于音樂的制作與發(fā)行。該部門事務(wù)多樣,涵蓋了:
通過豐富的音樂資源,索尼在全球音樂市場中占據(jù)了重要地位。
游戲部門以開發(fā)和發(fā)布視頻游戲為主。作為全球知名的游戲平臺,索尼在這一領(lǐng)域的主要職能包括:
無錫索尼的半導(dǎo)體部門專注于高性能半導(dǎo)體產(chǎn)品的研發(fā)和生產(chǎn),尤其是圖像傳感器,這是索尼在全球半導(dǎo)體市場的一項重要競爭優(yōu)勢。主要職能有:
研發(fā)部門是無錫索尼創(chuàng)新的搖籃,負責(zé)新技術(shù)的研究與應(yīng)用。該部門的核心職能包括:
無錫索尼通過多個部門的協(xié)同合作,涵蓋了消費電子、影視、音樂、游戲和半導(dǎo)體等多個領(lǐng)域。每個部門各司其職,相互促進,使得索尼能夠在全球市場保持競爭力。
感謝您閱讀這篇文章,希望通過對無錫索尼各部門的概述,能夠幫助您更深入地理解這家公司的多元化運作及其在產(chǎn)業(yè)鏈中所扮演的角色。
它是日資企業(yè),福利待遇也比較好,特別是環(huán)境很好。無錫索尼數(shù)字主要生產(chǎn)鋰離子聚合物二次電池及鋰離子二次電池。
先來為大家介紹一下無錫索尼數(shù)字的工資待遇如何:一個月綜合工資在3500-4500元,夜班補助就有20元/班,可以說是比較高的夜班補助了。
之前看了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("文件序列化失??!");
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)練模型失??!");
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());
}
}