Table des matières

While “Fuzzy Concept Extractor” might seem like a specialization of “Concept Extractor”, it is a generalization compared to concept extractors for binary relations and multivalued crisp relations (“one value among”–think radio buttons).

If a fuzzy trait can have several modalities to varying degrees, with the sum of degrees (or affinities)

Fuzzy (or composite) Trait^{1)} | Multiple choice (Crisp) | Fuzzy (another) | Binary (explicit) | Binary (usual compact Y/N) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|

Red | Green | Blue | Luminance | Dog | Cat | Bird | Fish | Day | Night | Day | Night | Day | |

1 | 0 | X | daytime | ||||||||||

0 | 1 | _ | night time | ||||||||||

1 | 60% | 40% | evening? dawn? | ||||||||||

So (for quantified descriptors)

- a rated pattern is an ordered set of numeric values associated with descriptors
- a normed histogram (or affinities or belief weights?) is a pattern whose descriptors must add to 100%
- a multi-valued (scaled) attribute is a histogram which concentrates the 100% on a single modality
- a binary-valued attribute is a multi-valued attribute with only two modalities
- mostly abbreviated as “on/off”

- FuzzyConceptExtractor
- input : file of context to analyse, or
- FuzzyContext
- Trait*Modality framework
- Traits
- Modalities
- Norm Constraint (if sum of affinities must equal a set value: 100 for percents, 1000 for per mil, etc.)
- Trait-Modalities segmentation : for decoding (segmenting, parsing) the serialized affinities and applying the norm constraints.

- Specimens : TreeSet
- Specimen.name
- Specimen.affinities: serialized affinities for each trait.modality, in order
- Constructors
- TreeSet (Specimins is not a specialized class); Specimen have a lexicographic compareTo().

- FuzzyConcepts <TreeSet> : output
- FuzzyConcept
- Constructors
- FuzzyConcept(FuzzyConcept prior, FuzzyContext context, Specimen candidate) :
- FuzzyIntent of prior relaxed to admit candidate
- FuzzyExtent closed with respect to new FuzzyIntent for context.specimens.

- FuzzyConcept(FuzzyContext context, Specimen candidate)
- FuzzyIntent(Specimen candidate)
- FuzzyExtent(FuzzyIntent intent, FuzzyContext context, Specimen currentSpecimen)

- FuzzyIntent
- minAffinities : integer vector
- maxAffinities : integer vector
- Constructors
- FuzzyIntent(Specimen founder) : create an intent from a specimen (min=max=specimen.affinities)
- FuzzyIntent(FuzzyIntent prior, Specimen candidate) : create an intent from prior, relaxed to admit candidate.

- FuzzyExtent
- TreeSet <Specimen>
- Constructors
- FuzzyExtent(FuzzyIntent intent, FuzzyContext context) : list of all specimens in context which intent.admits().
- FuzzyExtent(FuzzyIntent intent, FuzzyContext context, Specimen currentSpecimen) :
- list of all specimens in context which intent.admits() if none are predecessors of currentSpecimen,
**null**otherwise.

- FuzzyExtent(FuzzyIntent intent, FuzzyContext context, Specimen currentSpecimen, FuzzyExtent prior) :
- prior plus list of all other specimens in context which intent.admits() if none are predecessors of currentSpecimen,
**null**otherwise.

- FuzzyConceptExtractor constructs FuzzyContext with normed affinities, specimens sorted by normed affinities in lexicographic order.
- For each specimen in FuzzyContext, FCE generates its FuzzyConcept
- If new (not redundant)
- For each successor specimen, derive relaxed FuzzyConcept – FuzzyConcept(FuzzyConcept prior, FuzzyContext context, Specimen candidate) – to include the candidate. If new, continue recursively. This will have to be done either via a FCE method or passing the FCE concept tree as an argument to be able to add each new concept to the tree.