ArtistQualityValidator
extends BaseQualityValidator
in package
Table of Contents
Constants
- HIGH_CONFIDENCE_THRESHOLD = 0.8
- MIN_QUALITY_THRESHOLD = 0.3
Properties
- $textSimilarity : TextSimilarityService
- $logger : LoggerInterface
Methods
- __construct() : mixed
- isHighConfidenceMatch() : bool
- isValidMatch() : bool
- scoreMatch() : float
- calculateStringSimilarity() : float
- Enhanced international string similarity
- hasAnyField() : bool
- normalizeText() : string
- Normalize text for international comparison
- hasSignificantDetails() : bool
- scoreAdditionalMetadata() : float
- scoreArtistDetails() : float
- scoreDiscography() : float
- scoreEnhancedNameSimilarity() : float
- scoreSpecificField() : float
Constants
HIGH_CONFIDENCE_THRESHOLD
private
mixed
HIGH_CONFIDENCE_THRESHOLD
= 0.8
MIN_QUALITY_THRESHOLD
private
mixed
MIN_QUALITY_THRESHOLD
= 0.3
Properties
$textSimilarity
protected
TextSimilarityService
$textSimilarity
$logger
private
LoggerInterface
$logger
Attributes
- #[LogChannel]
- $channel: \App\Modules\Logging\Channel::Metadata
Methods
__construct()
public
__construct(TextSimilarityService $textSimilarity) : mixed
Parameters
- $textSimilarity : TextSimilarityService
isHighConfidenceMatch()
public
isHighConfidenceMatch(array<string|int, mixed> $metadata, BaseModel|Artist $model, float $qualityScore) : bool
Parameters
Return values
boolisValidMatch()
public
isValidMatch(array<string|int, mixed> $metadata, float $qualityScore) : bool
Parameters
- $metadata : array<string|int, mixed>
- $qualityScore : float
Return values
boolscoreMatch()
public
scoreMatch(array<string|int, mixed> $metadata, BaseModel|Artist $model) : float
Parameters
Return values
floatcalculateStringSimilarity()
Enhanced international string similarity
protected
calculateStringSimilarity(string $str1, string $str2) : float
Parameters
- $str1 : string
- $str2 : string
Return values
floathasAnyField()
protected
hasAnyField(array<string|int, mixed> $data, array<string|int, mixed> $fields) : bool
Parameters
- $data : array<string|int, mixed>
- $fields : array<string|int, mixed>
Return values
boolnormalizeText()
Normalize text for international comparison
protected
normalizeText(string $text) : string
Parameters
- $text : string
Return values
stringhasSignificantDetails()
private
hasSignificantDetails(array<string|int, mixed> $metadata) : bool
Parameters
- $metadata : array<string|int, mixed>
Return values
boolscoreAdditionalMetadata()
private
scoreAdditionalMetadata(array<string|int, mixed> $metadata) : float
Parameters
- $metadata : array<string|int, mixed>
Return values
floatscoreArtistDetails()
private
scoreArtistDetails(array<string|int, mixed> $metadata) : float
Parameters
- $metadata : array<string|int, mixed>
Return values
floatscoreDiscography()
private
scoreDiscography(array<string|int, mixed> $metadata) : float
Parameters
- $metadata : array<string|int, mixed>
Return values
floatscoreEnhancedNameSimilarity()
private
scoreEnhancedNameSimilarity(array<string|int, mixed> $metadata, Artist $artist) : float
Parameters
- $metadata : array<string|int, mixed>
- $artist : Artist
Return values
floatscoreSpecificField()
private
scoreSpecificField(string $field, mixed $value, float $baseWeight) : float
Parameters
- $field : string
- $value : mixed
- $baseWeight : float