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

0

4
4

文字

分享

0
4
4
除了蚯蚓、地震魚和民間達人,那些常見的臺灣地震預測謠言
鳥苷三磷酸 (PanSci Promo)_96
・2024/02/29 ・2747字 ・閱讀時間約 5 分鐘

-----廣告,請繼續往下閱讀-----

本文由 交通部中央氣象署 委託,泛科學企劃執行。

  • 文/陳儀珈

災害性大地震在臺灣留下無數淚水和難以抹滅的傷痕,921 大地震甚至直接奪走了 2,400 人的生命。既有這等末日級的災難記憶,又位處於板塊交界處的地震帶,「大地震!」三個字,總是能挑動臺灣人最脆弱又敏感的神經。

因此,當我們發現臺灣被各式各樣的地震傳說壟罩,像是地震魚、地震雲、蚯蚓警兆、下雨地震說,甚至民間地震預測達人,似乎也是合情合理的現象?

今日,我們就要來破解這些常見的地震預測謠言。

-----廣告,請繼續往下閱讀-----

漁民捕獲罕見的深海皇帶魚,恐有大地震?

說到在坊間訛傳的地震謠言,許多人第一個想到的,可能是盛行於日本、臺灣的「地震魚」傳說。

在亞熱帶海域中,漁民將「皇帶魚」暱稱為地震魚,由於皇帶魚身型較為扁平,生活於深海中,魚形特殊且捕獲量稀少,因此流傳著,是因為海底的地形改變,才驚擾了棲息在深海的皇帶魚,並因此游上淺水讓人們得以看見。

皇帶魚。圖/wikimedia

因此,民間盛傳,若漁民捕撈到這種極為稀罕的深海魚類,就是大型地震即將發生的警兆。

然而,日本科學家認真蒐集了目擊深海魚類的相關新聞和學術報告,他們想知道,這種看似異常的動物行為,究竟有沒有機會拿來當作災前的預警,抑或只是無稽之談?

-----廣告,請繼續往下閱讀-----

可惜的是,科學家認為,地震魚與地震並沒有明顯的關聯。當日本媒體報導捕撈深海魚的 10 天內,均沒有發生規模大於 6 的地震,規模 7 的地震前後,甚至完全沒有深海魚出現的紀錄!

所以,在科學家眼中,地震魚僅僅是一種流傳於民間的「迷信」(superstition)。

透過動物來推斷地震消息的風俗並不新穎,美國地質調查局(USGS)指出,早在西元前 373 年的古希臘,就有透過動物異常行為來猜測地震的紀錄!

人們普遍認為,比起遲鈍的人類,敏感的動物可以偵測到更多來自大自然的訊號,因此在大地震來臨前,會「舉家遷徙」逃離原本的棲息地。

-----廣告,請繼續往下閱讀-----

當臺灣 1999 年發生集集大地震前後,由於部分地區出現了大量蚯蚓,因此,臺灣也盛傳著「蚯蚓」是地震警訊的說法。

20101023 聯合報 B2 版 南投竹山竄出蚯蚓群爬滿路上。

新聞年年報的「蚯蚓」上街,真的是地震警訊嗎?

​當街道上出現一大群蚯蚓時,密密麻麻的畫面,不只讓人嚇一跳,也往往讓人感到困惑:為何牠們接連地湧向地表?難道,這真的是動物們在向我們預警天災嗎?動物們看似不尋常的行為,總是能引發人們的好奇與不安情緒。

如此怵目驚心的畫面,也經常成為新聞界的熱門素材,每年幾乎都會看到類似的標題:「蚯蚓大軍又出沒 網友憂:要地震了嗎」,甚至直接將蚯蚓與剛發生的地震連結起來,發布成快訊「昨突竄大量蚯蚓!台東今早地牛翻身…最大震度4級」,讓人留下蚯蚓預言成功的錯覺。

然而,這些蚯蚓大軍,真的與即將來臨的天災有直接關聯嗎?

-----廣告,請繼續往下閱讀-----

蚯蚓與地震有關的傳聞,被學者認為起源於 1999 年的 921 大地震後,在此前,臺灣少有流傳地震與蚯蚓之間的相關報導。

雖然曾有日本學者研究模擬出,與地震相關的電流有機會刺激蚯蚓離開洞穴,但在現實環境中,有太多因素都會影響蚯蚓的行為了,而造成蚯蚓大軍浮現地表的原因,往往都是氣象因素,像是溫度、濕度、日照時間、氣壓等等,都可能促使蚯蚓爬出地表。

大家不妨觀察看看,白日蚯蚓大軍的新聞,比較常出現在天氣剛轉涼的秋季。

因此,下次若再看到蚯蚓大軍湧現地表的現象,請先別慌張呀!

-----廣告,請繼續往下閱讀-----

事實上,除了地震魚和蚯蚓外,鳥類、老鼠、黃鼠狼、蛇、蜈蚣、昆蟲、貓咪到我們最熟悉的小狗,都曾經被流傳為地震預測的動物專家。

但可惜的是,會影響動物行為的因素實在是太多了,科學家仍然沒有找到動物異常行為和地震之間的關聯或機制。

遍地開花的地震預測粉專和社團

這座每天發生超過 100 次地震的小島上,擁有破萬成員的地震討論臉書社團、隨處可見的地震預測粉專或 IG 帳號,似乎並不奇怪。

國內有許多「憂國憂民」的神通大師,這些號稱能夠預測地震的奇妙人士,有些人會用身體感應,有人熱愛分析雲層畫面,有的人甚至號稱自行建製科學儀器,購買到比氣象署更精密的機械,偵測到更準確的地震。

-----廣告,請繼續往下閱讀-----

然而,若認真想一想就會發現,臺灣地震頻率極高,約 2 天多就會發生 1 次規模 4.0 至 5.0 的地震, 2 星期多就可能出現一次規模 5.0 至 6.0 的地震,若是有心想要捏造地震預言,真的不難。 

在學界,一個真正的地震預測必須包含地震三要素:明確的時間、 地點和規模,預測結果也必須來自學界認可的觀測資料。然而這些坊間貼文的預測資訊不僅空泛,也並未交代統計數據或訊號來源。

作為閱聽者,看到如此毫無科學根據的預測言論,請先冷靜下來,不要留言也不要分享,不妨先上網搜尋相關資料和事實查核。切勿輕信,更不要隨意散播,以免造成社會大眾的不安。

此外,大家也千萬不要隨意發表地震預測、觀測的資訊,若號稱有科學根據或使用相關資料,不僅違反氣象法,也有違反社會秩序之相關法令之虞唷!

-----廣告,請繼續往下閱讀-----

​地震預測行不行?還差得遠呢!

由於地底的環境太過複雜未知,即使科學家們已經致力於研究地震前兆和地震之間的關聯,目前地球科學界,仍然無法發展出成熟的地震預測技術。

與其奢望能提前 3 天知道地震的預告,不如日常就做好各種地震災害的防範,購買符合防震規範的家宅、固定好家具,做好防震防災演練。在國家級警報響起來時,熟練地執行避震保命三步驟「趴下、掩護、穩住」,才是身為臺灣人最關鍵的保命之策。

延伸閱讀

文章難易度

討論功能關閉中。

鳥苷三磷酸 (PanSci Promo)_96
196 篇文章 ・ 302 位粉絲
充滿能量的泛科學品牌合作帳號!相關行銷合作請洽:contact@pansci.asia