คงการสะกดภาษาอาหรับไว้และตรวจสอบชื่อที่จับคู่ได้
ส่งชื่อในรูปการสะกด Unicode ดั้งเดิม ช่องกรอกด้านล่างใช้ข้อความภาษาอาหรับที่เขียนจากขวาไปซ้าย ส่วนคู่มือนี้และการตอบกลับ JSON อ่านจากซ้ายไปขวา API รับข้อความนี้ได้โดยไม่ต้องถอดเสียงเป็นอักษรละตินที่ฝั่งไคลเอนต์ก่อน แต่การรับข้อความได้ไม่ได้เป็นการสัญญาว่าชุดข้อมูลมีชื่อนั้นอยู่
การค้นหาในชุดข้อมูลใช้การทำให้เป็นมาตรฐานแบบ Unicode NFKC และการแยกโทเค็น ไม่มีกฎทั่วไปที่ตัดเครื่องหมายกำกับเสียงภาษาอาหรับออกหรือถือว่าการสะกดที่ต่างกันเป็นแบบเดียวกัน เครื่องหมายสระและความต่างของการสะกดอื่นๆ จึงอาจทำให้ได้คีย์ที่จัดเก็บไว้ต่างกัน เก็บค่าดั้งเดิมไว้ และอย่าถือว่าทุกรูปแบบเป็นบุคคลเดียวกันโดยไม่แจ้ง
ชื่อเต็มอาจให้โทเค็นตัวเลือกได้หลายโทเค็น ระบบจะเลือกแถวที่มีจำนวนรวมที่จัดเก็บไว้มากที่สุดในบรรดาแถวที่มีอยู่ จึงไม่รับประกันว่าคำแรกจะเป็นชื่อที่ส่งคืน ตรวจสอบ data.name และ data.match ก่อนนำผลลัพธ์ไปเพิ่มในเรคคอร์ด
| ตัวอย่างข้อมูลนำเข้า | ความหมาย | สิ่งที่ควรตรวจสอบ |
|---|---|---|
ليلى الخطيب | ตัวอย่างชื่อเต็ม | อาจมีการพิจารณาหลายโทเค็น ให้ตรวจสอบการจับคู่ที่ถูกเลือก ตัวอย่างนี้ไม่ได้แสดงผลลัพธ์ของคำขอจริง |
ليلى / لَيْلَى | การสะกดที่ไม่มีและมีเครื่องหมายสระ | ส่งการสะกดจริงตามเดิม ไม่รับประกันว่าสองสตริงนี้จะเชื่อมไปยังแถวที่จัดเก็บไว้แถวเดียวกัน |
Layla / Leila | การสะกดด้วยอักษรละติน | เป็นข้อมูลนำเข้าคนละค่า V2 ไม่ได้สัญญาว่าการถอดเสียงแต่ละแบบจะเทียบเท่ากันโดยอัตโนมัติ |
country: SA | บริบทเดโมของซาอุดีอาระเบีย | บริบทนี้ไม่ใช่ค่าเริ่มต้นสำหรับทุกชุมชนที่ใช้ภาษาอาหรับ หากไม่ทราบประเทศ ให้ละ country ไว้ |
เลือกบริบทประเทศ SA อย่างระมัดระวัง
เดโมบนหน้านี้ส่งบริบท country: SA (ซาอุดีอาระเบีย) API ไม่ได้เลือกประเทศนี้จากระบบการเขียนของชื่อ ในการเชื่อมต่อของคุณ ให้ใช้บริบทที่ทราบและเกี่ยวข้อง หรือละ country ไว้ อย่าใช้ค่าตัวอย่างนี้เป็นค่าเริ่มต้นสำหรับทุกเรคคอร์ด
สำหรับชื่อตัวเลือกแต่ละรายการ การค้นหาในชุดข้อมูลจะใช้แถวตามประเทศก่อนหากมี หากไม่มีจะพิจารณาแถวส่วนกลาง จากนั้นจะเลือกชื่อตัวเลือกที่มีจำนวนรวมที่จัดเก็บไว้มากที่สุดในบรรดาชื่อตัวเลือกที่ใช้ได้ ตรวจสอบขอบเขตการจับคู่จริงใน data.match.scope และ data.match.country แถวตามประเทศที่กำกวมจะไม่ถูกแทนที่ด้วยผลลัพธ์ส่วนกลางโดยอัตโนมัติ แต่ fallback อาจใช้ AI แทน
data.input.country แสดงบริบทของคำขอ ส่วน data.country และ data.country_source แสดงความเชื่อมโยงที่ส่งคืน ทั้งสองเป็นฟิลด์คนละฟิลด์ และไม่ได้บ่งบอกสัญชาติ เชื้อชาติ หรือถิ่นที่อยู่
ส่งชื่ออาหรับด้วย V2
ตั้งค่าคีย์ API ที่มีอยู่ใน GENDERAPI_API_KEY แล้วรันคำขอบนเซิร์ฟเวอร์ ตัวอย่างนี้เปิดใช้ AI สำรองแบบปกติอย่างชัดเจน ตัวอย่างนี้แสดงเพียงรูปแบบของคำขอ ไม่ใช่ผลการคาดการณ์หรือผลความครอบคลุมที่วัดได้ หากต้องการใช้เฉพาะชุดข้อมูล ให้ใช้ options.ai_mode: off
เลือกภาษาโปรแกรม ตั้งค่าคีย์ API จากนั้นรันตัวอย่างบนเซิร์ฟเวอร์ของคุณ
คำขอคาดการณ์ทุกครั้งเป็นงานใหม่ที่มีการหักเครดิต รวมถึงคำขอที่ส่งซ้ำ ตัวอย่างเหล่านี้ไม่ส่งคำขอซ้ำโดยอัตโนมัติ ตรวจสอบสถานะการหักเครดิตก่อนส่งคำขออีกครั้ง
ก่อนรัน: การเข้าถึงและการจัดการข้อผิดพลาด
รันตัวอย่างเหล่านี้บนเซิร์ฟเวอร์ของคุณ ตั้งค่า GENDERAPI_API_KEY ในสภาพแวดล้อมของโปรเซสเป็นคีย์ API ที่มีอยู่ ตรวจสอบว่า meta.access.mode เป็น api_key เพราะคีย์ที่ระบบไม่รู้จักอาจทำให้ใช้การทดลองใช้ตาม IP แทน
การตอบกลับ JSON ที่มี HTTP 4xx และ 5xx จะคงเนื้อหาข้อผิดพลาดไว้และจบด้วยสถานะการออกที่ไม่ใช่ศูนย์ ตรวจสอบ code, action และ meta.usage.billing_status ก่อนส่งคำขอซ้ำ
คู่มือข้อผิดพลาดและการส่งคำขอซ้ำ →cURL 7.76+ ในเชลล์ POSIX รันในเทอร์มินัล เอกสารของรันไทม์
Node.js 22+ พร้อม fetch ในตัว บันทึกเป็น example.mjs แล้วรัน node example.mjs เอกสารของรันไทม์
Python 3.10+ พร้อมไลบรารีมาตรฐาน บันทึกเป็น example.py แล้วรัน python3 example.py เอกสารของรันไทม์
PHP 8+ พร้อมส่วนขยาย cURL บันทึกเป็น example.php แล้วรัน php example.php เอกสารของรันไทม์
Java 17+ พร้อมไคลเอนต์ HTTP มาตรฐาน บันทึกเป็น GenderApiExample.java แล้วรัน java GenderApiExample.java เอกสารของรันไทม์
แอปพลิเคชันคอนโซล .NET 8+ ใช้เป็น Program.cs ในโปรเจกต์คอนโซล แล้วรัน dotnet run เอกสารของรันไทม์
Go 1.22+ พร้อมไลบรารีมาตรฐาน บันทึกเป็น main.go แล้วรัน go run main.go เอกสารของรันไทม์
เก็บผลลัพธ์ไว้คู่กับหลักฐาน
ความเชื่อมโยงที่ได้จากการคาดการณ์ไม่ใช่เพศที่บุคคลระบุด้วยตนเอง เก็บข้อมูลนำเข้าต้นฉบับ หลักฐานที่ส่งคืน และข้อมูลที่บุคคลนั้นให้ไว้แยกจากกัน ผลลัพธ์ที่ไม่ทราบเป็นผลลัพธ์ที่ถูกต้อง จึงไม่ควรเปลี่ยนเป็นหมวดหมู่ที่เดาขึ้นในแอปพลิเคชันของคุณ
| ฟิลด์ | วิธีใช้ |
|---|---|
data.gender / data.result_status | ใช้ male หรือ female เฉพาะเมื่อเป็น identified เมื่อผลลัพธ์เป็น unknown ให้คงค่า JSON null ดั้งเดิมไว้ |
data.name / data.match | ตรวจสอบชื่อที่ส่งคืนและชื่อตัวเลือกที่ถูกเลือก การจับคู่บางส่วนของสตริงไม่ได้พิสูจน์ว่าข้อมูลนำเข้าเป็นของบุคคลที่มีชื่อจริงนั้น |
data.confidence / data.confidence_kind | ค่าความเชื่อมั่นอยู่บนสเกล 0–1 หรือเป็น null ค่า observed_frequency มาจากจำนวนที่จัดเก็บไว้ ส่วน model_reported เป็นคะแนนจาก AI ให้ประเมินเกณฑ์แยกตามแต่ละชนิด |
data.source / data.sample_count | แยก dataset, ai และ none ออกจากกัน ผลลัพธ์จาก AI ไม่มีจำนวนตัวอย่างที่จัดเก็บไว้ และจำนวนตัวอย่างไม่ใช่คะแนนความแม่นยำที่วัดได้ |
meta.access.mode | สำหรับการเชื่อมต่อด้วยบัญชี ให้ตรวจสอบว่าเป็น api_key หากไม่มีคีย์หรือระบบไม่รู้จักคีย์ อาจใช้การทดลองใช้ตาม IP ที่ใช้ร่วมกันแทน |
meta.usage | อ่าน charged_credits และ billing_status ผลลัพธ์ที่ไม่ทราบซึ่งดำเนินการสำเร็จจะถูกหักเครดิต การไม่ได้รับการตอบกลับไม่ได้แปลว่าคำขอนั้นไม่มีค่าใช้จ่าย |
เลือกว่าจะใช้ AI เมื่อใด
forceToGenderize เป็นตัวเลือกที่ไม่บังคับสำหรับชื่อ ที่อยู่อีเมล และชื่อผู้ใช้ เมื่อเปิดใช้ ให้ละ ai_mode หรือใช้ fallback เพราะ off และ always ขัดแย้งกับตัวเลือกนี้และจะส่งคืน 422 ยอดคงเหลือเริ่มต้นที่เป็นบวกก็เพียงพอสำหรับเริ่มคำขอ แม้การหักเครดิตครั้งสุดท้ายจะทำให้ยอดคงเหลือต่ำกว่าศูนย์
โหมดชื่อเล่นอาจส่งคืนเพศพร้อม name: null และอาจส่งคืนผลลัพธ์ที่ไม่ทราบได้เช่นกัน ทั้ง AI สำรองแบบปกติและการคาดการณ์จากชื่อเล่นไม่รับประกันคำตอบที่ถูกต้องหรือไม่เป็น null
| ตัวเลือกของคำขอ | การทำงาน | เครดิตสำหรับการค้นหาที่สำเร็จ |
|---|---|---|
| options.ai_mode: off | ใช้เฉพาะชุดข้อมูล | 1 รวมถึงผลลัพธ์ที่ไม่ทราบ |
| options.ai_mode: fallback | ค้นหาในชุดข้อมูลก่อน แล้วใช้ AI แบบปกติเมื่อไม่ได้ผลเป็นเพศ เป็นค่าเริ่มต้นของคำขอเดี่ยว | รวม 1 รวมถึง AI สำรอง |
| options.ai_mode: always | ใช้ AI โดยตรง | 2 |
| forceToGenderize: true | ค้นหาในชุดข้อมูลก่อน แล้วให้ AI ตีความชื่อเล่นหรือนามแฝงของบุคคลได้แม้ไม่มีชื่อจริง | 1 เมื่อชุดข้อมูลระบุเพศได้ หรือรวม 2 หากใช้ AI |
ประมวลผลรายชื่อโดยไม่สูญเสียบริบท
POST /api/v2/gender/batch รองรับสูงสุด 50 รายการด้วยคีย์ API ที่ลงทะเบียนแล้ว และสูงสุด 10 รายการในการทดลองใช้ตาม IP กำหนด ID ที่ไม่ซ้ำกันให้แต่ละรายการ และเก็บค่าดั้งเดิมของแต่ละแถวไว้ แต่ละรายการกำหนดประเทศและนโยบาย AI แยกกันได้ หากไม่ทราบประเทศ ให้ละ country ไว้
คำขอเดี่ยวใช้ fallback เป็นค่าเริ่มต้น แต่รายการในคำขอแบบกลุ่มใช้โหมดเฉพาะชุดข้อมูลเป็นค่าเริ่มต้น กำหนด options.ai_mode: fallback ให้แต่ละรายการที่ต้องการ AI แม้จะได้รับ HTTP 200 แล้ว ให้ตรวจสอบทุกผลลัพธ์ คงผลลัพธ์ที่ไม่ทราบไว้ตามเดิม และตรวจสอบข้อผิดพลาดของแต่ละรายการและการหักเครดิตก่อนส่งซ้ำ รายการปกติที่สำเร็จใช้รายการละ 1 เครดิต คำขอ HTTP แบบกลุ่มหนึ่งครั้งจึงไม่เท่ากับเครดิตการคาดการณ์หนึ่งเครดิต
ทำความเข้าใจข้อมูลที่คุณส่ง
เดโมบนหน้านี้จะส่งค่าที่กรอกไปยัง GenderAPI.io เฉพาะเมื่อคุณกดส่งเท่านั้น หากมีการใช้ AI ระบบจะส่ง type, value และบริบทประเทศที่ส่งมาไปยังบริการคาดการณ์ที่กำหนดค่าไว้ หากต้องการคาดการณ์จากชุดข้อมูลเท่านั้น ให้ใช้ options.ai_mode: off โดยไม่ใช้ forceToGenderize ในการเชื่อมต่อของคุณ
นโยบายความเป็นส่วนตัว ข้อตกลงการประมวลผลข้อมูล และรายชื่อผู้ประมวลผลข้อมูลช่วงอธิบายเงื่อนไขการจัดการข้อมูลที่เผยแพร่ไว้ ผลลัพธ์เป็นความเชื่อมโยงที่ได้จากการคาดการณ์ ให้ข้อมูลที่บุคคลนั้นให้ไว้มีความสำคัญกว่า และอย่าใช้ผลลัพธ์เป็นพื้นฐานของการตัดสินใจที่มีผลกระทบสำคัญต่อบุคคล
คำถามที่พบบ่อย
V2 รับข้อความภาษาอาหรับที่มีเครื่องหมายกำกับเสียงหรือไม่?
รับข้อมูลนำเข้าชื่อแบบ Unicode รวมถึงข้อความภาษาอาหรับ การทำให้เป็นมาตรฐานของชุดข้อมูลโดยทั่วไปไม่ได้ตัดเครื่องหมายสระภาษาอาหรับออก การสะกดที่มีและไม่มีเครื่องหมายสระจึงอาจให้การจับคู่ต่างกันหรือให้ผลลัพธ์ที่ไม่ทราบ
เครื่องมือนี้ระบุสัญชาติของผู้ที่ใช้ภาษาอาหรับหรือไม่?
ไม่ SA เป็นบริบทประเทศที่ระบุไว้อย่างชัดเจนสำหรับเดโมนี้ ระบบการเขียน ความเชื่อมโยงกับชื่อ และฟิลด์ประเทศที่ส่งคืนไม่ได้บ่งบอกสัญชาติหรือถิ่นที่อยู่
มีการวัดความแม่นยำสำหรับชื่ออาหรับทุกชื่อหรือไม่?
หน้านี้ไม่ได้เผยแพร่ผลการวัดดังกล่าว การที่ระบบรับข้อมูลนำเข้าได้ จำนวนที่จัดเก็บไว้ และค่าความเชื่อมั่นไม่ใช่เกณฑ์มาตรฐานความแม่นยำที่เป็นอิสระ ดูหลักฐานที่มีอยู่และการวัดที่ยังไม่ได้เผยแพร่ได้ในหน้าวิธีการ
ผลลัพธ์ที่ไม่ทราบใช้เครดิตหรือไม่?
ผลลัพธ์ที่ไม่ทราบซึ่งดำเนินการสำเร็จก็ถูกหักเครดิต โหมดชุดข้อมูลแบบปกติหรือโหมด fallback ใช้รวม 1 เครดิต หากใช้ forceToGenderize จะใช้ 1 เครดิตเมื่อได้ผลจากชุดข้อมูล หรือรวม 2 เครดิตเมื่อใช้ AI รวมถึงผลลัพธ์ที่ไม่ทราบจาก AI ข้อผิดพลาดมีกฎการหักเครดิตแยกต่างหาก ให้ตรวจสอบ meta.usage