# 文學主題式搜尋【計畫】 :::info [所有文件 google 連結](https://drive.google.com/drive/u/0/folders/1Dcl7fpzGLCrDLUmd0v442jR62I0wERN2) ::: ## TODO list :::danger **數量必須說明(包括圖片以及影片)** **需要把連結放上去** **搜尋服務(需要做索引以及給予API前端呼叫)** **主要以語音辨識以及語音合成為主** **但還是需要翻譯** **目前死線為12月** **明天的簡報必須要給出所有數量,以及相對資訊給公設前端工程師** **11月初必須要有第一個版本** - [ ] ~~**需找人來對文章做索引**,~~ - [ ] 老師希望用 elastic search 執行人:`` - [ ] 台羅、漢羅、教羅(白話字) - [ ] 中文預備(未來會有服務需要使用中文API) ::: ## 爬蟲專區 * 打勾代表已經爬完,爬完之後要記錄 * 時間|放置檔案位置 - [ ] 這個當作例子 * 2023/09/10|147:~/joshua_hw/literatureData - [x] [府城詩刊/首都詩報](http://siutosipo.blogspot.com/) * 2023/06/03|147:~/joshua_hw/literatureData/database/siutosipo.json * 數量:15 * 現代:15 * 新聞:4, 新詩:11 - [x] [白話字台語文網站](http://ip194097.ntcu.edu.tw/taigu.asp) * 2023/06/03|147:~/joshua_hw/literatureData/database/taigu.json * 數量: 2,149 * 清國時代: 164, 日治時代: 483, 終戰後: 1502 * 散文 / 論述: 150, 詩: 601, 散文: 533, 小說: 386, 散文 / 傳記: 132, 散文 / 笑詼: 298, 劇本: 49 - [x] [台灣大百科全書](https://nrch.culture.tw/twpedia.aspx?id=1096) * 2023/06/03|147:~/joshua_hw/literatureData/database/pedia1.json * 數量:20,678 * 現代:20,678 * 百科:20,678 - [x] [TGB](https://taioanchouhap.pixnet.net/blog/category/583492) * 2023/06/03|147:~/joshua_hw/literatureData/database/TGC.json * 數量:972 * 現代:972 * {'教育': 86, '原民': 25, '反核': 23, '遊記': 17, '生活': 203, '筆記': 56, '語文': 13, '創作': 169, '政論': 176, '勞動': 29, '運動': 23, '人物寫真': 29, '台語生活營/台文營': 52, '關於TGB': 5, '世界史': 13, '人權': 5, '519記念詹益樺': 6, '三農': 8, '法國傳真': 11, '記念林長昇': 23} - [x] [台文通訊BONG報](https://tsbp.tgb.org.tw/) * [x] 向廷 * 2023/09/17 | https://drive.google.com/file/d/10OllxeeSNpuXAUnYzUy6GkauRMfe4KW2/view?usp=sharing * 新位置: 2023/09/16|147:~/joshua_hw/literatureData/database/bong.json * 數量:918 * 現代:918 * 百科:918 - [x] [巷子口的台語](https://channelplus.ner.gov.tw/viewalllang/569) * [x] 詩晴 * Deadline: 9/21 * 數量:129篇 * 位置:~/joshua_hw/literatureData/database/channelplus.json * "廣播" 共 129 篇 - [x] [民傳媒](https://www.peoplemedia.tw/) * [x] 西瓜 * 2023/09/16|147:~/joshua_hw/literatureData/database/peopleMedia.json * 數量: 302 * 新聞: 302 - [x] [潘科元](https://taigi.page/) * [x] 西瓜 * 2023/09/16|147:~/joshua_hw/literatureData/database/taigi.json * 數量:1129 * '部落格文章': 1129 - [x] [一倒水](http://taokara.blogspot.com/) * [x] 詩晴 * Deadline: 9/21 * 注意:文章有少數是英文或中文,多數為台文(漢羅) * 數量:211篇 * 貼文 : 211 * 位置:~/joshua_hw/literatureData/database/taokara.json - [x] [蕭志平作品集](https://siaulahjih.github.io/ChohChhanLang/) * [x] Paintakotako * Deadline: 9/21 * 數量: 112 * {'百科': 112} * 位置: /home/mi2s/joshua_hw/literatureData/database/chheh.json - [x] [台語幸福山茶園](https://jukhai.blogspot.com/) * 注意:文章有白話字書寫,以及漢羅書寫兩種形式,漢字編碼只會出現在漢羅書寫的文章中,這兩種文章都要抓取,並且標記為白話字、漢羅(白話字) * [x] Paintakotako * Deadline: 9/21 * 數量: 268 * {'網誌': 268} * 位置:/home/mi2s/joshua_hw/literatureData/database/chayun.json - [x] [信望愛](https://taigi.fhl.net/) * 38 篇 * {'論文': 22, '新聞': 16} * 2023/09/21 | /home/mi2s/joshua_hw/literatureData/database/xing_wang_ai ## 台語地名與文化 * 文本搜尋 * 巷子口的台語 -> 爬逐字稿 -> 分類 * e.g. 吃飯皇帝大 -> 弒父類 * 對方會給清單,把爬下來的文章根據這個清單分類 * 1性別平等 * 2人權 * 4海洋 * 16多元文化 * 14防災 * 性別平等:[性別、女性...] 可以勾選關鍵字 * 關鍵字清單台文系會給 * TODO: 依據 行政區去複製他的介紹,舊地名不做 * 簡單做個網站可以展示搜尋 * 爬蟲進度(數量)&問題 報告索引 ## Json 格式 如果要爬蟲的話,目前規定一定要有以下格式: 如果爬蟲時相對應的資料並不存在,請留空字串,不要留 None 或是 NULL ```jsonld { "Title": { "Title": "文章的標題", "Type": "文章種類[百科、散文、新詩...] 若沒有的話,則依照文章性質自行填入", "Author": "文章作者", "Date": "文章發布時間、文章撰寫時間(則一,後者優先)", "Body": "文章內容", "Url": "文章的網頁連結", "Age": "文章出現的時代[現代、古代、清國時代...],依照文本給的填入,若沒有,則填入【現代】", # "涵蓋語言": ["出現的語言","zh","tailou","hanzi"] (TODO) } } ``` # 09/27 會議記錄 ## 首先為 交上論文 * 提出預期要投哪裡 * 申請校外研究、永續獎項、期刊 這邊要詢問 ## 重要時程 * 11/15 要交上書面報告以及論文等 * 繳交方式在大群上面有 * 成果說明(表二)15頁內 * 了解「索引」及「elastic search」 * 統計爬蟲資料字詞數量 * 爬蟲資料太少,需要再爬蟲 * 港仔口德台語21篇問題補上 * 語音辨識上方 recycle資料庫「台羅」漢字(羅)都要 * 逐字稿截圖 * 台文通訊 Bong 報太少1833,信望再調查,遺漏? * 網站關鍵字 highlight,加入標籤,前3後3(共7句) * 大台南地區行政區地名 * 建立芝士圖譜![](https://hackmd.io/_uploads/SyubcSbga.png) * 巷子口分類,盧抽出來分類,多「其他」類,下周三提供 * 地名區公所,爬蟲哪一些欄位 * 地名呈現,知識圖譜 -> 文字雲(文字內容為主) * 舊地名原因,改變原因,新舊地名對應(ChatGPT瞎掰) * 下標籤,合併 keyword(joined):海洋 + 資源,人權 + 性別 ... * 11月中整理報告 * 找到 source code,未來測試,兩人討論約時間(線上) * 我們開三種 API:逐字稿、(台語)朗讀... * 上述 API,向廷協助.元翰(垃圾博士生)支援 * 逐字稿要有台羅、漢羅、白話字(未完成),tab 切換,同時回傳3個資料 * 工設系丟哪一種文本(給文檔及使用語言) (台羅、漢羅、白話字、華文...) * 搜尋(metasearch),打台語,搜尋國語 * 抓15個縮圖為主,丟回來的圖片,加上兩個 tag,標示(台語、國語、英語)搜尋所得結果 * 文本搜尋結果,上方標示來源,如台語 Bong 報第 n 期 * 句子不要太長,仿 Google Search,控制在20上下(盧說30字,5句?),關鍵字前後 highlight tag,規格會再告知(近兩天?) * API參數,傳資料,把關鍵字翻譯成文字(台文、白話文、臺羅、片假名),之後再進行 filter ==> 查詢我們本來的 database * 下次開會報告要寫一些東西出來 (11/15就要交,報告前網站要出來,或 Figma) * 10月底之前至少要再兩次會 (盧:兩周一次) * 前端工程師:Jenny、謝宗佑,討論API操作及實現 * 逐字稿要先給、朗讀也要先給(現有的東西) # 10/15 會議記錄(與前端小會議) ### 討論內容 - 實驗室API:逐字稿+朗讀 ### 開會紀錄 - 逐字稿可以即時辨識聲音 - 「逐字稿」需要產生**三種文本**:TZ、ZH、POJ - 也需要可以上傳「mp3」音檔 - 錄完回傳三種:TZ、ZH、POJ - TODO:寫轉換 TL => POJ & HL(漢羅) - 最晚何時給?小群再連絡(等) - 需不需要即時辨識?對方再連絡老師 - [維基百科 TL => POJ 對照表](https://zh.wikipedia.org/zh-tw/%E8%87%BA%E7%81%A3%E9%96%A9%E5%8D%97%E8%AA%9E%E7%BE%85%E9%A6%AC%E5%AD%97%E6%8B%BC%E9%9F%B3%E6%96%B9%E6%A1%88) - 文字搜尋例句:圖片、影片(可能前端用 Google API) - 西瓜:不保證影片搜尋到,因為爬蟲資料無影片 - 圖片影片對方需要再確認一下 - 影片可行做法:文本找到 YouTube 連結 - 文本搜尋 API 目前可以搜尋多種語言 - 親屬計算機原始碼:ifreesite.com - 網站位置我們實驗室 maybe 提供(不要用 Flask,Apache...) - GitHub:JoshuaLee0321 ### TODO 整理 - 寫轉換 TL => POJ & HL(漢羅) - 對方確認是否要轉換拼音方法 - 週三 2023/10/15 報告 搜尋 API + DEMO(向廷) - [ ] 如果是 "author = 巷子口的台語",那只能搜尋方括號裡面的東西:「」『』 - [ ] 可以的話,百大名人可以放一些照片(詳細資訊要等邱偉鑫回復) - [ ] 測試合成最多幾個字可以被和出來 - [ ] --- # 10/16 會議記錄 :::warning 此開會由 `向庭` 來報告台語資料讀取 API 並逕行與老師匯報 ::: * 搜尋詞彙前面關鍵字以及後面關鍵字 * 計算分數,並找到前後句子要放多少 ### 開會紀錄 ### TODO 整理 ## 2023/10/18 會議記錄 * 使用 Selenium 模擬用戶 使用 Google Translate API * 圖片 影片 標題 連結 縮圖 * 漢字翻譯成台羅(其他...) 再進行搜尋 * 同義詞 多重標音 搜尋 肥皂 -> 香皂 並且 台羅 白話字 * 只要前後句子就好,不需要完整,要完整點連結 * 逐字稿不一定要,先求有再求好,先錄音再傳送 * 語音辨識回傳三種:漢字 台羅 白話字 * 先講(計畫報告) streaming 沒有前後文 準確率沒有比較好 * 語音辨識語音長度要再測試(我們再跟前端),1MB? * 語音合成,華文(國語),不準確先關掉?台語文的文稿為主 * 台語國語平行語料, * 名稱發音的檔案,阿嬤的發音檔案等 * 語音合成 有沒有限制 長度 字數限制 maybe 100 * 親戚計算機,稱謂,合成聲音,excel 表,對應國語台語 * 巷口 150 則 聲音爬蟲 收集 * 百科也是?地圖也是? * WM 做表格 爬蟲資料 放雲端 * 教育部 台語教材 9000?有文字可以看? * 咱們學台灣閩南語 連結在 PDF 內 * 教育部悅讀越懂閩客語電子報 建議爬蟲 * 盧老師提供計畫草稿 * 王育德 AR/3D 01 taiwanese syoku_02 mp4 * 百年 總圖 Q版 王育德 * 知識圖譜 範例 下周一 * 老師周末給完整報告 請放到研究報告資料夾 雲端 * 10/30 補全檔案 寄信件 11/01 開會 報告 ## 2023/10/23 會議記錄 * 地圖上面有 pin, pin 的超連結會到我們原始的 url * 示意圖 * ![](https://hackmd.io/_uploads/Sk4hVoXza.png) * 隨時都可以做到找 A 出現 B,找 B 出現 A * servey google map 的 api * 台語朗讀可以用藝文的聲音 * 台語的音檔要把它收下來 * ## 2023/10/30 會議記錄 ### 前端 bug 紀錄 1. 換頁之後才能點擊的問題 2. 按鈕要有互動性 3. 要寫說明書或是 4. default 要使用字串搜尋(例句) 5. 前端搜尋時間感覺有一點問題,可能要有 buffer 6. 後端新增一個頻率的問題 7. 這一周要把至少一半的功能放上去 # 2023/11/01 會議記錄 :::info **Deadline:11/19** ::: ## API 們 ### 諺語 API 1. 分類 (給類別,回傳該類別的句子,此句子要有音檔) * `INPUT: 類別; RETURN {漢字、台羅、音檔}` 2. 搜尋 (就是搜尋[文本]),回傳的東西跟上面一樣 3. 先搞把他們翻譯好 ### 地名文化 :::warning 完成 ::: ``` 1. INPUT [區名] ==> { {(區明/漢字), (區名/台羅), (區名/音檔)}, {(別名/漢字), (別名/台羅), (別名/音檔)}, // 可能是 1...n, "INTRODUCTION": {區的介紹}, "ALIAS":{區的其他特殊地名} // 合併成一個 } ``` ### 永續文本 :::warning 完成 ::: ``` 搜尋文本,搜尋關鍵字有兩個[主項目、次項目],回傳根文本搜尋 API 相同的東西 ``` ### 名人堂 ``` chatbot,只有王育德 ``` ### 親戚計算機 :::warning 完成 ::: ``` INPUT: [稱謂的漢字] OUTPUT: [台羅、音檔] ``` ### 圖搜 :::warning 尚未 ::: ``` INPUT: [keyword, 要搜尋的語言選項, 關鍵字的語言, 要搜圖片還是影片] OUTPUT: {標題、縮圖、圖片/影片、連結} ``` ### 台語例句 ``` INPUT: {keyword, 文字寫法(漢字/台羅/POJ), 愈想搜尋其中含有的辭彙(比如蔡英文要翻譯成ㄘㄨㄚˋ英文的辭彙)} ``` # PDF 爬蟲: 如果資料來源為 pdf,而你不知道要怎麼把 pdf 的文字抓取下來,這邊可以協助你把 pdf ```python # $ pip3 install pdfminer from pdfminer.layout import LAParams, LTTextBox from pdfminer.pdfpage import PDFPage from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfinterp import PDFPageInterpreter from pdfminer.converter import PDFPageAggregator # 幹你娘超好用 fp = open('book1.pdf', 'rb') rsrcmgr = PDFResourceManager() laparams = LAParams() device = PDFPageAggregator(rsrcmgr, laparams=laparams) interpreter = PDFPageInterpreter(rsrcmgr, device) pages = PDFPage.get_pages(fp) for page in pages: print('--------------------------------------------------------------------') interpreter.process_page(page) layout = device.get_result() for lobj in layout: if isinstance(lobj, LTTextBox): x, y, text = lobj.bbox[0], lobj.bbox[3], lobj.get_text() print('\n%r\n %s' % ((x, y), text)) # $ python3 main.py > book.txt ``` # 主題 jsonfile :::info 老師不喜歡這個,這邊留著以後可能要用到。 ::: ```jsonld { "開始搜索": { "文學種類": { "散文": {}, "論述": {}, "詩": {}, "小說": {}, "傳記": {}, "笑詼": {}, "創作": {}, "劇本": {}, "生活": {}, "台語生活營": {}, "人物寫真": {}, "教育": {}, "筆記": {}, "政論": {}, "新詩": {}, "原民": {}, "反核": {}, "遊記": {}, "語文": {}, "勞動": {}, "運動": {}, "世界史": {}, "三農": {} }, "國家": { "美國": {}, "加拿大": {}, "英國": {}, "中國": {}, "日本": {}, "韓國": {}, "印度": {}, "巴西": {}, "澳洲": {}, "西班牙": {}, "俄羅斯": {}, "墨西哥": {}, "南非洲": {}, "埃及": {}, "阿拉伯": {}, "新西蘭": {} }, "宗教": { "基督": { "耶穌": {}, "聖經": {}, "救贖": {}, "教堂": {}, "重生": {}, "救主": {} }, "佛教": { "觀音": {}, "釋迦": {}, "活佛": {}, "如來": {}, "阿彌陀佛": {}, "仙佛": {}, "佛家": {} }, "道教": {}, "希臘教": {}, "長老教": {} }, "飲品": { "咖啡": {}, "茶": { "茶湯": {}, "薑母茶": {}, "杏仁茶": {}, "咖啡茶": {}, "燒茶": {}, "烏龍茶": {}, "茶心茶": {} }, "水": {} }, "食物": { "米類": { "西谷米": {}, "春擔米": {}, "米糠": {}, "米粉": {}, "糯米": {}, "米糕": {}, "大米": {} }, "麵類": { "麵線": {}, "淡薄麵": {}, "幼麵": {} }, "魚/肉類": { "蚌肉": {}, "螺肉": {}, "牛肉": {}, "生肉": {}, "肉條": {}, "豬肉": {}, "肉雞": {}, "羊肉": {}, "魚肉": {}, "鹹魚": {}, "烏魚": {}, "章魚": {}, "魚頭": {}, "魚餔": {} }, "湯類": { "韭菜湯": {}, "湯頭": {}, "茶湯": {}, "雞湯": {}, "紅豆仔湯": {}, "雜菜湯": {}, "豆仔湯": {} }, "蔬果類": { "蘋果": {}, "葡萄": {}, "櫻桃": {}, "鳳梨": {}, "芒果": {}, "土豆": {}, "西瓜": {}, "番薯": {}, "無花果": {}, "芥菜": {}, "韭菜": {}, "高麗菜": {} } }, "運動": { "田徑": {}, "棒球": {}, "游泳": {}, "跳水": {}, "划船": {}, "跳舞": {}, "舉重": {} }, "病痛": { "頭痛": {}, "發燒": {}, "咳嗽": {}, "腹氣": {}, "肺勞病": {}, "胃病": {}, "心臟病": {}, "肝臟病": {}, "性病": {}, "流行病": {}, "軟腳病": {}, "腸仔病": {}, "腳氣病": {}, "憂鬱": {} }, "職業": { "醫學": { "獄醫": {}, "華醫生": {}, "內科醫": {}, "獸醫": {}, "護士": {}, "法醫": {}, "侍醫": {} }, "教育": { "老師": {}, "教師": {}, "教授": {}, }, "音樂": { "軍樂隊": {}, "音樂隊": {}, "音樂家": {}, "樂團": {} }, "軍警": { "軍人": {}, "總指揮": {}, "士官": {}, "警察司長": {}, "警察": {}, }, "金融": { "銀行員": {}, } }, "時代": { "日治時期": {}, "清國時代": {}, "現代": {}, "終戰後": {} }, "人權": { "自由": {}, "平等": {}, "公正": {}, "尊嚴": {}, "公民": {}, "歧視": {}, "民主": {} } } } ``` ## DD * 10/19 SQL * 到 10/19 前尚有 **七個網站要爬** * 每個禮拜兩個