99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀數(shù)據(jù)挖掘基礎(chǔ):分詞入門
數(shù)據(jù)挖掘基礎(chǔ):分詞入門
2016-04-07
收藏

數(shù)據(jù)挖掘基礎(chǔ):分詞入門

谷歌4億英鎊收購人工智能公司DeepMind,百度目前正推進(jìn)“百度大腦”項(xiàng)目,騰訊、阿里等各大巨頭布局深度學(xué)習(xí)。隨著社會化數(shù)據(jù)大量產(chǎn)生,硬 件速度上升、成本降低,大數(shù)據(jù)技術(shù)的落地實(shí)現(xiàn),讓冷冰冰的數(shù)據(jù)具有智慧逐漸成為新的熱點(diǎn)。要從數(shù)據(jù)中發(fā)現(xiàn)有用的信息就要用到數(shù)據(jù)挖掘技術(shù),不過買來的數(shù)據(jù) 挖掘書籍一打開全是大量的數(shù)學(xué)公式,而課本知識早已還給老師了,難以下手、非常頭大!

我們可以跳過數(shù)學(xué)公式,先看看 我們了解數(shù)據(jù)挖掘的目的:發(fā)現(xiàn)數(shù)據(jù)中價(jià)值。這個(gè)才是關(guān)鍵,如何發(fā)現(xiàn)數(shù)據(jù)中的價(jià)值。那什么是數(shù)據(jù)呢?比如大家要上網(wǎng)首先需要輸入網(wǎng)址,打開網(wǎng)頁后會自動判斷 哪些是圖片、哪些是新聞、哪些是用戶名稱、游戲圖標(biāo)等。人大腦可以存儲大量的信息,包括文字、聲音、視頻、圖片等,每一個(gè)都可以轉(zhuǎn)換數(shù)據(jù)存儲在電腦。人的 大腦可以根據(jù)輸入自動進(jìn)行判斷,電腦可以通過輸入判斷嗎?答案是肯定的! 不過需要我們編寫程序來判斷每一種信息,就拿文字識別來說吧,怎么從一個(gè)人在社交網(wǎng)絡(luò)的言論判斷他今天的心情是高興還是憤怒!比如:“你假如上午沒給我吃 冰淇淋,我絕對會不happy的?!?信息發(fā)布時(shí)間為下午2點(diǎn)。對于我們?nèi)祟愐豢催@個(gè)句子就知道他是吃過冰淇淋了,心情肯定不會是憤怒。那計(jì)算機(jī)怎么知道呢?

這 就是今天的主題,要讓計(jì)算機(jī)理解句子的語義,必須要有個(gè)程序,上面的句子和發(fā)布時(shí)間是輸入,輸出就是 “高興”。要得到“高興”就要建立 “高興”的規(guī)則,可以建一個(gè)感情色彩詞庫,比如 高興(識別詞是高興、happy),憤怒(識別詞是憤怒、生氣)。這里的識別詞就是輸入中出現(xiàn)的詞語,比如上面的句子中的“happy”就識別出了“高 興”這個(gè)感情色彩詞。但是光識別出“happy”肯定是不行的,前面的“假如。。。沒。。。,我。。。不。。。”等關(guān)鍵詞都需要識別出來,才能完整判斷一 個(gè)句子的意思。為了達(dá)到這個(gè)效果,就必須要用分詞技術(shù)了。

我們先人工對上面的句子來進(jìn)行一下切詞,使用斜線分割:“你/假如/上午/沒/給/我/吃/冰淇淋/,/我/絕對/會/不/happy/的/。/”。但是程序如何做到自動切分?這個(gè)其實(shí)中國的前輩們已經(jīng)做了很多中文分詞的研究,常見的分詞算法有:

      1、基于詞典的分詞,需要先預(yù)設(shè)一個(gè)分詞詞典,比如上面句子切分出來的“假如、上午”這些詞先存放在詞典,然后把句子切分成單字組合成詞語去詞典里查找,匹配上了就挑選出來一個(gè)詞。沒有匹配上的就切分成單字。

      2、基于統(tǒng)計(jì)的分詞, 需要先獲取大量的文本語料庫(比如新聞、微博等),然后統(tǒng)計(jì)文本里相鄰的字同時(shí)出現(xiàn)的次數(shù),次數(shù)越多就越可能構(gòu)成一個(gè)詞。當(dāng)達(dá)到一定次數(shù)時(shí)就構(gòu)成了一個(gè)詞 即可形成語料概率庫。再對上面句子進(jìn)行單字切分,把字與字結(jié)合后在語料概率庫里查找對應(yīng)的概率,如果概率大于一定值就挑選出來形成一個(gè)詞。這個(gè)是大概描 述,實(shí)際生產(chǎn)環(huán)境中還需要對句子的上下文進(jìn)行結(jié)合才能更準(zhǔn)確的分詞。

      3、基于語義的分詞,簡而言之就是模擬人類對句子的理解來進(jìn)行分詞。需要先整理出中文語句的句法、語義信息作為知識庫,然后結(jié)合句子的上下文,對句子進(jìn)行單字切分后組合成詞逐個(gè)帶入知識庫進(jìn)行識別,識別出來就挑選出一個(gè)詞。目前還沒有特別成熟的基于語義的分詞系統(tǒng)。

