Fuzzy Concept Extractor

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) Trait1) 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”

Classes and Pseudocode

  • 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.

Algorithm

  • 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.
1) conceivably, in a case like this example, luminosity could be unconstrained, but the RGB values could be constrained to produce that luminosity. The RGB values represent a pattern but not a histogram normed to 100%

 
java/fuzzy_concept_extractor.txt · Dernière modification: 2010/03/31 13:18 par suitable