0

0
0

文字

分享

0
0
0

Google 搜尋預測、拼字檢查、與即時翻譯背後的統計模型:n-gram

活躍星系核_96
・2013/06/17 ・2112字 ・閱讀時間約 4 分鐘 ・SR值 537 ・八年級

國小高年級科普文,素養閱讀就從今天就開始!!

文 / T.S.Yo

n-gram, the final frontier, 喔,不是,更正:是一種統計模型,源自於夏農Claude Shannon)的資訊理論information theory),而主要應用在「自然語言處理」(natural language processing)跟「基因序列分析」(genetic sequence analysis)的研究上。

馬可夫鏈與 n-gram

簡單的說,這個統計模型就是一種馬可夫模型Markov model)。好吧,我承認這樣講沒有比較簡單。馬可夫鏈,用白話說,就是同類型的事件(不同的狀態)依序發生的機率,舉例來說,假設天氣有三種狀態:「晴天」、「陰天」跟「雨天」。如果昨天是雨天,那麼今天是「雨天」的機率,會跟昨天是「晴天」而今天是「雨天」的機率有所不同,這是因為我們相信天氣現象在時間上有某種連續性,前面發生的狀態會影響到後面發生的狀態,而馬可夫模型就是描述這種前後關係的數學語言。

一個完整的馬可夫模型,需要列舉所有狀態的條件機率。以前面天氣的例子來說,就是要列舉出「今天是晴天,明天會是晴天、陰天、雨天各自的機率」,以及「今天是陰天」和「今天是雨天」而明天各會是三種天氣的機率,總共有九個。如果我們把天氣的分類分得更細,種類更多,那麼這個馬可夫模型就會變得更複雜。

然而,從邏輯上我們可以推測,「前天的天氣」可能影響到「昨天的天氣」,進而影響到「今天的天氣」以及「明天的天氣」,所以前面所提到的馬可夫鏈,其實是假設了「只有前一天的天氣會影響到之後的天氣,之前的都無關緊要」,這就是最簡單的「一階馬可夫鏈」。如果我們放寬了這個假設,把「前N天的天氣」都納入考慮,那麼就成了「N階馬可夫鏈」,這是也是馬可夫模型的複雜形態之一。

當然,數學模型描述的是抽象層次的符號,所以前面例子裏的「天氣」可以代換成其他任意「有前後關係」的序列(sequence),例如「文字」。

讓我們繼續拿「天氣」當作例子,不過這次講的是「天」跟「氣」的關係:當「天」這個字出現的時候,後面接著是「氣」這個字的機率是多少?相信說到這裏,有用過各種中文輸入法的人,大概都已經知道關於這種「關係」的知識應用到生活中的哪些地方了。而這種知識的基礎,「字頻」跟「詞頻」,也是構成 n-gram 模型的基礎。

中文的「字」是文字的最小單位,也就是 n=1 的狀況,稱作 unigram (uni 即「單一」),一種語言的「字頻」也就是該語言的 unigram model。從馬可夫鏈的角度來看,因為前後的關係項為零,這是一種「0 階馬可夫鏈」。

然後是「二字詞」,就像前面說的「天氣」,「天」後面接著各種字的機率,構成了 n=2 的狀況,bigram(bi 是「二」的字首),這也是一種一階馬可夫鏈:前一個狀態跟下一個狀態的關係。依此類推,我們可以進一步去建立 n=3,4,5… 的統計模型,而這些模型的集合,就是所謂的 n-gram 模型。

與傳統馬可夫模型不同的是,n-gram 裏每一個 gram 的可能狀態(在天氣的例子裏是「天氣類型」,在文字的例子理則是「字的種類」)通常很多,接近無限大。以前面的例子來看,我們可以把天氣分成簡單的幾類,但是中文裏的「字」,常用的就有 3000-5000 個,就算不計那些罕用字跟古字、自創字,要描述一個 5000×5000 = 兩千五百萬個機率的 bi-gram 模型也是一個不小的工程 。所幸的是,這兩千五百萬個機率有很多是接近於零的,例如:「美麗」這個詞出現的頻率很高,但是「美痢」可能就不會出現在任何地方(好吧,至少在這篇文章理出現過一次 XD)。因此, n-gram 模型不必詳述馬可夫模型裏的每個機率,有很多「不曾發生」的項目就直接以「趨近於零」來代表即可。

也由於這個特性,n-gram 模型相關的演算法和理論研究,很多都會特別處理這些「接近於零」的機率,讓整體的計算更加精確有效率。

