CBETA引用偵測開發說明

出自DILA Wiki

CBETA引用偵測程式開發說明

簡介及目的

  • 將台大佛學數位圖書館所收錄的佛學期刊論文進行大藏經引用句偵測,擷取引用句在論文中的段落並提供引用句在CBETA online的連結,方便使用者找到相對應經文段落。

處理範圍

  1. 法鼓佛學學報 (DDBJ)
  2. 正觀雜誌 (Satya)
  3. 中華佛學學報 (CNBJ)
  4. 中華佛學研究 (CNBR)
  5. 台大佛學報 (TUBR)
  6. 圓光佛學學報 (YKBJ)
  7. 普門學報 (PMBJ)

作業環境準備

程式開發環境

  • python3 (軟體開發程式)
  • Visual Studio Code (程式編輯軟體)


執行作業

程式開發作業

  • 以python進行CBETA偵測工作

程式碼說明

  1. RefenceDetect.py: 此程式集合了引用偵測程式、檢視程式、驗證程式、CBETA online連結產生與連結測試程式的實際程式呼叫方式。可以針對所需要進行的工作直接開啟使用。
  2. BTRD.py: 主要的引用句偵測程式,讀取一個文字段落後,利用正規表示法找出佛教藏經引用句的部份,並將引用句進行分析,分析出引用句中的藏別、冊號、經號、頁、欄、行資訊。
  3. TranDigital.py: 將引用句中以中文或是羅馬數字的表達轉換成阿拉伯數字的表達。程式中包括兩個副程式,一為transform_china_alabo (cnNum_str) ,輸入一個中文數字轉成阿拉伯數字;一為transform_roman_alabo (one_str) ,輸入一個羅馬數字轉成阿拉伯數字。
  4. GetCBETA.py: 將引用句分析出來的藏別、冊號、經號、頁、欄、行資訊送到CBETA API中以產生一組CBETA Online連結的參數。
  5. AddCBON.py: 將指定表格中的所有引用句分析資料逐一執行GetCBETA程式,以產生各別的CBETA Online連結,並利用selenium進行連結測試,以確保連結正確。
  6. createRD.py: 將期刊論文書目資料逐一帶出相對應論文純文字檔文本,並以兩行為單位送到BTRD程式中進行引用句偵測,完成後回傳得到找到引用句的分析結果。將重複的引用句過濾並給每一個引用句一組唯一的編號,最後以Excel表儲存該期刊中BTRD程式所找到的所有引用句分析項目。
  7. verifyRD.py: 以人工找出來的引用句當作正確答案,將BTRD程式所找到的所有引用句分析項目跟正確答案進行比對,計算出BTRD程式的precesion與recall。
  8. testRD.py: 將人工所找出來的錯誤或是特殊引用句分析項目,經過確認校正後當作正確答案。針對該引用句的相對應經文段落送進BTRD程式進行偵測後,將回傳的分析結果與正確答案進行驗證,並針對程式進行除錯,使回傳的分析結果完全符合正確答案。最後要讓表單中的所有列出的引用句分析項目都正確驗證成功,以確保所有引用句的分析不互相干擾產生錯誤。透過這支程式可以檢視偵測出來的結果是否符合正確答案,方便工程師除錯使用。最後必須讓檢視程式將“TestData” 表單上所列項目全部符合正確答案才可以。
  9. cpResultList.py: 此程式用來確認兩個來自同一期刊偵測程式所跑出來的結果表單之間相同引用句比較,Excel表中將會產生三各表單

兩邊皆存在:就是引用句同時存在兩邊的結果表單中 只存在 + [第一個表單名稱]:就是引用句同時只存在第一個結果表單中 只存在 + [第二個表單名稱]:就是引用句同時只存在第二個結果表單中


資料P槽備份路徑

  • 程式碼備份路經: /projects2/2021-CBETA參照偵測/2021-玟儀交接
  • 行政文件備份路徑: /projects2/2021-CBETA參照偵測/2021-玟儀交接/資料文件備份