Ekstrak nama, perusahaan, dan tanggal dari teks secara otomatis
Apa yang NER selesaikan yang regex tidak bisa
Regex sangat bagus untuk pola yang kaku: kode pos selalu memiliki format tertentu, email selalu mengandung @. Tapi nama orang, perusahaan, dan tanggal tidak memiliki pola tetap:
- "Pedro Silva", "Maria da Conceição dos Santos", "Dr. Fernando" — semuanya nama
- "Petrobras", "Banco do Brasil", "Itaú Unibanco SA", "Loja do Seu Zé" — semuanya perusahaan
- "5 de janeiro", "05/01/2026", "sexta passada", "próximo mês" — semuanya tanggal
NER menggunakan model bahasa yang belajar untuk memahami konteks: "perusahaan Itaú" vs "jalan Itaú". Regex tidak bisa membuat perbedaan ini; NER bisa melakukannya 95%+ dari waktu.

Entitas standar dan custom
Model NER publik (spaCy, HuggingFace) mendeteksi:
- PER (Orang): Pedro Silva, Dr. João
- ORG (Organisasi): Petrobras, Google
- LOC (Tempat): São Paulo, Brasil
- DATE: 5 de janeiro, 2026
- MONEY: R$ 1.500, USD 200
- TIME: 15h30, às 9 da manhã
- PERCENT: 20%, 0.5
Untuk domain tertentu, Anda bisa melatih model custom. Contohnya:
- Hukum: undang-undang, nomor perkara, pengadilan
- Medis: obat-obatan, penyakit (ICD-10), prosedur
- Keuangan: kode saham, cabang, rekening
Brainiall menawarkan model custom sesuai permintaan pada paket Business.
Cara kerjanya di balik layar (dalam 30 detik)
1. Tokenisasi: teks dipecah menjadi kata-kata dan tanda baca
2. POS tagging: setiap kata mendapat kelas gramatikal (kata benda, kata kerja...)
3. Kontekstualisasi: setiap kata diubah menjadi vektor 768+ dimensi dengan mempertimbangkan kata-kata di sekitarnya
4. Klasifikasi BIO: setiap token ditandai sebagai Begin-entity, Inside-entity, atau Outside. Contoh: "Pedro" (B-PER) "Silva" (I-PER) "trabalha" (O) "na" (O) "Petrobras" (B-ORG)
5. Agregasi: token B+I yang berurutan menjadi satu entitas tunggal
Model modern (mBERT, XLM-R, multilingual DeBERTa) menjalankan pipeline ini dalam ~10-50ms untuk satu paragraf.
Kasus penggunaan praktis
- CRM enrichment: mengekstrak perusahaan dan kontak dari email untuk memperbarui database
- Analisis berita: memantau penyebutan merek, pesaing, dan eksekutif di media
- Kepatuhan: menemukan nama orang dalam dokumen untuk audit perlindungan data
- Riset: mengekstrak penulis, kutipan, dan tanggal dari makalah akademik dalam skala besar
- Analisis hukum: mengidentifikasi pihak dalam perkara, undang-undang yang dikutip, dan tanggal persidangan
Keterbatasan spesifik untuk Bahasa Indonesia
- Nama majemuk dengan preposisi: beberapa model memisahkan nama menjadi dua entitas yang berbeda
- Perusahaan keluarga tanpa badan hukum: nama seperti "Warung Pak Budi" bisa dianggap deskripsi, bukan entitas
- Nama panggilan: "Jokowi" sebagai orang vs kata umum — sensitivitas huruf bervariasi
- Alamat lokal: Jalan + nama + nomor + kode pos — segmentasi bisa keliru
- Singkatan: "UI" sebagai entitas atau sekadar kata?
Tips: untuk kasus yang meragukan, selalu tinjau 100 contoh secara manual sebelum digunakan di produksi.
Integrasi via API
Endpoint tunggal mengembalikan array entitas:
`python
import httpx
r = httpx.post(
"https://api.brainiall.com/api/nlp/ner",
json={"text": "Pedro Silva, da Petrobras, anunciou em 5 de janeiro."},
headers={"Authorization": "Bearer brnl-xxx"}
)
# [{"text": "Pedro Silva", "type": "PER", "start": 0, "end": 11},
# {"text": "Petrobras", "type": "ORG", "start": 16, "end": 25},
# {"text": "5 de janeiro", "type": "DATE", "start": 40, "end": 52}]`
Coba sekarang juga
Minta "ekstrak orang, perusahaan, dan tanggal dari teks ini: [tempel]" di chat Brainiall. Atau via API /api/nlp/ner. Paket Pro seharga Rp 49rb mencakup 10k requests/bulan; paket Business menawarkan batch + model custom.