# 文學主題式搜尋【計畫】
:::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句)
* 大台南地區行政區地名
* 建立芝士圖譜
* 巷子口分類,盧抽出來分類,多「其他」類,下周三提供
* 地名區公所,爬蟲哪一些欄位
* 地名呈現,知識圖譜 -> 文字雲(文字內容為主)
* 舊地名原因,改變原因,新舊地名對應(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
* 示意圖
* 
* 隨時都可以做到找 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 前尚有 **七個網站要爬**
* 每個禮拜兩個