// 用於紀錄關聯的 Statistics Canada 人口普查姓名編碼
由 Statistics Canada 用於人口普查資料。
所有姓名統一為 4 位編碼。
正確處理帶重音符號的法語字元。
Statistics Canada 姓名編碼演算法用於人口普查與生命統計資料中的紀錄關聯(record linkage)。它會根據姓氏(以及必要時的名字)產生 4 位編碼。演算法會取姓氏的第一個字母以及之後兩個子音(母音與字母 Y 會被移除)。若姓氏提供的有效字元少於 3 個,則會使用名字的第一個字母補足。演算法在處理前會先將帶重音符號的法語字元轉換為基礎拉丁字母。
演算法步驟: 1. 取姓氏第一個字母 2. 取姓氏接下來 2 個子音 3. 需要時使用名字首字母 4. 以空白補齊至 4 個字元 範例: SMITH → SMTH S + M + T + H MacDONALD → MCDL M + C + D + (N L) Tremblay, Marie → TRMB T + R + M + B Lee, David → LEED L +(沒有其他子音)+ D 法語處理: Côté → COTE → CT Lépine → LEPINE → LPN 短姓名: Lo → LO (補齊) Kim, Su → KMS
Statistics Canada 姓名編碼是一種由加拿大政府用於人口普查與生命統計資料紀錄關聯的演算法。它會將姓名轉換為標準化的 4 位編碼,方便在不同資料庫之間比對紀錄。
演算法會在處理前,將帶重音的法語字元(如 é、è、ê、ç 等)自動轉換為基礎形式(e、c 等),確保無論原始資料是否帶有重音,最終的編碼結果都保持一致。
只有在姓氏不足以提供產生編碼所需的字元時,才會使用名字。如果移除母音後,姓氏中剩餘的有效字元少於 3 個,就會將名字的第一個字母加入編碼。
與 Soundex、Metaphone 等語音演算法不同,Statistics Canada 姓名編碼並非嚴格意義上的語音比對演算法,而是以穩定性與易於在政府系統實作為目標的字元擷取演算法,特別適合處理加拿大常見的姓名模式。