Classifier (Lucene 10.5.0 classification API)
Description: declaration: package: org.apache.lucene.classification, interface: Classifier

Package org.apache.lucene.classification

# Interface Classifier<T>

All Known Implementing Classes:
  `BM25NBClassifier`, `BooleanPerceptronClassifier`, `CachingNaiveBayesClassifier`, `KNearestFuzzyClassifier`, `KNearestNeighborClassifier`, `KNearestNeighborDocumentClassifier`, `SimpleNaiveBayesClassifier`, `SimpleNaiveBayesDocumentClassifier`

public interface Classifier<T>
A classifier, see `http://en.wikipedia.org/wiki/Classifier_(mathematics)`, which assign classes of type `T`

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ClassificationResult<T>`
  `assignClass(String text)`
  Assign a class (with score) to the given text String
  `List<ClassificationResult<T>>`
  `getClasses(String text)`
  Get all the classes (sorted by score, descending) assigned to the given text String.
  `List<ClassificationResult<T>>`
  `getClasses(String text, int max)`
  Get the first `max` classes (sorted by score, descending) assigned to the given text String.

- ## Method Details

  - ### assignClass

    ClassificationResult<T> assignClass(String text) throws IOException
    Assign a class (with score) to the given text String
    Parameters:
      `text` - a String containing text to be classified
    Returns:
      a `ClassificationResult` holding assigned class of type `T` and score
    Throws:
      `IOException` - If there is a low-level I/O error.

  - ### getClasses

    List<ClassificationResult<T>> getClasses(String text) throws IOException
    Get all the classes (sorted by score, descending) assigned to the given text String.
    Parameters:
      `text` - a String containing text to be classified
    Returns:
      the whole list of `ClassificationResult`, the classes and scores. Returns `null` if the classifier can't make lists.
    Throws:
      `IOException` - If there is a low-level I/O error.

  - ### getClasses

    List<ClassificationResult<T>> getClasses(String text, int max) throws IOException
    Get the first `max` classes (sorted by score, descending) assigned to the given text String.
    Parameters:
      `text` - a String containing text to be classified
      `max` - the number of return list elements
    Returns:
      the whole list of `ClassificationResult`, the classes and scores. Cut for "max" number of elements. Returns `null` if the classifier can't make lists.
    Throws:
      `IOException` - If there is a low-level I/O error.