n-gram 與 Google

如果從馬可夫鏈算起,n-gram 模型就不算是什麼非常新穎的概念,但其實際的應用卻可以說是跟隨著 Google 的成長而發揚光大。Google 在為所有的網頁編製目錄的同時,也統計了所有編目網頁裏的文字,形成一個非常大的 n-gram 模型,作為「搜尋」、「拼字檢查」、「翻譯」以及其他技術的基礎,同時 Google 也把他們統計出來的資料庫公佈在網路上,讓大眾免費使用。

Google 的翻譯演算法,跟傳統「查字典」的方法不同,而是依據 n-gram 的機率來推導,在某次公開的演講上,Google 的研發人員表示,這個方法效果本來一直都不佳,但是當 n-gram 資料庫大到某個程度時(more than billions of entries, 大於10億筆),翻譯的效果突然變得比傳統方法更精確。這也是這十年來「人工智能」由「規則」取向轉為「統計學習」取向的例子之一,「大量資料」和「高速計算」是在背後推動這項轉變的兩大動力。

雖然 n-gram 的發展與語言的應用息息相關,但是正如前面所說的,「數學處理的是抽象層次的問題」,因此近年來 n-gram 的技術也逐漸應用到其他不同類型的「序列」上。「音樂」是一個常見的應用:音階的前後關係,樂句的前後關係….等等,也都有人開始嘗試以 n-gram 模型來分析。

總之,統計模型的功用可以相當廣泛,Google 示範了 n-gram 的強大功能,相信未來還會有更多有趣的應用。

本文原發表於作者部落格Esse, of Something

文章難易度
活躍星系核_96
752 篇文章 ・ 106 位粉絲
活躍星系核(active galactic nucleus, AGN)是一類中央核區活動性很強的河外星系。這些星系比普通星系活躍,在從無線電波到伽瑪射線的全波段裡都發出很強的電磁輻射。 本帳號發表來自各方的投稿。附有資料出處的科學好文,都歡迎你來投稿喔。 Email: contact@pansci.asia

0

1
0

文字

分享

0
1
0
寵物過敏原有很多種,避免飲食過敏困擾,可選擇單一/特殊肉種寵物飼料
鳥苷三磷酸 (PanSci Promo)_96
・2023/06/06 ・2173字 ・閱讀時間約 4 分鐘

本文由 新萃 Nutri Source 委託,泛科學企劃執行。

你有發現家裡的狗狗經常舔自己四肢,或是身上出現不明紅疹?當心這可能是過敏反應。寵物和人類一樣,也會有過敏反應,過敏可依照「來源」分為三種:吸入性過敏、接觸性過敏和食物性過敏。

寵物的過敏源有哪些?

不管是哪一種過敏反應,在人的身上都比較容易發現和排除。但狗狗的過敏卻很難處理,如果是接觸性或吸入性過敏,即使你把家裡打掃得很乾淨,還是無法排除帶狗出去散步時可能接觸到的環境過敏原。因此,對飼主來說,最容易控制的是食物性過敏。

食物性過敏是怎麼發生的呢?其實,「食物過敏」這個詞並不太準確。正確的臨床醫學用詞是「食物不良反應」(Adverse Food Reaction, 簡稱AFR)(Jackson, H. , 2009),指的是吃下食物後身體產生各種不良反應。並進一步分為食物過敏(Food Allergy)和食物不耐受(Food Intolerances)兩種。

如果你看過動漫作品《工作細胞》,你就會知道過敏其實只是免疫系統對特定成分產生的過度反應,因此全名為「過分敏感」;而食物不耐受則並非免疫性反應,而是消化系統無法代謝或對該生物體有毒,例如狗不能吃洋蔥或巧克力,否則會致死等等。

由於寵物沒有選擇權,只能吃飼主提供的食物,如果飼料中恰好有會造成牠 AFR 的成分,就可能產生各種症狀。除了腸胃發炎和拉肚子外,最明顯的外在症狀就是皮膚問題,包括搔癢、脫毛和紅疹等。後者容易被誤判為皮膚性疾病,讓許多飼主狂跑獸醫院的同時,獸醫也難以對症下藥。

雖然曾有研究透過讓醫師用血液或唾液是否檢測出 IgE 抗體來判斷狗是否過敏(Ermel, R et al.,1997),但最新的研究卻發現,無論使用無論血清的 IgE 抗原或是唾液裡的 IgM 或 IgA 抗原都無法有效檢測出狗狗的過敏來源(Udraite Vovk Let al., 2019 & Lam ATH et al., 2019),甚至會造成偽陽性誤判。因此,目前學界公認唯一能識別食物過敏原的方法就是「食物排除法」(Food Elimination Method)。

