Documentation
¶
Overview ¶
Package goanon fournit une API de haut niveau pour la reconnaissance d'entités nommées (NER) et l'anonymisation de texte en français, anglais et espagnol.
Usage minimal :
f, _ := os.Open("model.crf.gz")
m, err := goanon.LoadModel(f)
r, err := goanon.NewRecognizer(m, goanon.WithLanguage("fr"))
entities, err := r.Recognize("Jean Dupont habite à Paris.")
Le Recognizer applique par défaut la configuration d'inférence validée sur WikiNER : ponctuation conservée dans les séquences CRF et découpage aux seules fins de phrase (cf. WithPunctuationTokens, WithSentenceBoundaries). NewRecognizer propage automatiquement le schéma de features et la fenêtre de contexte enregistrés dans le modèle ; Recognizer.Warnings() signale tout écart entre la configuration du modèle et celle de l'inférence (gazetteers ou Brown clusters manquants, langue différente).
Anonymisation :
anon := goanon.NewAnonymizer(r, goanon.Config{Strategy: goanon.TagReplace})
result, err := anon.Anonymize("Jean Dupont habite à Paris.")
// result.Text == "[PERSON_1] habite à [LOCATION_1]."
Index ¶
- Constants
- Variables
- type AnonymizeOption
- type AnonymizePass
- type BrownClusters
- type Config
- type Entity
- type EntityFilter
- type EntityType
- type Gazetteer
- type HashKey
- type LanguageDetector
- type LanguageResult
- type Leak
- type LeakKind
- type Model
- type Preset
- type Recognizer
- type RecognizerOption
- type RegexPattern
- type ReplacerFunc
- type Result
- type Session
- type SessionState
- type Strategy
- type VerificationError
- type VerificationReport
Constants ¶
const ( TypePER = ner.TypePER TypeLOC = ner.TypeLOC TypeORG = ner.TypeORG TypeMISC = ner.TypeMISC TypeEMAIL = ner.TypeEMAIL TypeIPV4 = ner.TypeIPV4 TypeIPV6 = ner.TypeIPV6 TypeIBAN = ner.TypeIBAN TypeSIRET = ner.TypeSIRET TypeSIREN = ner.TypeSIREN TypePHONE = ner.TypePHONE TypeAPIKey = ner.TypeAPIKey TypeJWT = ner.TypeJWT TypeSecret = ner.TypeSecret )
const ( LeakKnownEntity = anonymizer.LeakKnownEntity LeakRegexHit = anonymizer.LeakRegexHit LeakInvalidUTF8 = anonymizer.LeakInvalidUTF8 LeakResidualPlaceholderSource = anonymizer.LeakResidualPlaceholderSource )
const ( TagReplace = anonymizer.TagReplace Redact = anonymizer.Redact Hash = anonymizer.Hash Consistent = anonymizer.Consistent )
const ( PresetBalanced = ner.PresetBalanced PresetHighRecall = ner.PresetHighRecall )
const HashKeyEnvVar = anonymizer.HashKeyEnvVar
HashKeyEnvVar nomme la variable d'environnement portant la clé HMAC.
Variables ¶
var ( ErrHashKeyRequired = anonymizer.ErrHashKeyRequired ErrHashKeyTooShort = anonymizer.ErrHashKeyTooShort ErrHashKeyNotSet = anonymizer.ErrHashKeyNotSet ErrHashKeyFormat = anonymizer.ErrHashKeyFormat ErrPlaceholderCollision = anonymizer.ErrPlaceholderCollision ErrIncompleteMapping = anonymizer.ErrIncompleteMapping ErrVerificationFailed = anonymizer.ErrVerificationFailed ErrSessionClosed = anonymizer.ErrSessionClosed ErrSessionFull = anonymizer.ErrSessionFull )
Erreurs sentinelles de l'anonymiseur.
var Balanced = ner.Balanced
Balanced retourne les options du preset par défaut (compromis F1).
var BlocklistFilter = ner.BlocklistFilter
var BuiltinRegexPatterns = ner.BuiltinRegexPatterns
var ConsistencyPass = anonymizer.ConsistencyPass
var Deanonymize = anonymizer.Deanonymize
Deanonymize restaure le texte original depuis un mapping placeholder → original.
var DefaultSentenceBoundaries = ner.DefaultSentenceBoundaries
var DefaultVerifyPatterns = anonymizer.DefaultVerifyPatterns
DefaultVerifyPatterns liste les expressions régulières re-passées sur la sortie par défaut lors de la vérification.
var FirstNameDetectionFilter = ner.FirstNameDetectionFilter
var FirstNameReclassifyFilter = ner.FirstNameReclassifyFilter
var HashKeyFromEnv = anonymizer.HashKeyFromEnv
HashKeyFromEnv charge la clé HMAC depuis GOANON_HASH_KEY.
var HighRecall = ner.HighRecall
HighRecall retourne les options du preset « haut rappel » recommandé pour la conformité RGPD (à combiner avec WithStrictVerification).
var IsSecretType = ner.IsSecretType
IsSecretType identifie les types dont la valeur n'est jamais conservée dans un mapping ni ré-identifiable (clés d'API, JWT, mots de passe).
var LoadBrownClusters = features.LoadBrownClusters
var LoadGazetteer = features.LoadGazetteer
var LoadModel = ner.LoadModel
LoadModel charge un modèle CRF sérialisé depuis r (format gob+gzip).
var MaxTokensFilter = ner.MaxTokensFilter
var MergePass = ner.MergePass
var MinConfidenceFilter = ner.MinConfidenceFilter
var NameCompletionPass = ner.NameCompletionPass
var NewAnonymizer = anonymizer.New
NewAnonymizer crée un Anonymizer qui s'appuie sur le Recognizer donné.
var NewRecognizer = ner.New
NewRecognizer construit un Recognizer NER avec le modèle m et les options fournies. Voir WithLanguage, WithGazetteers, WithBrownClusters, WithPostFilters.
var NewSession = anonymizer.NewSession
var NewSessionFromState = anonymizer.NewSessionFromState
NewSessionFromState reconstruit une Session depuis son état sérialisé.
var NewWhatlangDetector = langdetect.NewWhatlangDetector
NewWhatlangDetector construit un détecteur de langue basé sur whatlanggo, restreint aux codes ISO 639-1 fournis.
var ParseHashKey = anonymizer.ParseHashKey
ParseHashKey décode une clé HMAC hexadécimale ou base64 (≥ 32 octets).
var PresetOptions = ner.PresetOptions
PresetOptions retourne les options associées à un preset nommé.
var RegexEntityFilter = ner.RegexEntityFilter
var SecretPatterns = ner.SecretPatterns
var SupportedLanguages = ner.SupportedLanguages
SupportedLanguages retourne les codes ISO 639-1 gérés par le pipeline (fr/en/es).
var SurnameCompletionPass = anonymizer.SurnameCompletionPass
var Verify = anonymizer.Verify
Verify recontrôle une sortie anonymisée : formes de surface résiduelles, identifiants structurés re-détectables, corruption d'encodage.
var WithBrownClusters = ner.WithBrownClusters
var WithBuiltinRegexPatterns = ner.WithBuiltinRegexPatterns
var WithBuiltinSecretPatterns = ner.WithBuiltinSecretPatterns
var WithConfidenceScores = ner.WithConfidenceScores
var WithEscapeCollisions = anonymizer.WithEscapeCollisions
var WithExposeSecrets = anonymizer.WithExposeSecrets
var WithFirstNameDetectionPass = ner.WithFirstNameDetectionPass
var WithFirstNameReclassify = ner.WithFirstNameReclassify
var WithGazetteers = ner.WithGazetteers
var WithHashKey = anonymizer.WithHashKey
var WithHashScope = anonymizer.WithHashScope
var WithInsecureHash = anonymizer.WithInsecureHash
var WithLanguage = ner.WithLanguage
var WithLegacyPlaceholders = anonymizer.WithLegacyPlaceholders
var WithMergePass = ner.WithMergePass
var WithNameCompletionPass = ner.WithNameCompletionPass
var WithPostFilters = ner.WithPostFilters
var WithPunctuationTokens = ner.WithPunctuationTokens
var WithRegexPatterns = ner.WithRegexPatterns
var WithSentenceBoundaries = ner.WithSentenceBoundaries
var WithSession = anonymizer.WithSession
var WithStrictVerification = anonymizer.WithStrictVerification
var WithVerification = anonymizer.WithVerification
var WithVerifyPatterns = anonymizer.WithVerifyPatterns
Functions ¶
This section is empty.
Types ¶
type AnonymizeOption ¶ added in v0.1.1
type AnonymizeOption = anonymizer.AnonymizeOption
type AnonymizePass ¶
type AnonymizePass = anonymizer.AnonymizePass
type BrownClusters ¶
type BrownClusters = features.BrownClusters
type Config ¶
type Config = anonymizer.Config
type EntityFilter ¶
type EntityFilter = ner.EntityFilter
type EntityType ¶
type EntityType = ner.EntityType
type HashKey ¶ added in v0.1.1
type HashKey = anonymizer.HashKey
type LanguageDetector ¶ added in v0.0.5
type LanguageDetector = langdetect.Detector
type LanguageResult ¶ added in v0.0.5
type LanguageResult = langdetect.Result
type Leak ¶ added in v0.1.1
type Leak = anonymizer.Leak
type LeakKind ¶ added in v0.1.1
type LeakKind = anonymizer.LeakKind
type Preset ¶ added in v0.1.1
Preset nomme un compromis précision/rappel (cf. Balanced, HighRecall).
type Recognizer ¶
type Recognizer = anonymizer.Recognizer
type RecognizerOption ¶
type RecognizerOption = ner.RecognizerOption
type RegexPattern ¶
type RegexPattern = ner.RegexPattern
RegexPattern associe une expression régulière à un type d'entité.
type ReplacerFunc ¶
type ReplacerFunc = anonymizer.ReplacerFunc
type Result ¶
type Result = anonymizer.Result
type Session ¶ added in v0.1.1
type Session = anonymizer.Session
type SessionState ¶ added in v0.1.1
type SessionState = anonymizer.SessionState
type Strategy ¶
type Strategy = anonymizer.Strategy
type VerificationError ¶ added in v0.1.1
type VerificationError = anonymizer.VerificationError
type VerificationReport ¶ added in v0.1.1
type VerificationReport = anonymizer.VerificationReport
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
anon-doc
command
Commande anon-doc — anonymisation de documents bureautiques (DOCX, ...).
|
Commande anon-doc — anonymisation de documents bureautiques (DOCX, ...). |
|
brown-cluster
command
Commande brown-cluster — génère des Brown clusters depuis un corpus texte.
|
Commande brown-cluster — génère des Brown clusters depuis un corpus texte. |
|
convert
command
Commande convert — réécrire un modèle CRF existant au format v4 (flux), sans réentraînement et sans altérer les poids.
|
Commande convert — réécrire un modèle CRF existant au format v4 (flux), sans réentraînement et sans altérer les poids. |
|
demo
command
Commande demo — démonstration interactive du pipeline NER et anonymisation.
|
Commande demo — démonstration interactive du pipeline NER et anonymisation. |
|
eval
command
Commande eval — évalue un modèle CRF-NER sur un corpus annoté.
|
Commande eval — évalue un modèle CRF-NER sur un corpus annoté. |
|
internal/cmdutil
Package cmdutil fournit des utilitaires partagés entre les commandes CLI.
|
Package cmdutil fournit des utilitaires partagés entre les commandes CLI. |
|
mappings
command
Commande mappings — administration du store de tables de ré-identification.
|
Commande mappings — administration du store de tables de ré-identification. |
|
prune
command
Commande prune — élaguer les poids d'un modèle CRF existant pour réduire son empreinte disque et mémoire, sans nécessiter de réentraînement.
|
Commande prune — élaguer les poids d'un modèle CRF existant pour réduire son empreinte disque et mémoire, sans nécessiter de réentraînement. |
|
server
command
|
|
|
synthcorpus
command
Command synthcorpus génère, valide et décrit un corpus synthétique annoté.
|
Command synthcorpus génère, valide et décrit un corpus synthétique annoté. |
|
train
command
Commande train — entraîne un modèle CRF-NER sur un corpus annoté.
|
Commande train — entraîne un modèle CRF-NER sur un corpus annoté. |
|
pkg
|
|
|
anonymizer/mappingstore
Package mappingstore conserve les tables de ré-identification produites par l'anonymiseur.
|
Package mappingstore conserve les tables de ré-identification produites par l'anonymiseur. |
|
checksum
Package checksum implémente les clés de contrôle des identifiants reconnus par les patterns intégrés de pkg/ner (SIREN, SIRET, IBAN, NIR).
|
Package checksum implémente les clés de contrôle des identifiants reconnus par les patterns intégrés de pkg/ner (SIREN, SIRET, IBAN, NIR). |
|
langdetect
Package langdetect fournit une abstraction de détection automatique de la langue d'un texte, indépendante de l'implémentation sous-jacente.
|
Package langdetect fournit une abstraction de détection automatique de la langue d'un texte, indépendante de l'implémentation sous-jacente. |
|
modelstore
Package modelstore provides automatic discovery, download, verification, and caching of NER models published on GitHub Releases.
|
Package modelstore provides automatic discovery, download, verification, and caching of NER models published on GitHub Releases. |
|
ocr
Package ocr définit l'abstraction de reconnaissance optique utilisée pour atteindre le contenu qu'aucune couche texte ne décrit : pages scannées, encarts bitmap, tampons, signatures.
|
Package ocr définit l'abstraction de reconnaissance optique utilisée pour atteindre le contenu qu'aucune couche texte ne décrit : pages scannées, encarts bitmap, tampons, signatures. |
|
synth/gazetteer
Package gazetteer charge et tire des valeurs dans des listes pondérées.
|
Package gazetteer charge et tire des valeurs dans des listes pondérées. |
|
synth/generate
Package generate assemble les documents synthétiques : parcours de l'AST, tirage des valeurs, application du bruit, projection BIO.
|
Package generate assemble les documents synthétiques : parcours de l'AST, tirage des valeurs, application du bruit, projection BIO. |
|
synth/render
Package render assemble un document synthétique sous forme de segments annotés, puis en dérive le texte et les spans.
|
Package render assemble un document synthétique sous forme de segments annotés, puis en dérive le texte et les spans. |
|
synth/template
Package template analyse les templates de documents synthétiques.
|
Package template analyse les templates de documents synthétiques. |
|
synth/value
Package value produit les valeurs insérées dans les documents synthétiques.
|
Package value produit les valeurs insérées dans les documents synthétiques. |