機器閱讀理解綜述

主要內容

  • 一应媚、Introduction
  • 二十偶、Tasks & Evaluation Metrics
  • 三、General Architecture
  • 四、Methods
  • 五像鸡、New Trends

參考論文:

《Neural Machine Reading Comprehension:Methods and Trends》

正文

一、Introduction

機器閱讀理解(MRC)是一項任務蛋济,用于測試機器通過要求機器根據(jù)給定的上下文回答問題來理解自然語言的程度旨袒。早期的MRC系統(tǒng)是基于規(guī)則的,性能非常差干签。隨著深度學習和大規(guī)模數(shù)據(jù)集的興起津辩,基于深度學習的MRC顯著優(yōu)于基于規(guī)則的MRC。常見的MRC任務可以分為四種類型:完形填空容劳、多項選擇喘沿、片段抽取、自由回答竭贩。一般的MRC架構由以下幾個模塊組成:Embedding蚜印、Feature Extraction、Context-Question Interaction留量、Answer Prediction窄赋。另外,考慮到目前方法的局限性楼熄,MRC出現(xiàn)了新的任務忆绰,比如,knowledge-based MRC, MRC with unanswerable questions, multi-passage MRC可岂,conversational question answering错敢。

figure1.png

Figure 1: The number of research articles concerned with neural MRC in this survey.

二、Tasks & Evaluation Metrics</span>

2.1 Tasks

2.1.1 Cloze Test

給定上下文C青柄,從中移除一個詞或實體A(A \in C)伐债,完形填空任務要求模型通過學習函數(shù)F使用正確的詞或實體進行填空,函數(shù)F可以表示為A=F(C-\{A\})预侯,即問題(移除某個詞的上下文)與答案的映射。

數(shù)據(jù)集:CNN & Daily Mail 峰锁、CBT萎馅、LAMBADA、Who-did-What虹蒋、CLOTH糜芳、CliCR


Cloze Tests.jpg
2.1.2 MUltiple Choice

在給定上下文C,問題Q和候選答案列表A=\{A_1,A_2,··,A_n\}的情況下魄衅,多項選擇任務是通過學習函數(shù)FA(A_i\in A)中選擇正確的答案A_i峭竣,使得A_i=F(C,Q,A)

數(shù)據(jù)集:MCTest晃虫、RACE


Multiple Choice.jpg

Figure 3: A example of Multiple Choice datasets.

2.1.3 Span Extraction

盡管完形填空和多項選擇一定程度上可以機器閱讀理解的能力皆撩,但是這兩個任務有一定的局限性。首先哲银,單詞或實體可能不足以回答問題扛吞,需要完整的句子進行回答;其次荆责,在很多情形是沒有提供候選答案的滥比。所以片段抽取任務應運而生。

給定包含有n個單詞的上下文C做院,即C=\{t_1,t_2,\cdots,t_n\},與問題Q,片段抽取任務要求模型學習函數(shù)F,來從C中抽取連續(xù)的子序列A=\{t_i,t_{i+1},\cdots,t_{i+k}\}(1 \leq i+k \leq n)做為問題Q的正確答案盲泛,即A=F(C,Q)

數(shù)據(jù)集:SQuAD键耕、NewsQA寺滚、TriviaQA、DuoRC


Span Extraction.jpg

Figure 4: A example of Span Extraction datasets.

2.1.4 Free Answering

對于答案局限于一段上下文是不現(xiàn)實的郁竟,為了回答問題玛迄,機器需要在多個上下文中進行推理并總結答案由境。自由回答任務是四個任務中最復雜的棚亩,也更適合現(xiàn)實的應用場景。

給定上下文C和問題Q虏杰,自由應答任務中的正確答案A在原始上下文C中不一定是子序列讥蟆,即A\in CA\notin C。該任務要求通過學習函數(shù)F來預測正確答案A纺阔,即A=F(C,Q)

數(shù)據(jù)集:bAbI瘸彤、MS MARCO 笛钝、SearchQA质况、NarrativeQA中贝、DuReader


Free Answering.jpg

Figure 5: A example of Free Answering datasets.

2.2 Evaluation Metrics

對于不同的MRC任務庆械,有不同的評估指標。一般有Accuracy唐含,F(xiàn)1 Score捷枯,ROUGE-L,BLEU

2.2.1 Accuracy

當給定一個問題集Q=\{Q_1,Q_2,\cdots,Q_m\}m個問題時专执,如果模型正確地預測了n(n<m)個問題的答案淮捆,那么Accuracy計算如下:

Accuracy=\frac{n}{m}.\tag{1}

Accuracy指標一般用于Cloze TestMultiple Choice任務。

2.2.2 F1 Score

F1 Score是分類任務中常用的度量標準。在MRC方面攀痊,候選答案和參考答案都被視為標記袋桐腌,真陽性(TP)、假陽性(FP)苟径、真陰性(TN)和假陰性(FN)如Table1所示哩掺。

Table 1: The definition of true positive (TP), true negative (TN), false positive (FP), false negative(FN).


Table 1.jpg

精確率(precision)召回率(recall) 計算如下:

precision=\frac{TP}{TP+FP}.\tag{2}

recall=\frac{TP}{TP+FN}.\tag{3}

F1 Score,是精確率和召回率的調和平均值:

F1=\frac{2\times P\times R}{P+R}.\tag{4}

其中Pprecision涩笤,Rrecall嚼吞,分別表示召回率和準確率。蹬碧。

2.2.3 ROUGE-L

ROUGE (Recall-Oriented Understudy for Gisting Evaluation)是一種用于評估自動摘要好壞的指標舱禽,它有多種變體,其中ROUGE-L廣泛用于MRC任務恩沽,用于衡量候選答案和參考答案的相似性誊稚,“L”表示最長公共子序列(LCS),其計算如下:

R_{lcs}=\frac{LCS(X,Y)}{m}.\tag{5}

P_{lcs}=\frac{LCS(X,Y)}{n}.\tag{6}

F_{lcs}=\frac{(1+\beta)^{2}R_{lcs} P_{lcs}}{P_{lcs}+\beta ^{2}P_{lcs}}.\tag{7}

其中罗心,X是長度為m個詞的真實答案里伯,Y是長度為n個詞的預測答案,LCS(X,Y)表示XY的最長公共子序列的長度,所以R_lcs和?,P_lcs分別表示召回率和準確率渤闷,\beta用于控制指標的準確率和召回率的重要程度疾瓮。

2.2.4 BLEU

BLEU(Bilingual Evaluation Understudy),被廣泛用于評價翻譯的表現(xiàn)(可以通俗的理解為兩個句子的相似度)飒箭。當適應MRC任務時狼电,BLEU評分衡量預測答案和真實答案之間的相似性。其計算方法如下:

P_n(C,R)=\frac{\sum_i \sum_k min(h_k(c_i),max(h_k(r_i)))}{\sum_i \sum_k h_k(c_i)}.\tag{8}

其中h_k(c_i)等于第k個n-gram出現(xiàn)在候選答案c_i中的個數(shù)弦蹂,同理肩碟,h_k(r_i)等于第k個n-gram出現(xiàn)在參考答案r_i中的個數(shù)。

當預測的候選答案較短時凸椿,P_n(C,R)值較高削祈,這種精度不能很好地衡量相似性。因此引入懲罰因子BP來緩解這種情況脑漫,即BP用來懲罰較短的預測答案髓抑,計算公式如下:

BP=\begin{cases} 1,l_c>l_r\\ e^{1-\frac{l_r}{l_C}}\\ \end{cases}.\tag{9}

最后,BLEU score 計算如下:

BLEU=BP\cdot exp(\sum_{n=1}^{N}w_n logP_n).\tag{10}

三窿撬、General Architecture</span>

