top of page

卓芝吟的實習報告

​工作詳述

中研院有別於一般公司,大部分的工作,都是為了提供更完善的資源,協助各領域專業的專家學者,我們中心有設立許多網站、平台供大家使用,我目前接觸到的有「數位人文平台」、 「鏈結開放資料平台」、 「藝術與建築索引典」…等。我們主要工作就是建立平台上的功能、維護平台、從平台上抓取資料和另外一個平台相互連結應用…等。

1、練習:文本與權威詞比對標記

確定項目後,要先學習所需的工具,我這個項目主要使用的工具是Java、Solr、MySql。一開始先看JAVA的書、了解Solr並和之前做這個項目的學長學習工具間的連動、基本使用功能(例如:用Java連接MySQL、Solr,並抓取、新增、修改、刪除資料…等)。

 

基本概念了解後,主管給了一個練習題,需將一個xml檔(裡面是歷史文本)跟一個txt檔(裡面是權威詞)讀進Java,並找到所有權威詞在各段文本裡出現的位置及次數,之後於文本中權威詞出現的位置前後加上標籤,再將加上標前的文本輸成xml檔。

圖片1.png
  • 圖示為文本以及權威詞於文本中出現的位置;紅框處為權威詞

圖片2.png
  • 圖示為在文本比對到權威詞時,於權威詞前後加上tag

圖片3.png
  • 練習完成,文本整本比對完後,加上標籤的輸出結果

2、LOD(鏈結開放資料)處理

LOD 鏈結開放資料 - 鏈結開放資料同時結合了鏈結資料與開放資料等兩大名稱與概念

LOD三Triple結構,由Subject、Predicate、Object(簡稱S、P、O)組成

S = 主詞 ; P = 關聯 ; O = 受詞

LW49_3.png
  • 圖是為LOD結構

實習期間完成進度

1、文本標記後下載成XML檔​(上學期)

這個工作是第一個工作,一個完成後真的要上線的任務,和練習有點相似,但是更加複雜化。我們中心建立的平台需要一個標記後下載的功能,讓使用者可以依照自己的需要選擇文本、權威詞進行標記。我需要寫一個功能,將使用者所選取的文本加上他們想要的標記再進行輸出。文本、權威檔會隨著使用者不同而有所變動,所以須透過Solr抓取文本及權威詞資料,而不是像練習有已經存在的txt權威檔跟xml文本檔,而且使用者的標記詞並無限制、規範,所以標記詞部分可能發生需重複或重疊標記的狀況。後端Java程式完成之後,還要加上Jsp讓功能在前端網頁上顯示。這個工作經過很多次和主管的討論、修正後才完成。

圖片4.png
  • 圖示為同一個權威詞需重複標記

圖片5.png
  • 圖示為多重重複標記加上重疊標記

圖片7.png
  • 圖示為後端Java完成後智前端接Jsp寫到平台上

2、補齊LOD欠缺資料(上學期)

目前平台上舊的LOD資料中,欠缺權威詞以及權威詞編號,只有權威詞位置、長度;配對的文本資訊,所以需先到MySql抓取目前有的資訊,在到Solr進行比對、取出正確的權威詞、權威詞編號,再存回MySql。這個工作相較第一個工作來的簡單一點,而且這是存後端的部分,所以也不需要寫Jsp。

圖片8.png
圖片9.png
  • 圖示為補齊資料前後

3、交接學長LOD資料(上學期+暑期)

學長做的部分是將使用者在平台上建立的關聯,轉成LOD格式,並讓使用者可以下載(下載選擇多樣化可以是ttl、xlsx、zip…等等)。學長將他所有LOD相關的code給我看,並詳細分成多個部分,因為我和學長每個星期都只會一天會遇到,所以每周遇到那天,學長就會跟我講解其中的2個單元,另外兩天上班時間就自己讀學長的code、打註解、嘗試自己做出一樣的功能。

4、整合、開發LOD (暑期)

