如何成為一名對話系統(tǒng)工程師——我見過的解釋最清楚的文章+code

如何成為一名對話系統(tǒng)工程師

Original2017-12-05吳金龍人工智能頭條

作者 | 吳金龍

責(zé)編 | 何永燦

對話系統(tǒng)(對話機(jī)器人)本質(zhì)上是通過機(jī)器學(xué)習(xí)和人工智能等技術(shù)讓機(jī)器理解人的語言。它包含了諸多學(xué)科方法的融合使用降瞳,是人工智能領(lǐng)域的一個技術(shù)集中演練營嘱支。圖1給出了對話系統(tǒng)開發(fā)中涉及到的主要技術(shù)。

對話系統(tǒng)技能進(jìn)階之路

圖1給出的諸多對話系統(tǒng)相關(guān)技術(shù)挣饥,從哪些渠道可以了解到呢除师?下面逐步給出說明。

圖1 對話系統(tǒng)技能樹

數(shù)學(xué)

矩陣計算主要研究單個矩陣或多個矩陣相互作用時的一些性質(zhì)扔枫。機(jī)器學(xué)習(xí)的各種模型都大量涉及矩陣相關(guān)性質(zhì)汛聚,比如PCA其實是在計算特征向量,MF其實是在模擬SVD計算奇異值向量短荐。人工智能領(lǐng)域的很多工具都是以矩陣語言來編程的倚舀,比如主流的深度學(xué)習(xí)框架,如Tensorflow忍宋、PyTorch等無一例外痕貌。矩陣計算有很多教科書,找本難度適合自己的看看即可糠排。如果想較深入理解舵稠,強(qiáng)烈推薦《Linear Algebra Done Right》這本書。

概率統(tǒng)計是機(jī)器學(xué)習(xí)的基礎(chǔ)。常用的幾個概率統(tǒng)計概念:隨機(jī)變量哺徊、離散隨機(jī)變量室琢、連續(xù)隨機(jī)變量、概率密度/分布(二項式分布落追、多項式分布盈滴、高斯分布、指指數(shù)族分布)轿钠、條件概率密度/分布巢钓、先驗密度/分布、后驗密度/分布谣膳、最大似然估計竿报、最大后驗估計铅乡。簡單了解的話可以去翻翻經(jīng)典的機(jī)器學(xué)習(xí)教材继谚,比如《Pattern Recognition and Machine Learning》的前兩章,《Machine Learning: A Probabilistic Perspective》的前兩章阵幸。系統(tǒng)學(xué)習(xí)的話可以找本大學(xué)里概率統(tǒng)計里的教材花履。

最優(yōu)化方法被廣泛用于機(jī)器學(xué)習(xí)模型的訓(xùn)練。機(jī)器學(xué)習(xí)中常見的幾個最優(yōu)化概念:凸/非凸函數(shù)挚赊、梯度下降诡壁、隨機(jī)梯度下降、原始對偶問題荠割。一般機(jī)器學(xué)習(xí)教材或者課程都會講一點最優(yōu)化的知識妹卿,比如Andrew Ng機(jī)器學(xué)習(xí)課程中Zico Kolter講的《Convex Optimization Overview》。當(dāng)然要想系統(tǒng)了解蔑鹦,最好的方法就是看Boyd的《Convex Optimization》書夺克,以及對應(yīng)的PPT(https://web.stanford.edu/~boyd/cvxbook/)和課程(https://see.stanford.edu/Course/EE364A,https://see.stanford.edu/Course/EE364B)嚎朽。喜歡看代碼的同學(xué)也可以看看開源機(jī)器學(xué)習(xí)項目中涉及到的優(yōu)化方法铺纽,例如Liblinear、LibSVM哟忍、Tensorflow就是不錯的選擇狡门。

常用的一些數(shù)學(xué)計算Python包:

NumPy:用于張量計算的科學(xué)計算包

SciPy:專為科學(xué)和工程設(shè)計的數(shù)學(xué)計算工具包

Matplotlib:畫圖、可視化包

機(jī)器學(xué)習(xí)和深度學(xué)習(xí)

Andrew Ng的“Machine Learning”課程依舊是機(jī)器學(xué)習(xí)領(lǐng)域的入門神器锅很。不要小瞧所謂的入門其馏,真把這里面的知識理解透,完全可以去應(yīng)聘算法工程師職位了爆安。推薦幾本公認(rèn)的好教材:Hastie等人的《The Elements of Statistical Learning》尝偎,Bishop的《Pattern Recognition and Machine Learning》,Murphy的《Machine Learning: A Probabilistic Perspective》,以及周志華的西瓜書《機(jī)器學(xué)習(xí)》致扯。深度學(xué)習(xí)資料推薦Yoshua Bengio等人的《Deep Learning》肤寝,以及Tensorflow的官方教程。

常用的一些工具:

scikit-learn:包含各種機(jī)器學(xué)習(xí)模型的Python包

Liblinear:包含線性模型的多種高效訓(xùn)練方法

LibSVM:包含各種SVM的多種高效訓(xùn)練方法

Tensorflow:Google的深度學(xué)習(xí)框架

PyTorch:Facebook的深度學(xué)習(xí)框架

Keras: 高層的深度學(xué)習(xí)使用框架

Caffe: 老牌深度學(xué)習(xí)框架

自然語言處理

很多大學(xué)都有NLP相關(guān)的研究團(tuán)隊抖僵,比如斯坦福NLP組鲤看,以及國內(nèi)的哈工大SCIR實驗室等。這些團(tuán)隊的動態(tài)值得關(guān)注耍群。

NLP相關(guān)的資料網(wǎng)上隨處可見义桂,課程推薦斯坦福的“CS224n: Natural Language Processing with Deep Learning”,書推薦Manning的《Foundations of Statistical Natural Language Processing》(中文版叫《統(tǒng)計自然語言處理基礎(chǔ)》)蹈垢。

信息檢索方面慷吊,推薦Manning的經(jīng)典書《Introduction to Information Retrieval》(王斌老師翻譯的中文版《信息檢索導(dǎo)論》),以及斯坦福課程“CS 276: Information Retrieval and Web Search”曹抬。

常用的一些工具:

Jieba: 中文分詞和詞性標(biāo)注Python包

CoreNLP: 斯坦福的NLP工具(Java)

NLTK: 自然語言工具包

TextGrocery:高效的短文本分類工具(注:只適用于 Python2)

LTP: 哈工大的中文自然語言處理工具

Gensim:文本分析工具溉瓶,包含了多種主題模型

Word2vec: 高效的詞表示學(xué)習(xí)工具

GloVe:斯坦福的詞表示學(xué)習(xí)工具

Fasttext : 高效的詞表示學(xué)習(xí)和句子分類庫

FuzzyWuzzy: 計算文本之間相似度的工具

CRF++: 輕量級條件隨機(jī)場庫(C++)

Elasticsearch: 開源搜索引擎

對話機(jī)器人

對話系統(tǒng)針對用戶不同類型的問題,在技術(shù)上會使用不同的框架谤民。下面介紹幾種不同類型的對話機(jī)器人堰酿。

對話機(jī)器人創(chuàng)建平臺

如果你只是想把一個功能較簡單的對話機(jī)器人(Bot)應(yīng)用于自己的產(chǎn)品,Bot創(chuàng)建平臺是最好的選擇张足。Bot創(chuàng)建平臺幫助沒有人工智能技術(shù)積累的用戶和企業(yè)快速創(chuàng)建對話機(jī)器人触创,國外比較典型的Bot創(chuàng)建平臺有Facebook的Wit.ai和Google的Dialogflow(前身為Api.ai),國內(nèi)也有不少創(chuàng)業(yè)團(tuán)隊在做這方面的事为牍,比如一個AI哼绑、知麻、如意等碉咆。

檢索型單輪對話機(jī)器人

檢索型單輪機(jī)器人(FQA-Bot)涉及到的技術(shù)和信息檢索類似抖韩,流程圖2所示。

圖2 FAQ-Bot流程圖

因為query和候選答案包含的詞都很少吟逝,所以會利用同義詞和復(fù)述等技術(shù)對query和候選答案進(jìn)行擴(kuò)展和改寫帽蝶。詞表示工具Word2vec、GloVe块攒、Fasttext等可以獲得每個詞的向量表示励稳,然后使用這些詞向量計算每對詞之間的相似性,獲得同義詞候選集囱井。當(dāng)然同義詞也可以通過已經(jīng)存在的結(jié)構(gòu)化知識源如WordNet驹尼、HowNet等獲得。復(fù)述可以使用一些半監(jiān)督方法如DIRT在單語語料上進(jìn)行構(gòu)建庞呕,也可以使用雙語語料進(jìn)行構(gòu)建新翎。PPDB網(wǎng)站包含了很多從雙語語料構(gòu)建出來的復(fù)述數(shù)據(jù)集程帕。

知識圖譜型機(jī)器人

知識圖譜型機(jī)器人(KG-Bot,也稱為問答系統(tǒng))地啰,利用知識圖譜進(jìn)行推理并回答一些事實型問題愁拭。知識圖譜通常把知識表示成三元組—— (主語、關(guān)系亏吝、賓語) 岭埠,其中關(guān)系表示主語和賓語之間存在的某種關(guān)系。

構(gòu)建通用的知識圖譜非常困難蔚鸥,不建議從0開始構(gòu)建惜论。我們可以直接使用一些公開的通用知識圖譜,如YAGO止喷、DBpedia馆类、CN-DBpedia、Freebase等弹谁。特定領(lǐng)域知識圖譜的構(gòu)建可參考“知識圖譜技術(shù)原理介紹”(?http://suanfazu.com/t/topic/13105)乾巧,“最全知識圖譜綜述#1: 概念以及構(gòu)建技術(shù)”(?https://mp.weixin.qq.com/s/aFjZ3mKcJGszHKtMcO2zFQ)等文章。知識圖譜可以使用圖數(shù)據(jù)庫存儲僵闯,如Neo4j卧抗、OrientDB等藤滥。當(dāng)然如果數(shù)據(jù)量小的話MySQL鳖粟、SQLite也是不錯的選擇。

為了把用戶query映射到知識圖譜的三元組上拙绊,通常會使用到實體鏈接(把query中的實體對應(yīng)到知識圖譜中的實體)向图、關(guān)系抽取(識別query中包含的關(guān)系)和知識推理(query可能包含多個而不是單個關(guān)系标沪,對應(yīng)知識圖譜中的一條路徑榄攀,推理就是找出這條路徑)等技術(shù)。

任務(wù)型多輪對話機(jī)器人

任務(wù)型多輪機(jī)器人(Task-Bot)通過多次與用戶對話交互來輔助用戶完成某項明確具體的任務(wù)金句,流程圖見圖3檩赢。

圖3 Task-Bot流程圖

除了與語音交互的ASR和TTS部分,它包含以下幾個流程:

語言理解(SLU):把用戶輸入的自然語言轉(zhuǎn)變?yōu)榻Y(jié)構(gòu)化信息——act-slot-value三元組违寞。例如餐廳訂座應(yīng)用中用戶說“訂云海肴中關(guān)村店”贞瞒,我們通過NLU把它轉(zhuǎn)化為結(jié)構(gòu)化信息:“inform(order_op=預(yù)訂, restaurant_name=云海肴, subbranch=中關(guān)村店)”,其中的“inform”是動作名稱趁曼,而括號中的是識別出的槽位及其取值军浆。

NLU可以使用語義解析或語義標(biāo)注的方式獲得,也可以把它分解為多個分類任務(wù)來解決挡闰,典型代表是Semantic Tuple Classifier(STC)模型乒融。

對話管理(DM):綜合用戶當(dāng)前query和歷史對話中已獲得的信息后掰盘,給出機(jī)器答復(fù)的結(jié)構(gòu)化表示。對話管理包含兩個模塊:對話狀態(tài)追蹤(DST)和策略優(yōu)化(DPO)赞季。

DST維護(hù)對話狀態(tài)愧捕,它依據(jù)最新的系統(tǒng)和用戶行為,把舊對話狀態(tài)更新為新對話狀態(tài)申钩。其中對話狀態(tài)應(yīng)該包含持續(xù)對話所需要的各種信息晃财。

DPO根據(jù)DST維護(hù)的對話狀態(tài),確定當(dāng)前狀態(tài)下機(jī)器人應(yīng)如何進(jìn)行答復(fù)典蜕,也即采取何種策略答復(fù)是最優(yōu)的断盛。這是典型的增強(qiáng)學(xué)習(xí)問題,所以可以使用DQN等深度增強(qiáng)學(xué)習(xí)模型進(jìn)行建模愉舔。系統(tǒng)動作和槽位較少時也可以把此問題視為分類問題钢猛。

自然語言產(chǎn)生(NLG):把DM輸出的結(jié)構(gòu)化對話策略還原成對人友好的自然語言。簡單的NLG方法可以是事先設(shè)定好的回復(fù)模板轩缤,復(fù)雜的可以使用深度學(xué)習(xí)生成模型命迈,如“Semantically Conditioned LSTM”通過在LSTM中加入對話動作cell輔助答復(fù)生成。

任務(wù)型對話機(jī)器人最權(quán)威的研究者是劍橋大學(xué)的Steve Young教授火的,強(qiáng)烈推薦他的教程“Statistical Spoken Dialogue Systems”壶愤。他的諸多博士生針對上面各個流程都做了很細(xì)致的研究,想了解細(xì)節(jié)的話可以參考他們的博士論文馏鹤。相關(guān)課程可參考Milica Ga?i?的“Speech and Language Technology”征椒。

除了把整個問題分解成上面幾個流程分別優(yōu)化,目前很多學(xué)者也在探索使用端到端技術(shù)整體解決這個問題湃累,代表工作有Tsung-Hsien Wen等人的“A Network-based End-to-End Trainable Task-Oriented Dialogue System”和Xiujun Li等人的“End-to-End Task-Completion Neural Dialogue Systems”勃救。后一篇的開源代碼https://github.com/MiuLab/TC-Bot,非常值得學(xué)習(xí)治力。

閑聊型機(jī)器人

真實應(yīng)用中蒙秒,用戶與系統(tǒng)交互的過程中不免會涉及到閑聊成分。閑聊功能可以讓對話機(jī)器人更有情感和溫度宵统。閑聊機(jī)器人(Chitchat-Bot)通常使用機(jī)器翻譯中的深度學(xué)習(xí)seq2seq框架來產(chǎn)生答復(fù)晕讲,如圖4。

圖4 Chitchat-Bot的seq2seq模型框架

與機(jī)器翻譯不同的是马澈,對話中用戶本次query提供的信息通常不足以產(chǎn)生合理的答復(fù)瓢省,對話的歷史背景信息同樣很重要。例如圖4中的query:“今天心情極度不好箭券!”净捅,用戶可能是因為前幾天出游累的腰酸背痛才心情不好的,這時答復(fù)“出去玩玩吧”就不合情理辩块。研究發(fā)現(xiàn)蛔六,標(biāo)準(zhǔn)的seq2seq+attention模型還容易產(chǎn)生安全而無用的答復(fù)荆永,如“我不知道”,“好的”国章。

為了讓產(chǎn)生的答復(fù)更多樣化具钥、更有信息量,很多學(xué)者做了諸多探索液兽。Jiwei Li等人的論文“Deep Reinforcement Learning for Dialogue Generation”就建議在訓(xùn)練時考慮讓答復(fù)引入新信息骂删,保證語義連貫性等因素。Iulian V. Serban等人的論文“Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models”在產(chǎn)生答復(fù)時不只使用用戶當(dāng)前query的信息四啰,還利用層級RNN把之前對話的背景信息也加入進(jìn)來宁玫。Jun Yin等人的論文“Neural Generative Question Answering”在產(chǎn)生答復(fù)時融合外部的知識庫信息。

上面的各種機(jī)器人都是為解決某類特定問題而被提出的柑晒,我們前面也分開介紹了各個機(jī)器人的主要組件欧瘪。但這其中的不少組件在多種機(jī)器人里都是存在的。例如知識圖譜在檢索型匙赞、任務(wù)型和閑聊型機(jī)器人里也都會被使用佛掖。

真實應(yīng)用中通常會包含多個不同類型的機(jī)器人,它們協(xié)同合作涌庭,解答用戶不同類型的問題芥被。我們把協(xié)調(diào)不同機(jī)器人工作的機(jī)器人稱之為路由機(jī)器人(Route-Bot)。路由機(jī)器人根據(jù)歷史背景和當(dāng)前query坐榆,決定把問題發(fā)送給哪些機(jī)器人拴魄,以及最終使用哪些機(jī)器人的答復(fù)作為提供給用戶的最終答復(fù)。圖5為框架圖猛拴。

圖5 Route-Bot框架圖

對話機(jī)器人現(xiàn)狀

對話機(jī)器人歷史悠久羹铅,從1966年MIT的精神治療師機(jī)器人ELIZA到現(xiàn)在已有半個世紀(jì)蚀狰。但現(xiàn)代意義的機(jī)器人其實還很年輕愉昆。檢索型單輪對話機(jī)器人得益于搜索引擎的商業(yè)成功和信息檢索的快速發(fā)展,目前技術(shù)上已經(jīng)比較成熟麻蹋。最近學(xué)術(shù)界和工業(yè)界也積極探索深度學(xué)習(xí)技術(shù)如Word2vec跛溉、CNN和RNN等在檢索型機(jī)器人中的使用,進(jìn)一步提升了系統(tǒng)精度扮授。雖然技術(shù)上較為成熟芳室,但在實際應(yīng)用中檢索型機(jī)器人還存在不少其他問題。例如奏黑,很多企業(yè)歷史上積累了大量非結(jié)構(gòu)化數(shù)據(jù)疤祭,但這些數(shù)據(jù)并不能直接輸進(jìn)檢索型機(jī)器人催蝗,而是需要事先通過人工整理。即便有些企業(yè)存在一些回答對的數(shù)據(jù)可以直接輸入檢索型機(jī)器人伍宦,但數(shù)量往往只有幾十到幾百條芽死,非常少〈瓮荩可用數(shù)據(jù)的質(zhì)量和數(shù)量限制了檢索型機(jī)器人的精度和在工業(yè)界的廣泛使用关贵。

相較于檢索型機(jī)器人,知識圖譜型機(jī)器人更加年輕卖毁。大多數(shù)知識圖譜型機(jī)器人還只能回答簡單推理的事實類問題揖曾。這其中的一個原因是構(gòu)建準(zhǔn)確度高且覆蓋面廣的知識圖譜極其困難,需要投入大量的人力處理數(shù)據(jù)亥啦。深度學(xué)習(xí)模型如Memory Networks等的引入可以繞過或解決這個難關(guān)嗎炭剪?

任務(wù)型多輪對話機(jī)器人只有十來年的發(fā)展歷史,目前已能較好地解決確定性高的多輪任務(wù)翔脱。但當(dāng)前任務(wù)型機(jī)器人能正常工作的場景往往過于理想化念祭,用戶說的話大部分情形下都無法精確表達(dá)成act-slot-value三元組,所以在這個基礎(chǔ)上構(gòu)建的后續(xù)流程就變得很脆弱碍侦。很多學(xué)者提出了各種端到端的研究方案粱坤,試圖提升任務(wù)型機(jī)器人的使用魯棒性。但這些方案基本都需要利用海量的歷史對話數(shù)據(jù)進(jìn)行訓(xùn)練瓷产,而且效果也并未在真實復(fù)雜場景中得到過驗證站玄。

開域閑聊型機(jī)器人是目前學(xué)術(shù)界的寵兒,可能是因為可改進(jìn)的地方實在太多吧濒旦。純粹的生成式模型在答復(fù)格式比較確定的應(yīng)用中效果已經(jīng)不錯株旷,可以應(yīng)用于生產(chǎn)環(huán)境;但在答復(fù)格式非常靈活的情況下尔邓,它生成的答復(fù)連通順性都未必能保證晾剖,更不用說結(jié)果的合理性。生成模型的另一個問題是它的生成結(jié)果可控性較低梯嗽,效果優(yōu)化也并不容易齿尽。但這方面的學(xué)術(shù)進(jìn)展非常快速灯节,很多學(xué)者已經(jīng)在探索深度增強(qiáng)學(xué)習(xí)循头、GAN等新算法框架在其上的使用效果。

雖然目前對話機(jī)器人能解決的問題非常有限炎疆,短期內(nèi)不可能替代人完成較復(fù)雜的工作卡骂。但這并不意味著我們無法在生成環(huán)境中使用對話機(jī)器人。尋找到適宜的使用場景形入,對話機(jī)器人仍能大幅提升商業(yè)效率全跨。截止到目前,愛因互動已經(jīng)成功把對話機(jī)器人應(yīng)用于智能投顧亿遂、保險浓若、理財?shù)蠕N售轉(zhuǎn)化場景盒使,也在電商產(chǎn)品的對話式發(fā)現(xiàn)和推薦中驗證了對話機(jī)器人的作用。

如果一個對話機(jī)器人與真人能順利溝通且不被真人發(fā)現(xiàn)自己是機(jī)器人七嫌,那么就說這個機(jī)器人通過了圖靈測試少办。當(dāng)然目前的對話機(jī)器人技術(shù)離這個目標(biāo)還很遠(yuǎn),但我們正在逐漸接近這個目標(biāo)诵原。隨著語音識別英妓,NLP等技術(shù)的不斷發(fā)展,隨著萬物互聯(lián)時代的到來绍赛,對話機(jī)器人的舞臺將會越來越大蔓纠。

作者簡介:吳金龍,2017年初作為合伙人加入愛因互動吗蚌,負(fù)責(zé)算法部門工作腿倚。北京大學(xué)博士,畢業(yè)后先后加入阿里云蚯妇、世紀(jì)佳緣敷燎,作為世紀(jì)佳緣資深總監(jiān),負(fù)責(zé)佳緣數(shù)據(jù)和AI相關(guān)工作箩言,開發(fā)了中文對話機(jī)器人創(chuàng)建平臺“一個AI”硬贯。

責(zé)編:何永燦

本文為《程序員》原創(chuàng)文章,未經(jīng)允許不得轉(zhuǎn)載陨收。

更多精彩文章饭豹,請訂閱《程序員》。

掃描??二維碼 下載程序員(含iOS务漩、Android及印刷版)客戶端訂閱

Read more

Scan QR Code via WeChat

to follow Official Account

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拄衰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子饵骨,更是在濱河造成了極大的恐慌翘悉,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宏悦,死亡現(xiàn)場離奇詭異镐确,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)饼煞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诗越,“玉大人砖瞧,你說我怎么就攤上這事∪履” “怎么了块促?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵荣堰,是天一觀的道長。 經(jīng)常有香客問我竭翠,道長振坚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任斋扰,我火速辦了婚禮渡八,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘传货。我一直安慰自己屎鳍,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布问裕。 她就那樣靜靜地躺著逮壁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粮宛。 梳的紋絲不亂的頭發(fā)上窥淆,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音巍杈,去河邊找鬼祖乳。 笑死,一個胖子當(dāng)著我的面吹牛秉氧,可吹牛的內(nèi)容都是我干的眷昆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼汁咏,長吁一口氣:“原來是場噩夢啊……” “哼亚斋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起攘滩,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤帅刊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后漂问,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赖瞒,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年蚤假,在試婚紗的時候發(fā)現(xiàn)自己被綠了栏饮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡磷仰,死狀恐怖袍嬉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤伺通,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布箍土,位于F島的核電站,受9級特大地震影響罐监,放射性物質(zhì)發(fā)生泄漏吴藻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一弓柱、第九天 我趴在偏房一處隱蔽的房頂上張望沟堡。 院中可真熱鬧,春花似錦吆你、人聲如沸弦叶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伤哺。三九已至,卻和暖如春者祖,著一層夾襖步出監(jiān)牢的瞬間立莉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工七问, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蜓耻,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓械巡,卻偏偏與公主長得像刹淌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子讥耗,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354