典型的MRC系統(tǒng)以上下文和問題為輸入启昧,然后輸入答案,系統(tǒng)包含四個關鍵模塊:Embeddings, Feature Extraction, Context-Question Interaction劈伴,Answer Prediction。

  • Embeddings:將單詞映射為對應的詞向量,可能還會加上POS跛璧、NER严里、question category等信息;
  • Feature Extraction:抽取question和context的上下文信息追城,可以通過CNN刹碾、RNN等模型結構;
  • Context-Question Interaction:context和question之間的相關性在預測答案中起著重要作用座柱。有了這些信息迷帜,機器就能夠找出context中哪些部分對回答question更為重要。為了實現(xiàn)該目標色洞,在該模塊中廣泛使用attention機制戏锹,單向或雙向,以強調與query相關的context的部分火诸。為了充分提取它們的相關性锦针,context和question之間的相互作用有時會執(zhí)行多跳,這模擬了人類理解的重讀過程置蜀。
  • Answer Prediction:基于上述模塊獲得的信息輸出最終答案奈搜。因為MRC任務根據(jù)答案形式分為了很多種,所以該模塊與不同任務相關盯荤。對于完形填空馋吗,該模塊輸出context中的一個單詞或一個實體;對于多項選擇秋秤,該模塊從候選答案中選擇正確答案耗美。
Figure 6.jpg

Figure 6: The general architecture of machine reading comprehension system.

四、Methods</span>

以下是對MRC系統(tǒng)四大關鍵模塊所使用的方法的介紹航缀。

Figure 7.jpg

Figure 7: Typical techniques in neural MRC systems.

4.1 Embeddings

Embeddings模塊將單詞轉換為對應的向量表示商架。如何充分編碼context和question是本模塊中的關鍵任務。在目前的MRC模型中芥玉,詞表示方法可以分為傳統(tǒng)的詞表示和預訓練上下文表示蛇摸。為了編碼更豐富的語義信息,MRC系統(tǒng)在原來的詞級別表示的基礎上灿巧,還會融合字向量赶袄、POS、NER抠藕、詞頻饿肺、問題類別等信息。

(1) Conventional Word Representation

  • One-Hot:向量長度為詞表大小盾似,只有單詞的位置為1敬辣,其它全0,這種表示方法無法表示兩個單詞之間的關系;
  • Distributed Word Representation:將單詞編碼為連續(xù)的低維向量溉跃,如word2vec村刨、glove;

(2) Pre-Trained Contextualized Word Representation

盡管分布式詞表示可以在編碼低維空間中編碼單詞撰茎,并且反映了不同單詞之間的相關性嵌牺,但是它們不能有效地挖掘上下文信息。具體來說龄糊,就是詞的分布式表示在不同上下文中都是一個常量逆粹。為了解決這個問題,研究學者提出了上下文的詞表示炫惩,在大規(guī)模數(shù)據(jù)集預訓練僻弹,直接當做傳統(tǒng)的詞表示來使用或者在特定任務finetune。

  • CoVE:利用大規(guī)模語料訓練Seq2Seq模型诡必,將Encoder的輸出拿出來作為CoVE奢方。
  • ELMo:在大規(guī)模文本語料預訓練雙向語言模型,特征抽取模塊為LSTM爸舒。
  • GPT:采用單向的Transformer在大規(guī)模語料上預訓練蟋字;
  • BERT:采用雙向的Transformer在大規(guī)模語料上預訓練,目標任務為masked language model (MLM)和next sentence prediction(NSP)扭勉。

(3) Multiple Granularity

Word2Vec或GloVe預先訓練的詞級嵌入不能編碼豐富的句法和語言信息鹊奖,如詞性、詞綴和語法涂炎,這可能不足以進行深入的機器理解忠聚。為了將細粒度的語義信息整合到單詞表示中,一些研究人員引入了不同粒度的上下文和問題編碼方法唱捣。

  • Character Embeddings:與詞級表示(word-level representations)相比两蟀,它們不僅更適合于子詞形態(tài)的建模,而且可以緩解詞匯表外(OOV)問題震缭。
  • Part-of-Speech Tags:詞性(POS)是一類特殊的語法詞匯赂毯,如名詞、形容詞或動詞拣宰。在NLP任務中標記POS標簽可以說明單詞使用的復雜特征党涕,進而有助于消除歧義。為了將POS標簽轉換成固定長度的向量巡社,將POS標簽作為變量膛堤,在訓練過程中隨機初始化并更新。
  • Name-Entity Tags:名稱實體是信息檢索中的一個概念晌该,是指一個真實世界中的對象肥荔,如一個人绿渣、一個地點或一個組織,它有一個合適的名稱次企。當詢問這些對象時怯晕,名稱實體可能是候選答案潜圃。因此缸棵,嵌入上下文單詞的名稱實體標記可以提高答案預測的準確性。名稱實體標簽的編碼方法類似于上述POS標簽的編碼方法谭期。
  • Binary Feature of Exact Match (EM):如果context中的一個單詞在query中存在堵第,那么值為1,否則為0隧出;
  • Query-Category:問題的類型(what,where,who,when,why,how)通程ぶ荆可以提供線索來尋找答案。
4.2 Feature Extraction

特征提取模塊通常放置在嵌入層之后胀瞪,分別提取上下文和問題的特征针余。它進一步關注基于嵌入模塊所編碼的各種句法和語言信息在句子層次上挖掘上下文信息。該模塊采用了RNNs凄诞、CNNs和Transformer architecture圆雁。

4.2.1 Recurrent Neural Networks

在問題方面,雙向RNNs的特征提取過程可以分為兩類:詞級(word-level)句子級(sentence-level)帆谍。

  • 在詞級編碼中伪朽,在第j個時間步處嵌入的問題x_{qj}的特征提取輸出可以表示為:

Q_j=[\overrightarrow{RNN}(x_{qj});\overleftarrow{RNN}(x_{qj})].\tag{11}

其中,\overrightarrow{RNN}(x_{qj})\overleftarrow{RNN}(x_{qj})分別表示雙向rnn的前向和后向隱藏狀態(tài),該特征提取過程下圖所示:

Figure 8.jpg

Figure 8: Word-level encoding for questions.

  • 相比之下汛蝙,句子級編碼將疑問句視為一個整體烈涮。特征提取過程可以表示為:
Figure 9.jpg

Figure 9: Sentence-level encoding for questions.

Q=[\overrightarrow{RNN}(x_{q|l|});\overleftarrow{RNN}(x_{q0})].\tag{12}

其中,|l|表示問題的長度,\overrightarrow {RNN}(x_{q|l|})\overleftarrow {RNN}(x_{q0})分別表示雙向rnn的前向和后向的最終輸出窖剑。

因為MRC任務中的上下文通常是一個長句子坚洽,所以研究者一般使用詞級特征提取法來編碼上文信息。和問題在詞級編碼中類似西土,在第j個時間步處嵌入的上下文x_{pj}的特征提取輸出可以表示為:

P_i=[\overrightarrow{RNN}(x_{pi});\overleftarrow{RNN}(x_{pi})].\tag{13}

4.2.2 Convolution Neural Networks

CNNs廣泛應用于計算機視覺領域讶舰。應用于NLP任務時,一維cnn在利用滑動窗口挖掘局部上下文信息方面顯示出其優(yōu)越性翠储。在CNNs中绘雁,每個卷積層應用不同尺度的特征映射來提取不同窗口大小的局部特征。然后將輸出反饋到池化層以降低維數(shù)援所,但最大程度地保留最重要的信息庐舟。圖10顯示了特征提取模塊如何使用CNN挖掘問題的本地上下文信息。

Figure 10.jpg

Figure 10: Using CNNs to extract features of question.

如上圖所示住拭,給定一個問題x_q \in \mathbb{R}^{|l| \times d}的詞嵌入挪略,其中|l|代表問題的長度历帚,d代表詞嵌入的維度,圖中卷積層有兩個過濾器杠娱,帶有k個輸出通道(圖中k=2)挽牢,大小為f_{t}\times d(\forall{t}=2,3),每個過濾器產(chǎn)生一個形狀為(|l|-t+1)\times{k}的feature map,該feature map進一步池化為一個k維向量摊求。最終禽拔,兩個過濾器產(chǎn)生的feature map經(jīng)過池化后的兩個k維向量連接為一個2k維的向量,用Q表示室叉。

盡管n-gram模型和CNNs都可以關注句子的局部特征睹栖,但n-gram模型中的訓練參數(shù)隨著詞匯量的增加呈指數(shù)增長。相比之下茧痕,無論詞匯量大小如何野来,CNNs都可以更緊湊、更有效地提取局部信息踪旷,因為CNNs不需要表示詞匯量中的每一個n-gram曼氛。此外,CNNs可以并行訓練15次令野,比RNNs快舀患。CNNs的一個主要缺點是只能提取局部信息,不能處理長序列彩掐。

4.2.3 Transformer

Transformer是一個強大的神經(jīng)網(wǎng)絡模型构舟,在各種NLP任務中顯示出了良好的性能。與基于RNN或cnn的模型相比堵幽,該模型主要基于注意機制狗超,既沒有遞歸,也沒有卷積朴下。多個頭部的注意力結構不僅在對齊方面有優(yōu)勢努咐,而且可以并行運行。與RNNs相比殴胧,Transformer需要更少的訓練時間渗稍,同時它更關注全局依賴性。但是团滥,如果沒有遞歸和卷積竿屹,模型就不能利用序列的位置信息。為了整合位置信息灸姊,Transformer添加由正弦和余弦函數(shù)計算的位置編碼拱燃。位置和字嵌入的總和作為輸入。圖10展示了Transformer架構力惯。在實際應用中碗誉,模型通常采用多頭自關注和前饋網(wǎng)絡來疊加多個塊召嘶。

Figure 11.jpg

Figure 11: Using the Transformer to extract features of question.

4.3 Context-Question Interaction

通過提取context和question之間的相關性,模型能夠找到答案預測的證據(jù)哮缺。根據(jù)模型是如何抽取相關性的方式弄跌,目前的工作可以分為兩類,一跳交互和多條交互尝苇。無論哪種交互方式铛只,在MRC模型中,attention機制在強調context哪部分信息在回答問題方面更重要發(fā)揮著關鍵作用茎匠。在機器閱讀理解中格仲,attention機制可以分為無向和雙向的押袍。

4.3.1 Unidirectional Attention

單向的attention主要是根據(jù)問題關注context中最相關的部分诵冒。如果context中的單詞與問題更相似,那么該單詞更可能是答案谊惭。通過計算公式S_i=f(P_i,Q)得到context中的單詞與question的相似度汽馋,其中f(\cdot)表示計算相似度的函數(shù),P_i是context中的單詞的embedding圈盔,Q是question的句子表示豹芯,最后通過softmax進行權重歸一化,獲得上下文中每個詞的注意力權重\alpha_i:

\alpha_i=\frac{expS_i}{\sum_{j}expS_j}\tag{14}

Figure 12.jpg

Figure 12: Using unidirectional attention to mine correlation between the context and question.

不同的模型對f(\cdot)有不同的選擇驱敲,一般有以下兩種:

S_i=tanh(W_{P}P_{i}+W_{Q}Q.\tag{15}

S_i=Q^{T}W_{S}P_{i}.\tag{16}

其中铁蹈,W_P,W_Q,W_S是訓練可得的參數(shù)。

單向的attention可以關注context中最重要的詞來回答問題众眨,但是該方法無法關注對答案預測也至關重要的question的詞握牧。因此,單向的attention不足以抽取context和query之間的交互信息娩梨。

4.3.2 Bidirectional Attention

同時計算query-to-context attention和context-to-query attention

圖13顯示了計算Bidirectional Attention的過程沿腰。首先,通過計算上下文語義嵌入P_i和問題語義嵌入Q_j之間的匹配分數(shù)狈定,得到成對匹配矩陣M(i,j)颂龙。然后,column-wise SoftMax函數(shù)的輸出可以被視為query-to-context注意力的權重纽什,用\alpha表示措嵌,row-wise SoftMax函數(shù)的輸出表示context-to-query注意力權重\beta

Figure 13.jpg

Figure 13: Using bidirectional attention to mine correlation between the context and question.

4.3.3 One-Hop Interaction

單跳交互是一種淺層架構芦缰,上下文和問題之間的交互只計算一次企巢。雖然這種方法可以很好地處理簡單的完形填空測試,但當問題需要在上下文中對多個句子進行推理時饺藤,這種單跳交互方法很難預測正確答案包斑。

4.3.4 Multi-Hop Interaction

Multi-Hop Interaction可以記住之前的context和question信息流礁,能夠深度提取相關性并聚合答案預測的證據(jù)。

4.4 Answer Prediction

該模塊與任務高度相關罗丰,之前我們將MRC分為四類神帅,分別是完形填空、多項選擇萌抵、片段抽取找御、自由回答,那么對應的答案預測方法也有四種绍填,分別是word predictor霎桅,option selector,span extractor讨永,answer generator滔驶。

4.4.1 Word Predictor

完形填空要求模型預測單詞或實體進行填空,該單詞或實體來自給定的context卿闹。這方面的工作有Attentive Reader揭糕、Attention Sum Reader。

4.4.2 Option Selector

對于多選任務锻霎,模型從候選答案列表中選擇一個正確答案著角。很普遍的做法是衡量attentive context representations和候選答案表示之間的相似度,選擇相似度最高的作為預測答案旋恼。

4.4.3 Span Extractor

片段抽取任務是完形填空任務的擴展吏口,要求模型從context中抽取一個子串,而不是一個單詞冰更。目前的工作有Sequence Model产徊、Boundary Model。

4.4.4 Answer Generator

自由回答任務中答案不再局限于context中的一個片段冬殃,而是需要根據(jù)context和question合成答案囚痴。目前的工作有S-Net。

4.5 Additional Tricks

4.5.1 Reinforcement Learning
4.5.2 Answer Ranker
4.5.3 Sentence Selector

實際上审葬,如果給MRC模型一個很長的文檔深滚,那么理解全部上下文來回答問題是很費時的。但是涣觉,事先找到問題中最相關的句子是加速后續(xù)訓練過程的一種可能方法痴荐。有研究學者提出了sentence selector來選擇回答問題需要的最小句子集合。

五官册、New Trends</span>

5.1 Knowledge-Based Machine Reading Comprehension

有時候生兆,我們只根據(jù)context是無法回答問題的,需要借助外部知識膝宁。因此鸦难,基于外部知識的MRC應運而生根吁。KBMRC和MRC的不同主要在輸入部分,MRC的輸入是context和question合蔽,而KBMRC的輸入是context击敌、question、knowledge拴事。

Table 2: Some Examples in KBMRC

Table 2.jpg

目前KBMRC的主要挑戰(zhàn)在于:

  • Relevant External Knowledge Retrieval

知識庫中存儲著各種各樣的知識沃斤,實體有時可能因為多義詞而產(chǎn)生誤導,例如刃宵,“蘋果”可以指水果或公司衡瓶。抽取與上下文和問題密切相關的知識決定了基于知識的答案預測的性能。

  • External Knowledge Integration

與語境中的文本和問題相比牲证,外部知識庫中的知識有其獨特的結構哮针。如何對這些知識進行編碼,并將其與上下文和問題的表示結合起來从隆,仍然是一個正在進行的研究挑戰(zhàn)诚撵。

5.2 Unanswerable Questions

有一個潛在的假設就是MRC任務中正確答案總是存在于給定的上下文中。顯然這是不現(xiàn)實的键闺,上下文覆蓋的知識是有限的,存在一些問題是無法只根據(jù)上下文就可以回答的澈驼。因此辛燥,MRC系統(tǒng)應該區(qū)分這些無法回答的問題。

Table 3: Unanswerable question example in SQuAD 2.0

Table 3.jpg

關于不可回答的問題缝其,相比傳統(tǒng)的MRC挎塌,在該新任務上又有新的挑戰(zhàn):

  • Unanswerable Question Detection

模型應該知道它不知道的東西。在通過文章理解問題和推理之后内边,MRC模型應該根據(jù)給定的上下文判斷哪些問題是不可能回答的榴都,并將它們標記為不可回答的。

  • Plausible Answer Discrimination

為了避免假答案的影響漠其,MRC模型必須驗證預測的答案嘴高,并從正確的答案中說出可信的答案。

5.3 Multi-Passage Machine Reading Comprehension

在MRC任務中和屎,相關的段落是預定義好的拴驮,這與人類的問答流程矛盾。因為人們通常先提出一個問題柴信,然后再去找所有相關的段落套啤,最后在這些段落中找答案。因此研究學者提出了multi-passage machine reading comprehension随常,相關數(shù)據(jù)集有MS MARCO潜沦、TriviaQA萄涯、SearchQA、Dureader唆鸡、QUASAR窃判。

5.4 Conversational Question Answering

MRC系統(tǒng)理解了給定段落的語義后回答問題,問題之間是相互獨立的喇闸。然而袄琳,人們獲取知識的最自然方式是通過一系列相互關聯(lián)的問答過程。比如燃乍,給定一個問答唆樊,A提問題,B回復答案刻蟹,然后A根據(jù)答案繼續(xù)提問題逗旁。這個方式有點類似多輪對話。

轉載請注明如下內容:

文章來源:https://wumingyao.github.io/2020/04/11/Machine-Reading-Comprehension-introduce/
github: https://github.com/wumingyao
簡書: Anunnaki
CSDN: 吳明耀の博客

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末舆瘪,一起剝皮案震驚了整個濱河市片效,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌英古,老刑警劉巖淀衣,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異召调,居然都是意外死亡膨桥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門唠叛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來只嚣,“玉大人,你說我怎么就攤上這事艺沼〔嵛瑁” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵障般,是天一觀的道長调鲸。 經(jīng)常有香客問我,道長剩拢,這世上最難降的妖魔是什么线得? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮徐伐,結果婚禮上贯钩,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好角雷,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布祸穷。 她就那樣靜靜地躺著,像睡著了一般勺三。 火紅的嫁衣襯著肌膚如雪雷滚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天吗坚,我揣著相機與錄音祈远,去河邊找鬼。 笑死商源,一個胖子當著我的面吹牛车份,可吹牛的內容都是我干的。 我是一名探鬼主播牡彻,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼礁蔗,長吁一口氣:“原來是場噩夢啊……” “哼子檀!你這毒婦竟也來了学辱?” 一聲冷哼從身側響起域慷,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎总寻,沒想到半個月后器罐,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡废菱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年技矮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殊轴。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖袒炉,靈堂內的尸體忽然破棺而出旁理,到底是詐尸還是另有隱情,我是刑警寧澤我磁,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布孽文,位于F島的核電站,受9級特大地震影響夺艰,放射性物質發(fā)生泄漏芋哭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一郁副、第九天 我趴在偏房一處隱蔽的房頂上張望减牺。 院中可真熱鬧,春花似錦、人聲如沸拔疚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽稚失。三九已至栋艳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間句各,已是汗流浹背吸占。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凿宾,地道東北人矾屯。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像菌湃,于是被迫代替她去往敵國和親问拘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355