{"id":15143,"date":"2021-10-15T11:51:20","date_gmt":"2021-10-15T11:51:20","guid":{"rendered":"https:\/\/freehost.page\/?p=15143"},"modified":"2021-10-15T11:51:20","modified_gmt":"2021-10-15T11:51:20","slug":"ham-php-xac-dinh-gioi-cua-ten","status":"publish","type":"post","link":"https:\/\/kiencang.net\/ham-php-xac-dinh-gioi-cua-ten\/","title":{"rendered":"H\u00e0m PHP \u0111\u01a1n gi\u1ea3n gi\u00fap x\u00e1c \u0111\u1ecbnh gi\u1edbi t\u00ednh c\u1ee7a t\u00ean"},"content":{"rendered":"\n
H\u00f4m n\u1ecd t\u00f4i c\u00f3 vi\u1ebft b\u00e0i m\u00f4 h\u00ecnh x\u00e1c \u0111\u1ecbnh gi\u1edbi t\u00ednh c\u1ee7a \u0111\u1ec7m t\u00ean<\/a>, trong \u0111\u00f3 c\u00f3 n\u00f3i s\u01a1 v\u1ec1 thu\u1eadt to\u00e1n, v\u00e0 m\u1ea5y m\u1ea3ng ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi \u0111\u1ec3 d\u00f9ng ph\u00e2n t\u00edch d\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o. H\u00f4m nay, t\u00f4i vi\u1ebft h\u00e0m PHP \u0111\u01a1n gi\u1ea3n \u0111\u1ec3 x\u1eed l\u00fd v\u1ea5n \u0111\u1ec1 \u0111\u00f3, n\u00f3 \u0111\u00e2y:<\/p>\n\n\n\n Tr\u01b0\u1edbc h\u1ebft l\u00e0 2 h\u00e0m nh\u1ecf h\u1ed7 tr\u1ee3:<\/p>\n\n\n\n Sau \u0111\u00f3 l\u00e0 h\u00e0m ch\u00ednh:<\/p>\n\n\n\n H\u00e0m tr\u00ean th\u1ef1c s\u1ef1 c\u00f2n \u0111\u01a1n gi\u1ea3n, c\u00e1c \u0111i\u1ec3m c\u1ea7n c\u1ea3i ti\u1ebfn bao g\u1ed3m:<\/p>\n\n\n\n Xin ch\u00e0o v\u00e0 h\u1eb9n g\u1eb7p l\u1ea1i c\u00e1c b\u1ea1n trong b\u00e0i vi\u1ebft ki\u1ec3m tra ng\u01b0\u1ee3c \u0111\u1ec3 \u0111i\u1ec1u ch\u1ec9nh thu\u1eadt to\u00e1n nh\u1eb1m cho k\u1ebft qu\u1ea3 ch\u00ednh x\u00e1c h\u01a1n…<\/p>\n\n\n\n C\u1eadp nh\u1eadt<\/strong>:<\/p>\n\n\n\n PS1: T\u00f4i v\u1eeba ki\u1ec3m tra ng\u01b0\u1ee3c xong, Ngo\u00e0i ra b\u1ed5 sung \u0111o\u1ea1n m\u00e3 nh\u1ecf b\u00ean d\u01b0\u1edbi t\u0103ng th\u00eam \u0111\u1ed9 ch\u00ednh x\u00e1c kho\u1ea3ng 2%:<\/p>\n\n\n\n<?php\n\n\/* \n * PHP function to determine gender of the name\n * MIT License\n * Nguyen Duc Anh - freehost.page\n *\/\n\n\n\/\/ b\u1ecf kho\u1ea3ng tr\u1eafng d\u01b0 th\u1eeba\nfunction vn_rmv_wsp($str) { \n $str2 = trim($str, ' '); \n $rs = preg_replace('\/\\s+\/', ' ', $str2); \n\nreturn $rs;\n}\n\n\n\/\/ s\u1ed1 l\u01b0\u1ee3ng t\u1eeb c\u1ee7a chu\u1ed7i\nfunction vnn_word_count($str) { \n $str2 = vn_rmv_wsp($str); \n $word = mb_split(' ', $str2); \n $rs = count($word); \n\nreturn $rs;\n}<\/code><\/pre>\n\n\n\n
<?php\n\n\/* \n * PHP function to determine gender of the name\n * MIT License\n * Nguyen Duc Anh - freehost.page\n *\/\n\nfunction vn_gender_of_name_detect($name) {\n\/\/ \u0110\u1ed1i v\u1edbi 100 \u0111\u1ec7m n\u1eef ph\u1ed5 bi\u1ebfn nh\u1ea5t, ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi, nam \/ n\u1eef\n\n$mid_female_pop_ratio = array(\n \"b\u1ea3o 0.2906\",\n \"ng\u1ecdc 0.2377\",\n \"thanh 0.6048\",\n \"ph\u01b0\u01a1ng 0.0668\",\n \"minh 2.3654\",\n \"kim 0.08\",\n \"kh\u00e1nh 0.2814\",\n \"qu\u1ef3nh 0.005\",\n \"gia 2.3184\",\n \"nh\u01b0 0.0363\",\n \"anh 1.7481\",\n \"th\u1ea3o 0.0064\",\n \"m\u1ef9 0.0067\",\n \"y\u1ebfn 0.0047\",\n \"h\u1ed3ng 0.3364\",\n \"th\u00f9y 0.007\",\n \"t\u01b0\u1eddng 0.0623\",\n \"ho\u00e0ng 4.1042\",\n \"thi\u00ean 1.3579\",\n \"tuy\u1ebft 0.0055\",\n \"thu 0.0105\",\n \"mai 0.0224\",\n \"xu\u00e2n 0.7826\",\n \"tr\u00fac 0.014\",\n \"th\u00fay 0.0024\",\n \"b\u00edch 0.0104\",\n \"h\u00e0 0.0801\",\n \"\u00e1nh 0.0198\",\n \"h\u1ea3i 1.2511\",\n \"nh\u00e3 0.0108\",\n \"ki\u1ec1u 0.0104\",\n \"c\u1ea9m 0.1481\",\n \"di\u1ec5m 0.0105\",\n \"lan 0.0066\",\n \"t\u00fa 0.0443\",\n \"v\u00e2n 0.0426\",\n \"th\u1ee7y 0.0144\",\n \"tr\u00e2m 0.005\",\n \"tr\u00e0 0.0085\",\n \"th\u1ecb 0.001\",\n \"hu\u1ef3nh 0.4075\",\n \"uy\u00ean 0.0107\",\n \"ho\u00e0i 1.2162\",\n \"nh\u1eadt 5.1423\",\n \"c\u00e1t 0.0608\",\n \"t\u00e2m 0.1695\",\n \"huy\u1ec1n 0.0152\",\n \"h\u01b0\u01a1ng 0.018\",\n \"linh 0.0706\",\n \"kh\u1ea3 0.1092\",\n \"\u00e1i 0.0177\",\n \"an 1.0206\",\n \"di\u1ec7u 0.1006\",\n \"ng\u00e2n 0.037\",\n \"th\u1ee5c 0.0106\",\n \"qu\u1ebf 0.0538\",\n \"k\u1ef3 0.7218\",\n \"tu\u1ec7 0.0798\",\n \"\u0111an 0.166\",\n \"th\u00e1i 4.7217\",\n \"t\u1ed1 0.0132\",\n \"l\u00ea 2.4273\",\n \"b\u1ed9i 0.0321\",\n \"\u0111\u00f4ng 0.8571\",\n \"phi 2.4523\",\n \"h\u1ea1nh 0.0452\",\n \"uy\u1ec3n 0.001\",\n \"song 0.2656\",\n \"nam 2.6087\",\n \"hu\u1ec7 0.0511\",\n \"nguy\u1ec7t 0.0116\",\n \"\u00fd 0.0545\",\n \"m\u1eabn 0.122\",\n \"nguy\u00ean 5.2\",\n \"ph\u00fac 10.3974\",\n \"ch\u00e2u 0.4685\",\n \"trang 0.0315\",\n \"lam 0.121\",\n \"ti\u1ec3u 0.2213\",\n \"b\u00ecnh 2.6083\",\n \"hi\u1ec1n 0.2569\",\n \"l\u1ec7 0.0093\",\n \"b\u0103ng 0.0093\",\n \"m\u1ed9ng 0.001\",\n \"\u0111oan 0.001\",\n \"tri\u1ec7u 1.2083\",\n \"hi\u1ec3u 0.383\",\n \"vi\u1ec7t 7.8696\",\n \"th\u01b0 0.0112\",\n \"vy 0.046\",\n \"h\u1ea1 0.0247\",\n \"l\u00e2m 2.3026\",\n \"th\u1ee5y 0.04\",\n \"hi\u1ebfu 4.3562\",\n \"kh\u1ea3i 3.411\",\n \"ph\u1ee5ng 0.0704\",\n \"di\u1ec7p 0.2143\",\n \"thy 0.0597\",\n \"khi\u1ebft 0.1833\",\n \"h\u00e2n 0.0536\"\n);\n\n\/\/ \u0110\u1ed1i v\u1edbi 100 \u0111\u1ec7m nam ph\u1ed5 bi\u1ebfn nh\u1ea5t, ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi, nam \/ n\u1eef\n\n$mid_male_pop_ratio = array(\n \"minh 2.3654\",\n \"gia 2.3184\",\n \"ho\u00e0ng 4.1042\",\n \"qu\u1ed1c 256.913\",\n \"anh 1.7481\",\n \"thanh 0.6048\",\n \"th\u00e0nh 328.9167\",\n \"tu\u1ea5n 377.2\",\n \"t\u1ea5n 438.375\",\n \"\u0111\u1ee9c 157.1579\",\n \"quang 218.6154\",\n \"v\u0103n 394.1429\",\n \"b\u1ea3o 0.2906\",\n \"nh\u1eadt 5.1423\",\n \"\u0111\u0103ng 81.5667\",\n \"duy 56.55\",\n \"thi\u00ean 1.3579\",\n \"ng\u1ecdc 0.2377\",\n \"trung 96.15\",\n \"h\u1eefu 136.9286\",\n \"tr\u1ecdng 231.5\",\n \"ph\u00fac 10.3974\",\n \"ti\u1ebfn 506.6667\",\n \"ch\u00ed 138.1\",\n \"kh\u00e1nh 0.2814\",\n \"h\u1ea3i 1.2511\",\n \"huy 97.1667\",\n \"\u0111\u00ecnh 34.9091\",\n \"xu\u00e2n 0.7826\",\n \"th\u00e1i 4.7217\",\n \"c\u00f4ng 177.8333\",\n \"tr\u00ed 110.6667\",\n \"th\u1ebf 100.8889\",\n \"ph\u01b0\u1edbc 18.5217\",\n \"ph\u00fa 49.6471\",\n \"h\u1ed3ng 0.3364\",\n \"nguy\u00ean 5.2\",\n \"tr\u01b0\u1eddng 15.5417\",\n \"vi\u1ec7t 7.8696\",\n \"v\u0129nh 17.125\",\n \"ho\u00e0i 1.2162\",\n \"m\u1ea1nh 108.1667\",\n \"thi\u1ec7n 14.45\",\n \"l\u00ea 2.4273\",\n \"phi 2.4523\",\n \"nam 2.6087\",\n \"ph\u01b0\u01a1ng 0.0668\",\n \"b\u00e1 221.5\",\n \"\u0111\u1ea1i 103.5\",\n \"an 1.0206\",\n \"kim 0.08\",\n \"kh\u00f4i 17.1429\",\n \"ki\u1ebfn 48.7143\",\n \"hi\u1ebfu 4.3562\",\n \"nh\u1ef1t 12.0385\",\n \"b\u00ecnh 2.6083\",\n \"cao 24\",\n \"v\u0169 16.8824\",\n \"h\u00f9ng 84\",\n \"kh\u1ea3i 3.411\",\n \"ch\u1ea5n 247\",\n \"hu\u1ef3nh 0.4075\",\n \"vi\u1ebft 43.6\",\n \"h\u01b0ng 194\",\n \"t\u00f9ng 5.3889\",\n \"\u0111\u00f4ng 0.8571\",\n \"ph\u00e1t 180\",\n \"k\u1ef3 0.7218\",\n \"h\u1ea1o 14.8333\",\n \"long 25.2857\",\n \"nh\u1ea5t 11\",\n \"l\u00e2m 2.3026\",\n \"v\u0129 32.2\",\n \"thu\u1eadn 7.85\",\n \"khang 7.8421\",\n \"vinh 24.6667\",\n \"s\u01a1n 4.3333\",\n \"nguy\u1ec5n 6.7143\",\n \"qu\u00fd 3.2857\",\n \"kh\u1eafc 32.75\",\n \"tr\u1ea7n 21.5\",\n \"c\u1ea9m 0.1481\",\n \"s\u1ef9 119\",\n \"nh\u00e2n 6.5\",\n \"tri\u1ec7u 1.2083\",\n \"nh\u01b0 0.0363\",\n \"tu\u1ea7n 1000\",\n \"t\u01b0\u1eddng 0.0623\",\n \"phong 20\",\n \"t\u1ea7n 1000\",\n \"d\u01b0\u01a1ng 6.125\",\n \"\u0111\u1eafc 1000\",\n \"h\u00e0o 43\",\n \"danh 17\",\n \"tri\u1ec1u 3.4\",\n \"h\u00e0 0.0801\",\n \"t\u00e2m 0.1695\",\n \"h\u00f2a 7.8\",\n \"s\u0129 35.5\",\n \"ho\u00e0n 1.4792\"\n);\n\n\/\/ \u0110\u1ed1i v\u1edbi 100 t\u00ean n\u1eef ph\u1ed5 bi\u1ebfn nh\u1ea5t, ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi nam \/ n\u1eef\n\n$forename_female_pop_ratio = array(\n \"anh 0.4168\",\n \"vy 0.0071\",\n \"ng\u1ecdc 0.0349\",\n \"nhi 0.006\",\n \"h\u00e2n 0.0106\",\n \"th\u01b0 0.0063\",\n \"linh 0.0434\",\n \"nh\u01b0 0.0055\",\n \"ng\u00e2n 0.0095\",\n \"ph\u01b0\u01a1ng 0.1652\",\n \"th\u1ea3o 0.0291\",\n \"my 0.0061\",\n \"tr\u00e2n 0.0061\",\n \"qu\u1ef3nh 0.0188\",\n \"nghi 0.0256\",\n \"trang 0.0066\",\n \"tr\u00e2m 0.0078\",\n \"an 0.8035\",\n \"thy 0.0079\",\n \"ch\u00e2u 0.0713\",\n \"tr\u00fac 0.0128\",\n \"uy\u00ean 0.0019\",\n \"y\u1ebfn 0.0057\",\n \"\u00fd 0.0234\",\n \"ti\u00ean 0.0154\",\n \"mai 0.0085\",\n \"h\u00e0 0.0871\",\n \"v\u00e2n 0.0131\",\n \"nguy\u00ean 1.4339\",\n \"h\u01b0\u01a1ng 0.0078\",\n \"quy\u00ean 0.0099\",\n \"duy\u00ean 0.0078\",\n \"kim 0.0488\",\n \"trinh 0.0057\",\n \"thanh 0.4069\",\n \"tuy\u1ec1n 0.0179\",\n \"h\u1eb1ng 0.0108\",\n \"d\u01b0\u01a1ng 0.6413\",\n \"chi 0.0175\",\n \"giang 0.3136\",\n \"t\u00e2m 1.1008\",\n \"lam 0.0492\",\n \"t\u00fa 1.306\",\n \"\u00e1nh 0.0299\",\n \"hi\u1ec1n 0.2148\",\n \"kh\u00e1nh 2.0549\",\n \"minh 6.0777\",\n \"huy\u1ec1n 0.0067\",\n \"th\u00f9y 0.0035\",\n \"vi 0.0165\",\n \"ly 0.0095\",\n \"dung 0.002\",\n \"nhung 0.002\",\n \"ph\u00fac 7.5168\",\n \"lan 0.0064\",\n \"ph\u1ee5ng 0.0783\",\n \"\u00e2n 1.7271\",\n \"thi 0.0827\",\n \"khanh 0.6532\",\n \"k\u1ef3 0.5221\",\n \"nga 0.005\",\n \"t\u01b0\u1eddng 0.8272\",\n \"th\u00fay 0.0028\",\n \"m\u1ef9 0.1194\",\n \"hoa 0.0335\",\n \"tuy\u1ebft 0.0028\",\n \"l\u00e2m 2.7394\",\n \"th\u1ee7y 0.0291\",\n \"\u0111an 0.1518\",\n \"h\u1ea1nh 0.0393\",\n \"xu\u00e2n 0.0634\",\n \"oanh 0.0121\",\n \"m\u1eabn 0.4114\",\n \"khu\u00ea 0.1151\",\n \"di\u1ec7p 0.0299\",\n \"th\u01b0\u01a1ng 0.1706\",\n \"nhi\u00ean 0.274\",\n \"b\u0103ng 0.0246\",\n \"h\u1ed3ng 0.084\",\n \"b\u00ecnh 2.8223\",\n \"loan 0.0043\",\n \"th\u01a1 0.0086\",\n \"ph\u01b0\u1ee3ng 0.0181\",\n \"mi 0.0046\",\n \"nh\u00e3 0.1981\",\n \"nguy\u1ec7t 0.001\",\n \"b\u00edch 0.0105\",\n \"\u0111\u00e0o 0.037\",\n \"di\u1ec5m 0.001\",\n \"ki\u1ec1u 0.0233\",\n \"hi\u1ebfu 11.1813\",\n \"di 0.1282\",\n \"li\u00ean 0.001\",\n \"tr\u00e0 0.071\",\n \"tu\u1ec7 0.2895\",\n \"th\u1eafm 0.001\",\n \"di\u1ec7u 0.0435\",\n \"qu\u00e2n 15.8971\",\n \"nh\u00e0n 0.1691\",\n \"doanh 0.2647\"\n);\n\n\n\/\/ \u0110\u1ed1i v\u1edbi 100 t\u00ean nam ph\u1ed5 bi\u1ebfn nh\u1ea5t, ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi, nam \/ n\u1eef\n\n$forename_male_pop_ratio = array(\n \"huy 363.5882\",\n \"khang 164.7188\",\n \"b\u1ea3o 65.2436\",\n \"minh 6.0777\",\n \"ph\u00fac 7.5168\",\n \"anh 0.4168\",\n \"khoa 93.6471\",\n \"ph\u00e1t 313\",\n \"\u0111\u1ea1t 311.7\",\n \"kh\u00f4i 42.6984\",\n \"long 356.8571\",\n \"nam 130.6667\",\n \"duy 51\",\n \"qu\u00e2n 15.8971\",\n \"ki\u1ec7t 1042.5\",\n \"th\u1ecbnh 131.0667\",\n \"tu\u1ea5n 270.1429\",\n \"h\u01b0ng 156.6667\",\n \"ho\u00e0ng 23.2278\",\n \"hi\u1ebfu 11.1813\",\n \"nh\u00e2n 41.381\",\n \"tr\u00ed 284.8333\",\n \"t\u00e0i 238.7143\",\n \"phong 396\",\n \"nguy\u00ean 1.4339\",\n \"an 0.8035\",\n \"ph\u00fa 89.8235\",\n \"th\u00e0nh 121.5833\",\n \"\u0111\u1ee9c 175.75\",\n \"d\u0169ng 341.25\",\n \"l\u1ed9c 27.8511\",\n \"kh\u00e1nh 2.0549\",\n \"vinh 243.2\",\n \"ti\u1ebfn 119.1\",\n \"ngh\u0129a 93.6667\",\n \"thi\u1ec7n 34.6875\",\n \"h\u00e0o 272.25\",\n \"h\u1ea3i 54.9474\",\n \"\u0111\u0103ng 69\",\n \"quang 333.3333\",\n \"l\u00e2m 2.7394\",\n \"nh\u1eadt 41.087\",\n \"trung 130.1429\",\n \"th\u1eafng 296.3333\",\n \"t\u00fa 1.306\",\n \"h\u00f9ng 411\",\n \"t\u00e2m 1.1008\",\n \"sang 12.6032\",\n \"s\u01a1n 131.8333\",\n \"th\u00e1i 131.3333\",\n \"c\u01b0\u1eddng 196\",\n \"v\u0169 86.6667\",\n \"to\u00e0n 193.25\",\n \"\u00e2n 1.7271\",\n \"thu\u1eadn 15.9333\",\n \"b\u00ecnh 2.8223\",\n \"tr\u01b0\u1eddng 1000\",\n \"danh 69.8889\",\n \"ki\u00ean 306.5\",\n \"ph\u01b0\u1edbc 30\",\n \"thi\u00ean 10.6226\",\n \"t\u00e2n 56.2\",\n \"vi\u1ec7t 53.6\",\n \"kh\u1ea3i 74.7143\",\n \"t\u00edn 254.5\",\n \"d\u01b0\u01a1ng 0.6413\",\n \"t\u00f9ng 252\",\n \"qu\u00fd 9.5294\",\n \"h\u1eadu 8.2203\",\n \"tr\u1ecdng 161\",\n \"tri\u1ebft 105.75\",\n \"lu\u00e2n 410\",\n \"ph\u01b0\u01a1ng 0.1652\",\n \"qu\u1ed1c 129.6667\",\n \"th\u00f4ng 76\",\n \"khi\u00eam 366\",\n \"h\u00f2a 4.4321\",\n \"thanh 0.4069\",\n \"t\u01b0\u1eddng 0.8272\",\n \"kha 10.129\",\n \"v\u1ef9 94.3333\",\n \"b\u00e1ch 140\",\n \"khanh 0.6532\",\n \"m\u1ea1nh 137\",\n \"l\u1ee3i 8.1563\",\n \"\u0111\u1ea1i 244\",\n \"hi\u1ec7p 26\",\n \"\u0111\u00f4ng 16.7143\",\n \"nh\u1ef1t 45.8\",\n \"giang 0.3136\",\n \"k\u1ef3 0.5221\",\n \"phi 4.5319\",\n \"t\u1ea5n 106\",\n \"v\u0103n 3.6071\",\n \"v\u01b0\u01a1ng 39.8\",\n \"c\u00f4ng 95.5\",\n \"hi\u1ec3n 94\",\n \"linh 0.0434\",\n \"ng\u1ecdc 0.0349\",\n \"v\u0129 58\"\n);\n$gender = 'unknown'; \/\/ gi\u1ea3 \u0111\u1ecbnh ban \u0111\u1ea7u l\u00e0 ch\u01b0a x\u00e1c \u0111\u1ecbnh gi\u1edbi t\u00ednh \n\n\/\/ G\u1ed9p c\u00e1c m\u1ea3ng v\u1edbi nhau\n$mid_pop = array_merge($mid_male_pop_ratio, $mid_female_pop_ratio); \/\/ ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi c\u1ee7a 100 \u0111\u1ec7m ph\u1ed5 bi\u1ebfn c\u1ee7a nam v\u00e0 n\u1eef\n$forename_pop = array_merge($forename_male_pop_ratio, $forename_female_pop_ratio); \/\/ ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi c\u1ee7a 100 t\u00ean ph\u1ed5 bi\u1ebfn c\u1ee7a nam v\u00e0 n\u1eef\n\n\/\/ Tr\u01b0\u1eddng h\u1ee3p nh\u1eadp v\u00e0o m\u1ed9t t\u1eeb\n if (vnn_word_count($name) == 1) {\n foreach ($forename_pop as $fore) {\n $rs = mb_split(' ', $fore); \/\/ t\u00e1ch t\u1eeb\n\n if ($name == $rs[0]) {\n $qfn = $rs[1]; break;} \/\/ $qfn cho ta gi\u00e1 tr\u1ecb c\u1ee7a ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi c\u1ee7a t\u00ean v\u1eeba nh\u1eadp\n else {\n $qfn = NULL;} \n }\n\n if ($qfn!=NULL) {\n if ($qfn > 5) {$gender = \"nam\";}\n if (5 >= $qfn && $qfn >=1) {$gender = \"nam-n\u1eef\";}\n\n if (0.2 > $qfn) {$gender = \"n\u1eef\";}\n if ($qfn >= 0.2 && 1 > $qfn) {$gender = \"n\u1eef-nam\";}\n }\n }\n\n\n\/\/ Tr\u01b0\u1eddng h\u1ee3p nh\u1eadp v\u00e0o hai t\u1eeb\n if (vnn_word_count($name) == 2) {\n $sp_name = mb_split(' ', $name); \/\/ t\u00e1ch t\u1eeb\n\n $forename = $sp_name[1]; \/\/ t\u00ean ch\u00ednh\n $midname = $sp_name[0]; \/\/ \u0111\u1ec7m s\u00e1t t\u00ean ch\u00ednh\n\n \/\/ t\u00ecm ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi c\u1ee7a \u0111\u1ec7m\n foreach ($mid_pop as $mid) {\n $rs = mb_split(' ', $mid); \/\/ t\u00e1ch \u0111\u1ec7m v\u00e0 ch\u1ec9 s\u1ed1\n if ($midname == $rs[0]) {\n $qmn = $rs[1]; break;} \/\/ $qmn cho ta gi\u00e1 tr\u1ecb c\u1ee7a ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi c\u1ee7a \u0110\u1ec6M v\u1eeba nh\u1eadp\n else {\n $qmn = NULL;} \n }\n \n \/\/ t\u00ecm ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi c\u1ee7a t\u00ean ch\u00ednh\n foreach ($forename_pop as $fore) {\n $rs = mb_split(' ', $fore); \/\/ t\u00e1ch t\u00ean ch\u00ednh v\u00e0 ch\u1ec9 s\u1ed1\n if ($forename == $rs[0]) {\n $qfn = $rs[1]; break;} \/\/ $qfn cho ta gi\u00e1 tr\u1ecb c\u1ee7a ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi c\u1ee7a t\u00ean v\u1eeba nh\u1eadp\n else {\n $qfn = NULL;} \n }\n \n $cons_gender = 1.5; \/\/ h\u1ec7 s\u1ed1 gi\u1ea3 \u0111\u1ecbnh\n \n \/\/ b\u1eaft \u0111\u1ea7u ph\u00e2n t\u00edch n\u1ebfu \u0111\u1ec7m t\u00ean nh\u1eadp v\u00e0o n\u1eb1m trong nh\u00f3m ph\u00e2n t\u00edch \u0111\u01b0\u1ee3c, t\u1ee9c l\u00e0 kh\u00e1c NULL\n if ($qmn!=NULL && $qfn!=NULL) {\n \/\/ khi c\u1ea3 2 ch\u1ec9 s\u1ed1 \u0111\u1ec1u c\u00f3 thi\u00ean h\u01b0\u1edbng nam\n if ($qmn > 1 && $qfn > 1) {$gender = \"nam\";}\n \n \/\/ khi c\u1ea3 2 ch\u1ec9 s\u1ed1 \u0111\u1ec1u c\u00f3 thi\u00ean h\u01b0\u1edbng n\u1eef\n if (1 > $qmn && 1 > $qfn) {$gender = \"n\u1eef\";}\n\n \/\/ khi \u0111\u1ec7m c\u00f3 thi\u00ean h\u01b0\u1edbng nam, nh\u01b0ng t\u00ean ch\u00ednh l\u1ea1i c\u00f3 thi\u00ean h\u01b0\u1edbng n\u1eef\n if ($qmn > 1 && 1 > $qfn) {\n $reverse_ratio_forename = $cons_gender*(1\/$qfn); \/\/ tr\u01b0\u1eddng h\u1ee3p t\u00ean ch\u00ednh c\u00f3 thi\u00ean h\u01b0\u1edbng n\u1eef\n \n if ($qmn > $reverse_ratio_forename) {\n $gender = \"nam\";\n } \n else {$gender = \"n\u1eef\";\n }\n }\n\n \/\/ khi \u0111\u1ec7m c\u00f3 thi\u00ean h\u01b0\u1edbng n\u1eef, nh\u01b0ng t\u00ean ch\u00ednh l\u1ea1i c\u00f3 thi\u00ean h\u01b0\u1edbng nam\n if (1 > $qmn && $qfn > 1) {\n $reverse_ratio_midname = 1\/$qmn; \/\/ tr\u01b0\u1eddng h\u1ee3p \u0111\u1ec7m c\u00f3 thi\u00ean h\u01b0\u1edbng n\u1eef\n \n if ($reverse_ratio_midname > $cons_gender*$qfn) {\n $gender = \"n\u1eef\";\n } \n else {\n $gender = \"nam\";\n }\n } \n }\n }\n\nreturn $gender; \n}<\/code><\/pre>\n\n\n\n
\n\n\n\nC\u00e1ch n\u00f3 th\u1ef1c hi\u1ec7n<\/h2>\n\n\n\n
unknown<\/code> trong tr\u01b0\u1eddng h\u1ee3p \u0111\u1ec7m, t\u00ean ho\u1eb7c c\u1ea3 2 kh\u00f4ng n\u1eb1m trong top 100 \u0111\u1ec7m t\u00ean ph\u1ed5 bi\u1ebfn m\u00e0 n\u00f3 c\u00f3 th\u1ec3 ph\u00e2n t\u00edch \u0111\u01b0\u1ee3c,
unknown<\/code> \u1edf \u0111\u00e2y ngh\u0129a l\u00e0 kh\u00f4ng x\u00e1c \u0111\u1ecbnh \u0111\u01b0\u1ee3c;<\/li>
$cons_gender<\/code> = 1.5, ngh\u0129a l\u00e0 trong tr\u01b0\u1eddng h\u1ee3p \u0111\u1ec7m v\u00e0 t\u00ean ng\u01b0\u1ee3c thi\u00ean h\u01b0\u1edbng nhau th\u00ec sau khi chuy\u1ec3n \u0111\u1ed5i m\u1ed9t ch\u00fat th\u00ec \u0111\u1ec7m c\u1ea7n c\u00f3 thi\u00ean h\u01b0\u1edbng gi\u1edbi l\u1edbn h\u01a1n 1,5 l\u1ea7n t\u00ean ch\u00ednh th\u00ec \u0111\u1ec7m-t\u00ean \u0111\u00f3 m\u1edbi mang gi\u1edbi c\u1ee7a \u0111\u1ec7m, c\u00f2n kh\u00f4ng s\u1ebd mang gi\u1edbi c\u1ee7a nam. V\u00ed d\u1ee5 M\u1ea1nh Linh, th\u00ec M\u1ea1nh c\u00f3 thi\u00ean h\u01b0\u1edbng \u0111\u1ec7m nam t\u00ednh v\u1edbi h\u1ec7 s\u1ed1 108, Linh c\u00f3 thi\u00ean h\u01b0\u1edbng n\u1eef v\u1edbi h\u1ec7 s\u1ed1 0.0434, \u0111\u1ea3o l\u1ea1i ch\u1ec9 s\u1ed1 n\u00e0y th\u00ec l\u00e0 23 (1\/0.0434) cho t\u00ean n\u1eef. V\u00e0 108 > 1.5 * 23, do v\u1eady t\u00ean n\u00e0y mang gi\u1edbi c\u1ee7a \u0111\u1ec7m, ngh\u0129a l\u00e0 nam;<\/li>
\n\n\n\nC\u1ea3i ti\u1ebfn<\/h2>\n\n\n\n
$cons_gender<\/code> xem gi\u00e1 tr\u1ecb n\u00e0o cho t\u1ef7 l\u1ec7 \u0111\u00fang cao nh\u1ea5t;<\/li><\/ul>\n\n\n\n
\n\n\n\n$cons_gender<\/code> kh\u00f4ng \u1ea3nh h\u01b0\u1edfng qu\u00e1 l\u1edbn \u0111\u1ebfn k\u1ebft qu\u1ea3, thay \u0111\u1ed5i s\u1ed1 n\u00e0y trong kho\u1ea3ng t\u1eeb 1 \u0111\u1ebfn 5 ch\u1ec9 thay \u0111\u1ed5i 2% \u0111\u1ed9 ch\u00ednh x\u00e1c, gi\u00e1 tr\u1ecb t\u1ed1i \u01b0u m\u00e0 t\u00f4i d\u00f2 \u0111\u01b0\u1ee3c l\u00e0 1.3<\/p>\n\n\n\n
\/\/ tr\u01b0\u1eddng h\u1ee3p \u0111\u1ec7m l\u00e0 NULL v\u00e0 t\u00ean ch\u00ednh c\u00f3 ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi l\u1edbn h\u01a1n 12\n if ($qmn==NULL && $qfn!=NULL) {\n if ($qfn > 12) {$gender = \"nam\";}\n if (1\/$qfn > 12) {$gender = \"n\u1eef\";}\n }\n \n \n\/\/ tr\u01b0\u1eddng h\u1ee3p t\u00ean ch\u00ednh l\u00e0 NULL v\u00e0 t\u00ean \u0111\u1ec7m c\u00f3 ch\u1ec9 s\u1ed1 ph\u00e2n bi\u1ec7t gi\u1edbi l\u1edbn h\u01a1n 20\n if ($qmn!=NULL && $qfn==NULL) {\n if ($qmn > 10) {$gender = \"nam\";}\n if (1\/$qmn > 10) {$gender = \"n\u1eef\";}\n }<\/code><\/pre>\n\n\n\n