以食物排除法,找出毛孩的食物過敏原!

食物排除法的原理相當簡單粗暴,類似我們過去在學校做的實驗一樣,抓出「控制組與對照組」。首先,將狗狗的食物換成牠沒吃過、單一來源且易消化的高蛋白質或水解蛋白質;同時嚴格限制牠對其他食物接觸,包括其他人餵食或路上亂吃等可能性都要注意,此為「對照組」,如此持續 8~12 週,觀察皮膚是否有改善。如果確實有改善,那就證明了確實是 AFR 而非皮膚病。

下一步我們可以進行「食物挑戰」,在每餐食物中逐一嘗試可能的過敏原(例如常見的牛肉、雞蛋等),有如「控制組」,等到症狀又出現,就可以確認哪種食物成分是過敏原,未來就可以在飼料中排除,讓狗狗健康快樂地成長。

這個方法需要飼主的大力配合和耐心紀錄,不僅要在漫長的試驗期,更需要在控制期一一排除所有不可能之後,才能找到答案。而其中最困難的部分,也是實驗的基礎可能是第一步:「提供狗狗牠從未吃過,且肉品單一的蛋白質」,這點對多數飼主來說幾乎是不可能的任務,因為大部分的寵物飼料成分都很複雜。不要說狗狗了,搞不好你連自己沒吃過什麼恐怕都不知道。

飼料成分多而雜,可選單一肉種飼料降低過敏。

那該怎麼進行食物排除法呢?別擔心,沒有找不到的肉品,只有勇敢的狗狗。市面上已經有了針對過敏狗狗的低敏飼料,新萃推出了一系列低敏肉,包含單一肉種的袋鼠肉、鹿肉以及野豬等相比牛豬羊等較不容易取得的肉類,是進行食物排除法第一步測試的首選。

此外,新萃牌無論哪種飼料都有美國專利 Good 4 Life® 奧特奇專利保健元素,能促進飼料中的營養都被狗狗完整吸收。不僅過敏的狗狗能吃,有消化不良症的狗狗也適用。

新萃商品選擇的是單一/特殊肉種的成分,低敏感肉品讓寵物吃了更安心。

參考資料

  1. Thus for the purpose of this discussion, although the term food allergy is used throughout, it should be recognized that this term is a presumptive clinical diagnosis and adverse food reaction is a more accurate term for these canine cases. – Consensus
  2. Jackson, H. (2009). Food allergy in dogs – clinical signs and diagnosis.. Companion Animal Practice.
  3. Assessment of the clinical accuracy of serum and saliva assays for identification of adverse food reaction in dogs without clinical signs of disease – PubMed (nih.gov)
  4. Lam ATH, Johnson LN, Heinze CR. Assessment of the clinical accuracy of serum and saliva assays for identification of adverse food reaction in dogs without clinical signs of disease. J Am Vet Med Assoc. 2019 Oct 1;255(7):812-816. doi: 10.2460/javma.255.7.812. PMID: 31517577.
  5. Direct mucosal challenge with food extracts confirmed the clinical and immunologic evidence of food allergy in these immunized dogs and suggests the usefulness of the atopic dog as a model for food allergy. – Consensus
  6. Ermel, R., Kock, M., Griffey, S., Reinhart, G., & Frick, O. (1997). The atopic dog: a model for food allergy.. Laboratory animal science.
  7. https://www.moreson.com.tw/moreson/blog-detail/furkid-knowledge/pet-knowledge/dog-food-allergen-TOP10/
  8. 狗狗因為食物過敏而搔癢不舒服,為什麼做「過敏原檢測」沒什麼用?
  9. 【獸醫診間小教室】狗狗皮膚搔癢難改善?小心食物過敏! – 汪喵星球 (dogcatstar.com)
  10. 寵物知識+/毛孩對什麼食物過敏?獸醫:驗血完全不準!診斷法只有一個 | 動物星球 | 生活 | 聯合新聞網 (udn.com)
  11. Is there a gold-standard test for adverse food reactions? – Veterinary Practice News
文章難易度
鳥苷三磷酸 (PanSci Promo)_96
172 篇文章 ・ 276 位粉絲
充滿能量的泛科學品牌合作帳號!相關行銷合作請洽:contact@pansci.asia