extraction

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package extraction implémente les services d'extraction d'identité Transforme les conversations en traits identitaires observables. Utilise une analyse heuristique multi-niveaux (patterns, n-grams, analyse de structure et scoring sémantique local) pour extraire l'identité sans dépendance à un LLM externe.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CommunicationPatterns

type CommunicationPatterns struct {
	QuestionPatterns       []string `json:"question_patterns"`
	AcknowledgmentPatterns []string `json:"acknowledgment_patterns"`
	AlternativePatterns    []string `json:"alternative_patterns"`
}

CommunicationPatterns définit les patterns pour le style de communication

type HeuristicRules

type HeuristicRules struct {
	// Patterns pour détecter les traits
	TraitPatterns map[entities.TraitCategory][]TraitPattern

	// Patterns pour le style de voix
	VoicePatterns VoicePatterns

	// Patterns pour le style de communication
	CommunicationPatterns CommunicationPatterns
}

HeuristicRules définit les règles heuristiques pour l'extraction

type SoulExtractorService

type SoulExtractorService struct {
	// contains filtered or unexported fields
}

SoulExtractorService implémente ports.IdentityExtractor Utilise des heuristiques avancées (patterns contextuels, n-grams, analyse de structure et lexique de sentiment) pour extraire l'identité. L'extraction reste 100 % locale et déterministe ; un connecteur LLM peut être branché ultérieurement pour augmenter la précision.

func NewSoulExtractorService

func NewSoulExtractorService() *SoulExtractorService

NewSoulExtractorService crée un nouveau service d'extraction

func (*SoulExtractorService) ExtractBehavioralSignature

func (s *SoulExtractorService) ExtractBehavioralSignature(ctx context.Context, conversation string, agentResponses []string) (*entities.BehavioralSignature, error)

ExtractBehavioralSignature implémente l'interface avec patterns de raisonnement.

func (*SoulExtractorService) ExtractCommunicationStyle

func (s *SoulExtractorService) ExtractCommunicationStyle(ctx context.Context, agentResponses []string) (*entities.CommunicationStyle, error)

ExtractCommunicationStyle implémente l'interface avec détection de structure enrichie.

func (*SoulExtractorService) ExtractEmotionalTone

func (s *SoulExtractorService) ExtractEmotionalTone(ctx context.Context, agentResponses []string) (*entities.EmotionalTone, error)

ExtractEmotionalTone implémente l'interface avec lexique de sentiment intégré.

func (*SoulExtractorService) ExtractFromConversation

func (s *SoulExtractorService) ExtractFromConversation(ctx context.Context, request *valueobjects.SoulCaptureRequest) (*ports.ExtractionResult, error)

ExtractFromConversation extrait l'identité complète depuis une conversation

func (*SoulExtractorService) ExtractTraits

func (s *SoulExtractorService) ExtractTraits(ctx context.Context, agentResponses []string, context string) ([]*entities.TraitObservation, error)

ExtractTraits implémente l'interface ports.IdentityExtractor. Utilise une détection par word-boundary, scoring contextuel et diversité des preuves.

func (*SoulExtractorService) ExtractValueSystem

func (s *SoulExtractorService) ExtractValueSystem(ctx context.Context, agentResponses []string, userFeedback map[string]string) (*entities.ValueSystem, error)

ExtractValueSystem implémente l'interface avec sentiment-weighted extraction.

func (*SoulExtractorService) ExtractVoiceProfile

func (s *SoulExtractorService) ExtractVoiceProfile(ctx context.Context, agentResponses []string) (*entities.VoiceProfile, error)

ExtractVoiceProfile implémente l'interface ports.IdentityExtractor avec analyse n-gram et structure.

type TraitPattern

type TraitPattern struct {
	TraitName  string   `json:"trait_name"`
	Keywords   []string `json:"keywords"`
	Intensity  float64  `json:"intensity"`
	Confidence float64  `json:"confidence"`
}

TraitPattern définit un pattern pour détecter un trait

type VoicePatterns

type VoicePatterns struct {
	FormalIndicators    []string `json:"formal_indicators"`
	InformalIndicators  []string `json:"informal_indicators"`
	HumorIndicators     []string `json:"humor_indicators"`
	EmpathyIndicators   []string `json:"empathy_indicators"`
	TechnicalIndicators []string `json:"technical_indicators"`
}

VoicePatterns définit les patterns pour le profil de voix

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL