fuzzy-phrase-classifier
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

fuzzy-phrase-classifier npm version TypeScript License: MIT

Types | Functions

getBestFitForAll(strings: string[], phrases: Phrase[]): PhrasedResult[]

Function that takes strings and the phrases to be used in comparison and will return the best fit results.

Parameter Description
strings Is compared with each phrase in @phrases parameter
phrases Contains the pattern and phraseName objects that the @strings will be classified to
import { Phrase, getBestFitForAll } from "fuzzy-phrase-classifier";

const strings = [
  "The i o of the World",
  "The good Hunt",
  "The Dragqueen Reborn",
  "What Great Hunt?",
  "The iye of what Word?"
];

const phrases: Phrase[] = [
  { 
    "PhraseName": "The first book in the series",
    "Pattern": "The Eye of the World" 
  },    
  { 
    "PhraseName": "The second book in the series",
    "Pattern": "The Great Hunt" 
  },
  { 
    "PhraseName": "The third book in the series",
    "Pattern": "The Dragon Reborn" 
  }
];

console.log(getBestFitForAll(strings, phrases));

applyBestFitForAll(phraseables: Phraseable[], phrases: Phrase[]): void

Function that takes Phraseable objects and the phrases to be used in comparisons and will apply the best fit results into the appropriate properties of the working Phraseable object.

Parameter Description
phraseables Is compared with each phrase in the @phrases parameter using it's text property
phrases Contains the pattern and phraseName objects that the @phraseables will be classified to
import { applyBestFitForAll } from "fuzzy-phrase-classifier";

const strings = [
  "The i o of the World",
  "The good Hunt",
  "The Dragqueen Reborn",
  "What Great Hunt?",
  "The iye of what Word?"
];

const phrases: Phrase[] = [
  { 
    "PhraseName": "The first book in the series",
    "Pattern": "The Eye of the World" 
  },    
  { 
    "PhraseName": "The second book in the series",
    "Pattern": "The Great Hunt" 
  },
  { 
    "PhraseName": "The third book in the series",
    "Pattern": "The Dragon Reborn" 
  }
];

class ExampleClass {
  text; // Raw text to be used in comparisons
  score; // Best score result
  bestFitPhrase; // Best fit phrase string

  constructor(text) {
    this.text = text;
  }
}

const phraseables = strings.map(text => new ExampleClass(text));

phraser.applyBestFitForAll(phraseables, phrases);
console.log(phraseables);

Phrase: interface

The Phrase interface is a structure that defines a phraseName and a pattern required for the fuzzy string searching.

Property Description
PhraseName Name of the phrase
Pattern String to be searched and matched with

PhrasedResult: class

The PhraseResult class is used to contain the results from a fuzzy string search.

Property Description
index Index of the text in the original collection
bestFitPhrase Best fit phrase identifier
score Decimal number from 0 to 1 like a percentage showing how sure the algorithm was of the match
text Reference to the text this PhrasedResult correlates to

Phraseable: interface

The Phraseable interface is a structure that defines text, score, and bestFitPhrase properties for use.

Property Data Flow Description
text in Text that will be used in comparisons for this object
bestFitPhrase out Best fit phrase identifier
score out Decimal number from 0 to 1 like a percentage showing how sure the algorithm was of the match

Dependencies

Package Sidebar

Install

npm i fuzzy-phrase-classifier

Weekly Downloads

2

Version

1.1.1

License

MIT

Unpacked Size

22 kB

Total Files

7

Last publish

Collaborators

  • chase-roth