conditional random field (tsz. conditional random fields)
A CRF egy diszkrét címkézésre használt modell, ahol a kimeneti címkék nem függetlenek – például:
A CRF egy gráf alapú modell, amely egy adott X bemenethez rendeli hozzá a Y címkék eloszlását:
Ahol:
f_k
= jellemzőfüggvények (feature-ek)λ_k
= súlyparaméterek (tanulás alatt optimalizálva)Z(X)
= normalizáló tényező (partition function), amely biztosítja, hogy az összegzett valószínűségek 1-et adjanak
Bemenet: Címkék: PER O O LOC LOC
Ebben a példában a CRF nemcsak azt tanulja meg, hogy pl. “John” gyakran személynév (PER), hanem azt is, hogy ha egy címke LOC
, akkor valószínű, hogy az azt követő címke is LOC
lesz.
Modell | Hátrány | Előny |
---|---|---|
HMM (Hidden Markov Model) | Feltételezi, hogy az input független és az állapotátmenet is Markov-típusú | Egyszerű, gyors |
CRF | Tanítása bonyolultabb | Nem kell függetlenségi feltételezés az inputokra, összetett jellemzők |
Terület | Felhasználás |
---|---|
Természetes nyelvfeldolgozás (NLP) | Szófaji elemzés, entitásfelismerés (NER), chunking |
Számítógépes látás (CV) | Képszegmentálás, objektumkijelölés |
Bioinformatika | Szekvencia-annotáció, fehérjeszerkezet-predikció |
Pénzügyi előrejelzés | Sorozatmodellezés, események kimenetelének becslése |
Eszköz | Nyelv | Funkció |
---|---|---|
sklearn-crfsuite | Python | Könnyen használható CRF NLP-re |
CRF++ | C++ | Klasszikus CRF toolkit, sok NLP benchmarkban használták |
PyStruct | Python | Strukturált predikció, CRF támogatással |
Wapiti | C | Nagy teljesítményű, gyors CRF motor |
AllenNLP | Python (PyTorch) | Neural CRF támogatás beágyazott NLP modellekhez |
A Conditional Random Field egy olyan grafikus modell, amely lehetővé teszi függő címkék együttes modellezését egy adott inputra (pl. szöveg vagy kép). Előnye, hogy figyelembe veszi a címkék közötti kapcsolatokat, ezért pontosabb eredményeket ad strukturált predikciós feladatokban, mint a független osztályozók vagy HMM-ek.