大致上讀完學長交接的程式碼之後,主管說要開始進行整合的工作,第一個整合的功
能是讓使用者在平台上上傳LOD資料的XLSX檔,使用者上傳之後,透過程式進行解析,拆解成S、P、O三個檔案,以便於之後和文本進行配對、標記,先把Jsp中多次重複的程式碼,改寫到java裡面,用method把步驟拆開寫好,讓前端的工作不要那麼多、一直重複。我們開發平台上功能的程式開發完之後都需要經過主管的整合才會正式上線,學長上傳xlsx這個功能的code主管還沒看過,所以主管就帶著我一起看學長的java程式碼,主管對於結構方面十分重視,且主管曾跟我說他在開發功能時,都重結構先開始,所以主管就先看結構的部分,然後告訴我這個結構哪裡設計的不好、帶著我重新設定結構,把結構的部分全部重寫,然後還需要加上一些功能,補之前開發沒想到可能發生的情況。除了結構之外,主管也十分注重method重複使用性、整個程式的管理維護層面,因為現在平台背後的程式非常多,如果沒有每一隻程式結構都很清楚、相互對應,管理層面就會有很大的問題,一旦功能出現錯誤需要去維修,就很可能因為程式碼混雜無從下手修改,再加上功能需求不斷增加,現在寫的功能之後會需要不斷延伸、擴增,所以結構跟method規劃一定要很清楚、很有邏輯。整個程式碼隨著結構改變、method設計,基本上全部打掉重寫。寫完這個功能經主管確認程式碼沒問題之後,變換到前端Jsp的部分,把前端跟後端串接起來。前端除了處理使用者上傳LOD資料的xlsx之外,還有配對方面的問題,使用者上傳檔案解析處理完之後會變成權威檔,可以和文本進行配對,配對又有一次或是批次的問題需要處理,除此之外上傳的LOD資料也可以分享給群組使用,所以這些前端都需要修正。

上傳xlsx twins.PNG
配對介面.PNG
  • 使用者上傳介面、文本權威檔配對介面

批次.PNG
批次處理.PNG
  • 批次處理

配對 關係.PNG
  • 實際配對後關係呈現

5、文本配對LOD關係詞後,搭配前端學長開發的視覺化呈現(暑期)

平台上除了文本、權威詞、LOD關聯標記配對之外,還有社會網路圖視覺化,使用ECharts跟D3來開發,開發者是另外一位學長,他開發完成後會和我們後端資料進行串接,學長開發新功能之後,會來跟做後端的我們進行更新串接,讓結果視覺化呈現,目前最新一版和我串接的是ECharts的部份,D3學長還正整理所以還停在前一版本。

echart測試.PNG
  • ​關聯視覺化-社會網絡圖(Echarts)

6、user上傳有標籤的文本(xml檔),回寫標籤(暑期+下學期)

之前開發的第一個功能,讓使用者可以在文本加上權威詞標籤、LOD資訊,之後可以把有這些資訊的文本下載回去(xml檔案),除了讓使用者可以下載之外,要在開發一個可以讓使用者上傳文本的功能,使用者上傳加有標籤資訊的文本到平台,需開發一個功能,解析上傳的文本,先將標籤資訊的部分獨立出來回寫成權威檔,並確認其中無重複的部分,再將權威檔資料存到Solr中,讓使用者上傳的文本中的標籤資訊可以獨立應用;之後處理LOD標籤,將其拆解、去除重複,並確認LOD資訊是否正確和文本相對應,然後還原到資料庫及Solr中、確認LOD的Subjectc和Object確實存在權威詞檔中,最終去除使用者上傳的文本中的所有標籤,讓文本可以獨立使用。此功能目前正持續開發中。

7、協助爬蟲(下學期)

協助爬Flickr天文方面圖片、圖片資訊等資料,爬下來的資料用於數位文化中心的開放博物館。一開始用Java爬,但沒注意到網頁是動態網頁,爬完之後發現數量不對,所以在進行修正,改用Python,爬到後將所有照片存在一個資料夾中,將圖片的資訊(標題、作者、日期、攝影地點…等)輸出存成Excel再將資料交給需要的正職同事。

工作詳述
實習期間完成進度
更多...
筆記本電腦和咖啡

​工作內容

在實習的這段期間,我都做了甚麼呢?

復古書店

學習

​在實習的這段期間,我學了甚麼呢?

筆記本電腦和筆記本電腦

​心得感想

在實習的這段期間,我有甚麼成長及感想呢?

​指導老師:李婷老師

YZU-IM N24 INTERNSHIP  X  ASCDC

bottom of page