# 專題一 各項名詞解釋 ## 網路爬蟲 簡單的來說,網路爬蟲就是從各個瀏覽器上,請求想要找尋的資料,建立索引並蒐索內容,在從搜尋的網站上,擷取想要的資訊。 大致步驟 1. 模擬使用這搜訊網頁伺服器 2. 發出請求(搜尋) 3. 蒐集資料 主要使用套件 - Requests [Doc] [GitHub] - BeautifulSoup [Doc] [Source] 網路爬蟲雖然對於想要搜索的資料的幫助很大,但是需要注意請求的秒數長短,避免造成網頁的負擔,造成當機等事故。 參考範例網址 https://www.learncodewithmike.com/2020/02/python-beautifulsoup-web-scraper.html https://www.webscrapingpro.tw/what-is-web-scraping/ ## CV 技術 也就是計算機視覺,是一種交叉科學,其中CV應用包刮: 1. 人臉辨識 2. 影像檢索 3. 遊戲和控制 4. 監控 5. 生物統計(指紋、虹膜、人臉匹配) 6. 智慧駕駛 目前最具影響力的技術則為: 1. 影像分析 2. 目標檢測 3. 目標追蹤 4. 語義分割 5. 例項分割 參考網址 https://www.itread01.com/content/1544958390.html https://lufor129.medium.com/opencv%E5%9C%96%E7%89%87%E8%99%95%E7%90%86%E6%95%B4%E7%90%86-%E7%B7%A9%E6%85%A2%E6%9B%B4%E6%96%B0-b45e248d14bb ## NLP 自然語言處理 主要的研究課題: 1. 語音辨識 (Speech to Text) / 文字朗讀 (Text to Speech) 2. 詞性標註 (Part-of-Speech Tagging, 簡稱POS Tagging) 3. 自然語言生成 (Natural Language Generation) 4. 主題模型 (Topic Model) / 文字分類 (Text Categorization) 5. 資訊檢索 (Information Retrieval) 6. 命名實體辨識 (Named Entity Recognition) 7. 資訊抽取 (Information Extraction) 8. 問答系統 (Question Answering) 9. 機器翻譯 (Machine Translation) ### **語音辨識** 根據說話的頻率高低起伏轉換成數字,放到類神經網路判斷字的機率高低,根據頻率的馬可夫鍊排列出最高機率的字。 ### **詞性標註** 詞性標注是許多自然語言處理的預步驟,多數時候我們會用Hidden Markov Model及Viterbi演算法來完成,但還有一個更簡單的方法,就是從一個已經標註好詞性的文章中,記錄每一個字形是出現各種詞性的頻率,接著在標註的時候,每當看到那個字型,就標上那個頻率最高的詞性。這個方法稱作Unigram Tagger,常會被用做詞性標註好壞的底線(Baseline)。 ### **自然語言生成** 讓電腦寫出人類讀得懂的語言。 ### **主題模型** 能夠幫助人們短時間理解原本幾乎不可能讀得完的大型非結構化的文集,例如科學文獻、許多的部落格等,其主要的任務就是找出大型文集中潛在的主題。主題模型有兩個假設: (i) 每個文件都混合著多個主題 (ii) 每個主題由多個字所組成。 主題模型的實作方法分為三: 1. Latent Semantic Analysis (LSA) 2. Probabilistic Latent Semantic Analysis (pLSA) 3. Latent Dirichlet Allocation (LDA) ### **資訊檢索** 簡單來說就是網頁搜尋的前置作業,從文件集進行預處理,建立引索。下次使用者查詢時,就會從中找尋、紀錄、修正、改進。 常見的索引建立方式包含: 1. 文件矩陣 (Document-Term Matrix) 2. 倒排索引 (Inverted Index) 3. 位置索引 (Positional Index) ### **命名實體辨識** 顧名思義--辨識「命名實體」。命名實體指一個真實世界的物件,可能是地方、人物、組織、產品等具有專有名稱的物件。例如「New York City」(紐約市)這三個字就都是指一個地方的命名實體,或是「Donald Trump」這兩個字指一個人物的命名實體。類似提過的詞性標註,命名實體辨識也是在字詞後面加註。而面臨和詞性標註相似的問題,同一個實體也能夠有多種標籤的可能。 ### **資訊抽取** 資訊抽取的主要目標是將文字轉換成有架構的資料,讓這些以類似資料庫的方式呈現。取得有架構的資料庫之後,能夠進一步的幫助許多應用進行決策。 ### **問答系統** 問答系統是一個自動為一自然語言問題找出答案(組)的任務。在問題轉換為查詢的過程中,我們會去掉停止詞以找出關鍵字(用於tf-idf),並且試著從問題中找提示。 ### **機器翻譯** 根據Vaquios三角形,翻譯被分為四個等級: 1. 字對字直接翻譯 2. 句法對句法翻譯 3. 意思對意思翻譯 4. 知識性翻譯。 機器翻譯這個仍在發展的領域目前幾乎都還在第一層,字對字翻譯。機器翻譯主要有word-based、phrase-based和Neural Encoder-Decoder三種處理方式。 參考網址 https://ithelp.ithome.com.tw/users/20118683/ironman/2141?page=2 ## 文本處理方式 ![圖片](https://easy-ai.oss-cn-shanghai.aliyuncs.com/2020-02-17-w2v-guanxi.png) 參考網頁 https://easyai.tech/ai-definition/word-embedding/ ### **Character encoding** 主要討論無符號整數和有符號整數的編碼不同帶來的理解上的問題。無符號整數編碼很容易理解,因為沒符號位。對於有符號整數,最高位為符號位,符號位的權值決定了正負。有符號位編碼有原碼、反碼和補碼三種方式。 參考網址 https://www.cnblogs.com/fangyan5218/archive/2018/07/11/9297345.html ### **one-hot encoding** One Hot encoding的編碼邏輯為將類別拆成多個行(column),每個列中的數值由1、0替代,當某一列的資料存在的該行的類別則顯示1,反則顯示0。 參考範例網址 https://codertw.com/%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7/95606/ ### **Word Enbedding** 是文本表示的一種方法。跟one-hot編碼和整數編碼的目的一樣,但有明顯的幾個優勢。 1. 透過低微向量來表達,不像One-hot那麼長 2. 語意相似詞在像輛空間上也會比較相近 3. 通用性很強,用在不同的任務中。 ![](https://easy-ai.oss-cn-shanghai.aliyuncs.com/2020-02-17-we.png) ### **Word2Vec** 基於統計方式預測填空的當前值。通常有兩種訓練方式: 1. CBOW(Continuous Bag-of-Words Model) 2. Skip-gram (Continuous Skip-gram Model) ![](https://easy-ai.oss-cn-shanghai.aliyuncs.com/2019-09-26-cbow.png) ![](https://easy-ai.oss-cn-shanghai.aliyuncs.com/2019-09-26-Skip-gram.png) 參考網址 https://easyai.tech/ai-definition/word2vec/ ### **GloVe** 基於全局詞頻統計的詞的表徵工具,把一個單詞表達成一個由十數組成的向量,這些向量捕捉到了單詞之間一些語意特性,通過向量的運算,得出距離或是COSINE相似度,計算出兩個單詞之間的語意相似性。 參考網址 http://www.fanyeong.com/2018/02/19/glove-in-detail/ ### **BERT** BERT 演算法是將前、後字詞都納入判斷語意的參考,所以能更精確判斷使用者搜尋該字串的意圖/目的。 參考網址 https://iter01.com/628966.html ## 多標籤 multi-label classification 在一張圖或是影片或是文章上,進行分類,有點類似建立索引,根據此東西得符合姓給予多個標籤(多標籤分類問題),或是在每個類別上進行分類(多類分類問題)。 基本上,有三種方法來解決一個多標籤分類問題,即: 1. 問題轉換 2. 改編演算法 3. 整合方法 參考網址 https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/404276/#outline__7_1 以上資料皆有資料來源附註,若有不周,敬請告知以進行修正