為了讓大家快速的了解分詞技術(shù),我們采用第一個(gè)方式來做測試:基于詞典的分詞,這種方式簡單暴力可以解決百分之七八十的問題?;谠~典的分詞大概分為以下幾種方式:

      1、正向最大匹配,沿著我們看到的句子逐字拆分后組合成詞語到詞典里去匹配,直到匹配不到詞語為止。 舉個(gè)實(shí)際的例子:“人民大會堂真雄偉”,我們先拆分為單字“人”去詞典里去查找,發(fā)現(xiàn)有“人”這個(gè)詞,繼續(xù)組合句子里的單字組合“人民”去詞典里查找,發(fā) 現(xiàn)有“人民”這個(gè)詞,以此類推發(fā)現(xiàn)到“人民大會堂”,然后會結(jié)合“人民大會堂真”去詞典里查找沒有找到這個(gè)詞,第一個(gè)詞“人民大會堂”查找結(jié)束。最終分詞 的結(jié)果為:“人民大會堂/真/雄偉”。

\

      2、逆向最大匹配,這個(gè)和上面相反,就是倒著推理。比 如“沿海南方向”,我們按正向最大匹配來做就會切分成 “沿海/南方/向”,這樣就明顯不對。采用逆向最大匹配法則來解決這個(gè)問題,從句子的最后取得“方向”這兩個(gè)字查找詞典找到“方向”這個(gè)詞。再加上“南方 向”組成三字組合查找詞典沒有這個(gè)詞,查找結(jié)束,找到“方向”這個(gè)詞。以此類推,最終分出“沿/海南/方向”。

      3、雙向最大匹配,顧名思義就是結(jié)合正向最大匹配和逆向最大匹配,最終取其中合理的結(jié)果。最 早由哈工大王曉龍博士理論化的取最小切分詞數(shù),比如“我在中華人民共和國家的院子里看書”,正向最大匹配切分出來為“我/在/中華人民共和國/家/的/院 子/里/看書”工8個(gè)詞語,逆向最大匹配切分出來為“我/在/中華/人民/共/和/國家/的/院子/里/看書”共11個(gè)詞語。取正向最大匹配切出來的結(jié)果 就是正確的。但是如果把上面那個(gè)例子“沿海南方向”雙向切分,都是3個(gè)詞語,改如何選擇?看第4個(gè)《最佳匹配法則》。

      4、最佳匹配法則,先準(zhǔn)備一堆文本語料庫、一個(gè)詞庫,統(tǒng)計(jì)詞庫里的每一個(gè)詞在語料庫里出現(xiàn)的次數(shù)記錄下來。最 后按照詞頻高的優(yōu)先選出,比如“沿海南方向”,正向切分為:“沿海/南方/向”,逆向切分為:“沿/海南/方向”。其中“海南”的頻度最高,優(yōu)先取出來。 剩下“沿”、“方向”也就正常切分了。是不是這就是基于詞典分詞的最佳方案?比如數(shù)學(xué)之美中提到的:“把手抬起來” 和 “這扇門的把手”,可以分為“把”、“手”、“把手”,不管怎么分總有一句話的意思不對。后續(xù)再介紹如何通過統(tǒng)計(jì)的分詞處理這些問題。

說了這么多,我們來實(shí)戰(zhàn)一下如何基于詞典的分詞:

\

輸出結(jié)果為: 我 愛 這 個(gè) 中華人民共和國 大 家 庭

按照這樣我們一個(gè)基本的分詞程序開發(fā)完成。

對于文章一開始提到的問題還沒解決,如何讓程序識別文本中的感情色彩?,F(xiàn)在我們先要構(gòu)建一個(gè)感情色彩詞庫“高興”,修飾詞庫“沒”、”不”。再完善一下我們的程序:

\

通過傳入“你假如上午沒給我吃冰淇淋,我絕對會不happy的。”,結(jié)果輸出為:“當(dāng)前心情是:高興”。當(dāng)然你也可以改變其中的修飾詞,比如改為:“你假如上午沒給我吃冰淇淋,我絕對會happy的?!?,結(jié)果輸出為:“當(dāng)前心情是:不高興”。

機(jī)器再也不是冷冰冰的,看起來他能讀懂你的意思了。不過這只是一個(gè)開始,拋出幾個(gè)問題:

1、如何讓程序識別句子中的時(shí)間?比如“上午”、“下午2點(diǎn)”。
2、如何處理“把手抬起來” 和 “這扇門的把手”中的“把”與“手”的問題?
3、如何構(gòu)建海量的知識庫,讓程序從“嬰兒”變成“成年人”?
4、如何使用有限的存儲空間海量的知識庫?
5、如何提高程序在海量知識庫中查找定位信息的效率?
6、如何識別新詞、人名、新鮮事物等未知領(lǐng)域?

\

這是《紐約時(shí)報(bào)》刊登的2張照片,一張是老鼠的腦細(xì)胞(左),一張是宇宙(右)。早期宇宙中星系互連關(guān)系,和大腦神經(jīng)元相互連接,幾乎無法分辨兩張圖之間的不同,大腦細(xì)胞與整個(gè)宇宙擁有一樣的結(jié)構(gòu)。

宇宙蕓蕓眾生都是相通的,大腦也許就是一個(gè)小宇宙,在這個(gè)小宇宙又有很多星球、住著很多生物。而電腦也是宇宙中地球上的一個(gè)產(chǎn)物,只要存儲計(jì)算速度發(fā)展到足夠強(qiáng)大一定可以構(gòu)建成一個(gè)強(qiáng)大的大腦。

你看這個(gè)單詞 “testaword” 認(rèn)識嗎?可能不認(rèn)識,因?yàn)槲覀兾骞傧全@取到的信息,然后根據(jù)大腦以往學(xué)習(xí)的經(jīng)驗(yàn)做出判斷。但是你看這個(gè)短語 ” test a word” 認(rèn)識嗎?再看看開始那個(gè)單詞“testaword”是不是就親切多了?

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }