搜索引擎(0xFE) --- 用機(jī)器學(xué)習(xí)再說(shuō)搜索排序

前面說(shuō)排序的時(shí)候已經(jīng)簡(jiǎn)單了說(shuō)了一下排序的方法佳头,包括三部分:相關(guān)性排序,商品本身的屬性排序颜屠,個(gè)性化排序,無(wú)論怎么排鹰祸,大體上都逃不掉這三項(xiàng)甫窟。

最近看到一篇文章[有贊搜索引擎實(shí)踐(算法篇)],中間有一段也說(shuō)了如何對(duì)商品本身的屬性進(jìn)行排序蛙婴,感興趣的也可以去看看粗井。

今天,說(shuō)說(shuō)如何用機(jī)器學(xué)習(xí)的辦法來(lái)進(jìn)行排序(商品本身的屬性排序)街图。

說(shuō)起機(jī)器學(xué)習(xí)浇衬,是個(gè)很大的話(huà)題,我也不是專(zhuān)家餐济,但是至少用機(jī)器學(xué)習(xí)這個(gè)工具還是沒(méi)什么大問(wèn)題的耘擂,今天我們深入一下機(jī)器學(xué)習(xí)中的邏輯回歸,看看如何用邏輯回歸來(lái)進(jìn)行排序絮姆。

我盡量不會(huì)用大量公式醉冤,盡量用說(shuō)人話(huà)的方式說(shuō)一下機(jī)器學(xué)習(xí)的邏輯回歸,有些東西我會(huì)直接給出結(jié)論篙悯,如果感興趣的可以去查資料蚁阳,好了,開(kāi)始吧鸽照,看我們?nèi)绾螐臄?shù)據(jù)開(kāi)始螺捐,一步一步來(lái)做到商品屬性的排序的。

前期準(zhǔn)備

  • 首先矮燎,我們確定一下背景定血,就是在什么場(chǎng)景下排序,假設(shè)我們是一個(gè)電商搜索引擎漏峰,搜索的數(shù)據(jù)就是各種各樣的商品糠悼,并且通過(guò)關(guān)鍵字届榄,很多商品的打分是一樣的浅乔,無(wú)法進(jìn)行區(qū)分了,所以需要對(duì)這些商品進(jìn)行商品質(zhì)量的排序铝条。
  • 然后靖苇,我們有哪些數(shù)據(jù)可以用來(lái)進(jìn)行排序呢?為了簡(jiǎn)單起見(jiàn)班缰,我們假設(shè)我們有最近半年的每個(gè)商品的銷(xiāo)量贤壁,每個(gè)商品的收藏?cái)?shù)量,每個(gè)商品的點(diǎn)擊次數(shù)這三種數(shù)據(jù)埠忘。

目標(biāo)

我們有每個(gè)商品的銷(xiāo)量脾拆,每個(gè)商品的收藏?cái)?shù)量馒索,每個(gè)商品的點(diǎn)擊次數(shù)這三種數(shù)據(jù),那我們的目標(biāo)是什么呢名船?

?既然要確定好還是不好绰上,那么必然最后我們會(huì)給每個(gè)商品打一個(gè)分,分越高越好渠驼,我們有上面的數(shù)據(jù)蜈块,那么這個(gè)分?jǐn)?shù)我們這么來(lái)定義(沒(méi)有使用點(diǎn)擊次數(shù)是為了后面說(shuō)明比較直觀,把點(diǎn)擊當(dāng)結(jié)果了)

Score = a1*銷(xiāo)量 + a2*收藏?cái)?shù)量

我們的目標(biāo)就是求出a1和a2來(lái)(請(qǐng)牢記這一目標(biāo))迷扇,那么以后我們每看到一個(gè)商品百揭,用上面這個(gè)分?jǐn)?shù)公式一算,就知道這個(gè)商品多少分了蜓席。

衡量商品

我們的目標(biāo)是把的商品排在前面器一,怎么樣來(lái)衡量一個(gè)商品是好還是不好呢?有種直觀的辦法來(lái)確定瓮床,找一群人盹舞,然他們憑直觀感覺(jué)搜索結(jié)果中排前面的商品好不好

但這里我們用個(gè)簡(jiǎn)單的辦法,就是商品被點(diǎn)擊超過(guò)10次隘庄,我們認(rèn)為就是好商品踢步,而我們有最近半年的數(shù)據(jù),所以我們知道哪些是好商品丑掺,哪些是不好的商品获印。

開(kāi)始排序

好了,前期準(zhǔn)備工作完成了街州,目標(biāo)也確定了兼丰,我們開(kāi)始機(jī)器學(xué)習(xí)的排序了。

我們使用的是邏輯回歸的方法唆缴,如果看維基百科的定義的話(huà)鳍征,不見(jiàn)得你能明白,我們這里就不做名詞解釋了面徽,你把它看成一個(gè)方法就行了艳丛。

為了簡(jiǎn)單起見(jiàn),我們假設(shè)一共只有6個(gè)商品趟紊,他們的銷(xiāo)量和收藏?cái)?shù)量分別是下表氮双,現(xiàn)在,我們一步一步來(lái)完成對(duì)目標(biāo)a1和a2的求解霎匈。

商品 銷(xiāo)量 收藏量
A1 50 (1.69) 20(1.30)
A2 30(1.47) 60(1.77)
A3 500(2.70) 60(1.77)
B1 30(1.47) 5(0.70)
B2 5(0.70) 30(1.47)
B3 1(0) 10(1.00)
數(shù)據(jù)歸一化

首先戴差,我們需要做的是將數(shù)據(jù)標(biāo)準(zhǔn)化,也就是歸一化铛嘱。

為什么要?dú)w一化數(shù)據(jù)呢暖释?比如上表中的A3袭厂,他的銷(xiāo)量是500,和其他的所有的商品的銷(xiāo)量差別特別大球匕,所以如果用a1*銷(xiāo)量 + a2*收藏?cái)?shù)量這個(gè)公式來(lái)計(jì)算分?jǐn)?shù)的話(huà)嵌器,它就特別占便宜,隨隨便便就排到前面去了谐丢,但是有可能這個(gè)商品只是搞了一次1折促銷(xiāo)爽航,所以銷(xiāo)量突然變大的,對(duì)于這種情況乾忱,我們就要通過(guò)歸一化把數(shù)據(jù)變得盡量在一個(gè)可控的區(qū)間中讥珍。

數(shù)據(jù)歸一化的方法比較多,我們這里用個(gè)簡(jiǎn)單的窄瘟,直接取log值來(lái)歸一化衷佃,那么上面的數(shù)據(jù)就被歸一化到一個(gè)可控的范圍內(nèi)了,這樣計(jì)算分?jǐn)?shù)的時(shí)候一些突變數(shù)據(jù)就很難占便宜了蹄葱,上面數(shù)據(jù)后面括號(hào)里面就是歸一化以后的數(shù)氏义,比較靠譜了吧。

sigmoid函數(shù)

到這里图云,我們目前已經(jīng)擁有了下面的東西

  • 上面表的歸一化好的數(shù)據(jù)
  • 一個(gè)計(jì)算分?jǐn)?shù)的公式:a1*銷(xiāo)量 + a2*收藏?cái)?shù)量

如果商品的好和壞用1和0表示的話(huà)惯悠,要是我們能將上面的計(jì)算分?jǐn)?shù)的公式和好壞聯(lián)系起來(lái)就好了,好了竣况,直接出結(jié)論克婶,真有這樣的函數(shù),這個(gè)函數(shù)叫sigmoid函數(shù)丹泉,他長(zhǎng)成這樣:

這個(gè)可以將任何東西變成0到1之間的值情萤,我們?cè)偃∏梢稽c(diǎn),在0到1之間如果大于0.5我們就認(rèn)為是1摹恨,小于0.5我們認(rèn)為是0的話(huà)筋岛,那么這個(gè)算分公式就和好壞聯(lián)系起來(lái)了

根據(jù)已知的條件晒哄,我們可以列出下面的東西

A1的好壞值 = sigmoid( a1*A1的銷(xiāo)量 + a2*A1的收藏?cái)?shù)量 )
A2的好壞值 = sigmoid( a1*A2的銷(xiāo)量 + a2*A2的收藏?cái)?shù)量 )
A3的好壞值 = sigmoid( a1*A3的銷(xiāo)量 + a2*A3的收藏?cái)?shù)量 )
B1的好壞值 = sigmoid( a1*B1的銷(xiāo)量 + a2*B1的收藏?cái)?shù)量 )
B2的好壞值 = sigmoid( a1*B2的銷(xiāo)量 + a2*B2的收藏?cái)?shù)量 )
B3的好壞值 = sigmoid( a1*B3的銷(xiāo)量 + a2*B3的收藏?cái)?shù)量 )

好了睁宰,到這一步,我們的原始數(shù)據(jù)(銷(xiāo)量揩晴,收藏?cái)?shù)量)就和商品的好壞聯(lián)系起來(lái)了勋陪。

代價(jià)函數(shù)

至此贪磺,我們已經(jīng)有了以下幾個(gè)東西了:

  • 上面表的歸一化好的數(shù)據(jù)
  • 一個(gè)計(jì)算分?jǐn)?shù)的公式:a1*銷(xiāo)量 + a2*收藏?cái)?shù)量
  • 一個(gè)計(jì)算商品好壞的公式:sigmoid( a1*商品銷(xiāo)量 + a2*商品收藏?cái)?shù)量 )

除了上面的硫兰,我們還有5個(gè)月的真實(shí)數(shù)據(jù),也就是我們知道每個(gè)商品實(shí)際是否真被點(diǎn)擊了寒锚,如果我們按照上面衡量商品的方法統(tǒng)計(jì)一下劫映,我們就得到了一批真實(shí)的好商品和一批真實(shí)的壞商品违孝,假設(shè)分別是A1,A2,A3和B1,B2,B3,如果我們找到一個(gè)a1和a2泳赋,用計(jì)算商品好壞的公式把所有商品一算雌桑,如果和真實(shí)的好壞一致,那么a1和a2就是我們要找的目標(biāo)了祖今。

那么校坑,怎么來(lái)描述我們算的結(jié)果和實(shí)際結(jié)果的差異呢?這里再引入一個(gè)公式(這是最后一個(gè)公式)千诬,我不做推導(dǎo)了耍目,直接給出來(lái),這個(gè)公式長(zhǎng)成這樣子徐绑,它表示每一個(gè)商品預(yù)測(cè)的好壞和實(shí)際的好壞的差異

-log(sigmoid( a1*銷(xiāo)量 + a2*收藏?cái)?shù)量 )) — 實(shí)際被點(diǎn)擊的時(shí)候

-log(1 - sigmoid( a1*銷(xiāo)量 + a2*收藏?cái)?shù)量 ) ) — 實(shí)際沒(méi)有被點(diǎn)擊的時(shí)候

有了這個(gè)公式邪驮,那么總體的差異就是每個(gè)商品的差異求和除以商品數(shù)了,我們叫代價(jià)函數(shù)傲茄,就是下面這個(gè)公式毅访,X1和X2對(duì)應(yīng)的就是銷(xiāo)量和收藏?cái)?shù)量,m表示一共有多少個(gè)商品盘榨,代價(jià)函數(shù)的值越小喻粹,那么對(duì)應(yīng)的a1和a2就越接近我們需要的值。

djhs.jpg
開(kāi)始求解

至此草巡,我們有了以下內(nèi)容了

  • 上面表的歸一化好的數(shù)據(jù)
  • 一個(gè)計(jì)算分?jǐn)?shù)的公式:a1*銷(xiāo)量 + a2*收藏?cái)?shù)量
  • 一個(gè)計(jì)算商品好壞的公式:sigmoid( a1*商品銷(xiāo)量 + a2*商品收藏?cái)?shù)量 )
  • 實(shí)際每個(gè)商品的好壞A1,A2,A3為好商品磷斧,B1,B2,B3為壞商品
  • 有一個(gè)預(yù)測(cè)值和實(shí)際值比較差異的代價(jià)函數(shù),可以用來(lái)判斷我們預(yù)測(cè)得準(zhǔn)不準(zhǔn)

通過(guò)上面這么些步驟捷犹,最后弛饭,我們通過(guò)代價(jià)函數(shù)將我們通過(guò)銷(xiāo)量和收藏預(yù)測(cè)出來(lái)的點(diǎn)擊實(shí)際的點(diǎn)擊聯(lián)系起來(lái)了,終于萍歉,我們完成了數(shù)據(jù)到商品實(shí)際好壞(是否真的被點(diǎn)擊)的聯(lián)系侣颂。

我們通過(guò)代價(jià)函數(shù)將我們通過(guò)銷(xiāo)量和收藏預(yù)測(cè)出來(lái)的點(diǎn)擊實(shí)際的點(diǎn)擊聯(lián)系起來(lái)了,終于枪孩,我們完成了數(shù)據(jù)到商品實(shí)際好壞(是否真的被點(diǎn)擊)的聯(lián)系憔晒。

我們通過(guò)代價(jià)函數(shù)將我們通過(guò)銷(xiāo)量和收藏預(yù)測(cè)出來(lái)的點(diǎn)擊實(shí)際的點(diǎn)擊聯(lián)系起來(lái)了,終于蔑舞,我們完成了數(shù)據(jù)到商品實(shí)際好壞(是否真的被點(diǎn)擊)的聯(lián)系拒担。

重點(diǎn)說(shuō)三遍,相當(dāng)于我們的排序模型已經(jīng)建立起來(lái)了

梯度下降

好了攻询,前面鋪墊了這么多从撼,終于要開(kāi)始求解a1和a2了。

首先钧栖,我們有一個(gè)函數(shù)低零,這個(gè)函數(shù)是上面的最后一個(gè)公式婆翔,我們?cè)賹?xiě)一遍

djhs.jpg

這里的a1和a2是未知數(shù),也就是我們要求的掏婶,其他的都是已知的啃奴,通過(guò)已有的六個(gè)月的銷(xiāo)量和收藏的值,以及不斷變化a1和a2雄妥,我們可以畫(huà)出這個(gè)函數(shù)的三維圖像(我直接用mac的畫(huà)圖軟件畫(huà)的最蕾,和數(shù)據(jù)對(duì)應(yīng)不上,但不影響我們的分析)老厌,其中X,Y軸分別表示a1和a2揖膜,Z軸表示代價(jià)函數(shù)的值。

dj.jpg

我們要求的a1和a2梅桩,實(shí)際上就是這個(gè)代價(jià)函數(shù)的最小值的情況下的a1和a2壹粟,也就是圖像中藍(lán)色的區(qū)域?qū)?yīng)的a1和a2值。

通過(guò)上面這么多步驟宿百,我們終于把求a1和a2變成了求一個(gè)函數(shù)的最小值趁仙。

要求解出這個(gè)函數(shù)的最小值,接下來(lái)就看計(jì)算機(jī)的了垦页,一個(gè)一個(gè)去試唄,看看哪兩個(gè)參數(shù)下痊焊,整體的代價(jià)函數(shù)值最小盏袄,那么就用這個(gè)a1和a2了。呵呵薄啥,傻子也看得出來(lái)這一個(gè)一個(gè)試的方法有多傻辕羽。

機(jī)器學(xué)習(xí)之所以叫機(jī)器學(xué)習(xí),那么至少需要體現(xiàn)出來(lái)學(xué)習(xí)的能力吧垄惧,怎么體現(xiàn)呢刁愿?

一個(gè)一個(gè)值去試顯然不是機(jī)器學(xué)習(xí),那叫窮舉铣口,機(jī)器學(xué)習(xí)就是我先試一個(gè)值,然后看看和實(shí)際結(jié)果有多少差異觉壶,然后去調(diào)整這個(gè)值脑题,讓新的結(jié)果和實(shí)際結(jié)果的差距變小,直到差距變得最小铜靶,這樣的過(guò)程才叫機(jī)器學(xué)習(xí)叔遂。

我們通過(guò)一個(gè)叫梯度下降的迭代運(yùn)算,可以得出滿(mǎn)足差異最小化的a1和a2的值,什么叫梯度下降我這里不描述了掏熬,感興趣的可以自己去查資料,因?yàn)檫@一部分涉及的數(shù)學(xué)內(nèi)容太多秒梅,我也描述得不好旗芬,大家看著也沒(méi)興趣。真正感興趣的可以自己去查查資料捆蜀。

簡(jiǎn)單來(lái)說(shuō)疮丛,就是先隨便選一個(gè)a1和a2,比如下圖中的紅色部分的白點(diǎn)辆它,計(jì)算出一個(gè)代價(jià)函數(shù)的值誊薄,然后通過(guò)求代價(jià)函數(shù)的偏導(dǎo)數(shù),我們就知道了如何調(diào)整這個(gè)a1和a2锰茉,那么通過(guò)一步一步的迭代循環(huán)(這一步一步的迭代就是機(jī)器學(xué)習(xí)的過(guò)程了)呢蔫,沿著白點(diǎn)的路徑,我們就可以走到圖像藍(lán)色的部分飒筑,從而得到滿(mǎn)足最小值的a1和a2片吊,這樣可以通過(guò)有限的幾次迭代運(yùn)算,而不用求出全部的a1和a2來(lái)得到最小值协屡。

dj1.png

現(xiàn)在俏脊,通過(guò)梯度下降的算法,就求出a1和a2了肤晓,我們的目標(biāo)也就達(dá)成了爷贫。

使用a1和a2

好了,上面通過(guò)一系列步驟补憾,a1和a2已經(jīng)求出來(lái)了漫萄,使用起來(lái)就簡(jiǎn)單了,碰到任何一個(gè)商品盈匾,通過(guò)上面的算分公式a1*銷(xiāo)量 + a2*收藏?cái)?shù)量就可以直接算出來(lái)這個(gè)商品的分?jǐn)?shù)卷胯,在排序的時(shí)候按這個(gè)分?jǐn)?shù)排序就行了。

評(píng)估

有了這個(gè)a1和a2威酒,我們?nèi)绾蝸?lái)評(píng)估好還是不好呢窑睁?

我們不是有最近半年的數(shù)據(jù)么,那么我們只用其中5個(gè)月的數(shù)據(jù)來(lái)計(jì)算a1和a2葵孤,然后用最后一個(gè)月的數(shù)據(jù)來(lái)測(cè)試担钮,把數(shù)據(jù)套入公式中看看預(yù)測(cè)的點(diǎn)擊和真實(shí)的點(diǎn)擊準(zhǔn)不準(zhǔn),準(zhǔn)確度越高那么就越有效尤仍。

當(dāng)然箫津,最直接的辦法還是上線(xiàn)以后做AB測(cè)試,看用戶(hù)買(mǎi)單不買(mǎi)單了。

寫(xiě)在后面的話(huà)

這篇文章我盡量沒(méi)有特意去寫(xiě)邏輯回歸的數(shù)學(xué)原理苏遥,只是用工程化的思想將排序的方式說(shuō)了一遍饼拍,沒(méi)有特別涉及數(shù)學(xué)原理,如果感興趣我可以再寫(xiě)一篇來(lái)說(shuō)說(shuō)邏輯回歸的數(shù)學(xué)原理田炭,不過(guò)估計(jì)看的人少师抄,我也怕我這半桶水寫(xiě)不好,呵呵教硫。

上面的方法我們使用了銷(xiāo)量和收藏?cái)?shù)據(jù)叨吮,其實(shí)任何一個(gè)你認(rèn)為可能會(huì)影響排序的因素都可以用來(lái)排序,每一個(gè)因素叫一個(gè)feature瞬矩,比如發(fā)貨速度茶鉴,購(gòu)物車(chē)添加次數(shù),最近7天點(diǎn)擊次數(shù)景用,最近一個(gè)月點(diǎn)擊次數(shù)涵叮,評(píng)論數(shù),好評(píng)數(shù)伞插,圖片數(shù)量围肥,發(fā)貨范圍,甚至包括圖片的好看程度蜂怎,這樣穆刻,求a1和a2就變成了求a1,a2...an了,每個(gè)因素對(duì)應(yīng)一個(gè)權(quán)重杠步,算法沒(méi)有任何區(qū)別氢伟。

如果我們有個(gè)特別牛逼的專(zhuān)家,他說(shuō)別算了幽歼,也別搞那么多因素朵锣,就選銷(xiāo)量和收藏?cái)?shù)量,按我的直覺(jué)來(lái)甸私,拍一個(gè)權(quán)重:a1等于0.9诚些,a2等于0.1,結(jié)果一上線(xiàn)皇型,效果出奇的好诬烹,用戶(hù)嘩嘩點(diǎn)擊,嘩嘩下單啊弃鸦。有沒(méi)有這種可能呢绞吁??唬格?當(dāng)然有<移啤颜说!因?yàn)闄C(jī)器學(xué)習(xí)的方法來(lái)計(jì)算排序,本質(zhì)上是因?yàn)槲覀冇写罅康臄?shù)據(jù)而人工無(wú)法處理汰聋,我們覺(jué)得這些數(shù)據(jù)有用门粪,于是我們想出來(lái)機(jī)器學(xué)習(xí)的辦法來(lái)使用這些數(shù)據(jù),最后的可解釋性其實(shí)不強(qiáng)烹困,你算出來(lái)a1等于0.86玄妈,a2等于0.14,為什么呢韭邓?措近?看似一步一步都是按照數(shù)學(xué)公式來(lái)的溶弟,但其實(shí)不好解釋?zhuān)秃腿说闹庇X(jué)一樣女淑,不見(jiàn)得比專(zhuān)家的直覺(jué)強(qiáng)。

好了辜御,本篇結(jié)束鸭你,你有什么問(wèn)題可以留言,但可能我也答不出來(lái)擒权,所以不見(jiàn)得會(huì)回哦袱巨。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末碳抄,一起剝皮案震驚了整個(gè)濱河市愉老,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剖效,老刑警劉巖嫉入,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異璧尸,居然都是意外死亡咒林,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)爷光,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)垫竞,“玉大人,你說(shuō)我怎么就攤上這事蛀序』兜桑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵徐裸,是天一觀的道長(zhǎng)引有。 經(jīng)常有香客問(wèn)我,道長(zhǎng)倦逐,這世上最難降的妖魔是什么譬正? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任宫补,我火速辦了婚禮,結(jié)果婚禮上曾我,老公的妹妹穿的比我還像新娘粉怕。我一直安慰自己,他們只是感情好抒巢,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布贫贝。 她就那樣靜靜地躺著,像睡著了一般蛉谜。 火紅的嫁衣襯著肌膚如雪稚晚。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天型诚,我揣著相機(jī)與錄音客燕,去河邊找鬼。 笑死狰贯,一個(gè)胖子當(dāng)著我的面吹牛也搓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涵紊,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼傍妒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了摸柄?” 一聲冷哼從身側(cè)響起颤练,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驱负,沒(méi)想到半個(gè)月后嗦玖,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡电媳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年踏揣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匾乓。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捞稿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拼缝,到底是詐尸還是另有隱情娱局,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布咧七,位于F島的核電站衰齐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏继阻。R本人自食惡果不足惜耻涛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一废酷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抹缕,春花似錦澈蟆、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至奏赘,卻和暖如春寥闪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背磨淌。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工疲憋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伦糯。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓柜某,卻偏偏與公主長(zhǎng)得像嗽元,于是被迫代替她去往敵國(guó)和親敛纲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容