一種快速在GeotechSet數據集內查詢相似段落的方法
1 引言
在geotech-words-flashtext-combination.py,我們使用的查詢方法是對一個句子進行分詞,然后對分詞進行組合使用C(n,3)對整個數據集進行查詢,從而把數據集中所有包含關鍵詞組合的句子提取出來。這種策略是以單句為基礎的,在需要仔細分析單句表達句子的意思時非常有效。不過,有時我們也需要根據關鍵詞查詢整個段落,這樣可以快速對尋找的主題形成一個總體框架(a big picture)。這個筆記簡要描述了快速實現這種思路的一個方法。
2 實現步驟
整個工作是基于GeotechSet數據集完成的。GeotechSet是一個不斷進化的巖土工程文獻數據庫,包括巖石力學和土力學兩部分, 主要的用途一方面用于查找相關資料,另一方面用于機器學習。其中大部分內容與我自己的專業相關,包括論文,研究報告,課程講稿及軟件手冊等。為了快速聚合查詢內容,使用了以下的步驟和算法:
(1) 把GeotechSet中的所有數據合并成一個文件;
(2) 讀取數據文件,每個段落作為一個item, 形成一個列表(list);
(3) 目前設置了兩個查詢短語,在大多數情況下已經足夠,如果一個段落內同時包含這兩個短語,則存入文件中。
核心代碼如下:
3 段落性查詢
下面用兩個例子試驗這個算法:
試驗(1) q1='Slope instability' ; q2='wedge failure' 這個查詢的目的是想分析巖石邊坡楔形破壞, 查詢結果應該同時包括這兩個短語。
部分查詢結果摘錄如下, 包括論文摘要或段落:
[1] Havaej, M. et al. (2013). "Incorporating brittle fracture into three-dimensional modelling of rock slopes." Slope Stability 2013, Australian Centre for Geomechanics, 625-638.
[2] Lenka, S. K., et al. (2017). "Slope Mass Assessment of Road Cut Rock Slopes Along Karnprayag to Narainbagarh Highway in Garhwal Himalayas, India." Advancing Culture of Living with Landslides, Vol 5: Landslides in Different Environments: 407-413.
[3] Brideau, M. A., et al. (2011). "Three-dimensional slope stability analysis of South Peak, Crowsnest Pass, Alberta, Canada". Landslides 8(2): 139-158.
[4] Babanouri, N. and V. Sarfarazi (2018). "Numerical analysis of a complex slope instability: Pseudo-wedge failure". Geomechanics and Engineering 15(1): 669-676.
試驗(2) q1='Slope stability' ; q2='rock bridge' 這個查詢的目的是想分析巖橋在巖石邊坡中的使用, 查詢結果應該同時包括這兩個短語。結果顯示在GeotechSet數據集內共有87篇論文或段落, 基本上覆蓋了這個分支研究領域的所有結果。
4 結束語
本文描述了一個在GeotechSet數據內快速聚合相關段落的算法。聚合出來的內容一方面可以用來深入了解查詢主題的研究進展,另一方面也可以直接把結果文件作為機器學習的輸入數據,例如回答問題(閱讀理解回答問題(Question Answering)---一個更強的BERT預訓練模型),文本續寫(開放式文本生成(Open-Ended Text Generation))和文章總結(生成摘要(Summarization)的新方法)等。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















