mathrok
Version:
AI-powered symbolic mathematics library combining traditional Computer Algebra System (CAS) capabilities with natural language processing for math problem solving
69 lines • 2.01 kB
TypeScript
/**
* Enhanced Natural Language Processor
* Advanced NLP capabilities for mathematical query processing
*/
import { type IntentRecognition } from './dictionary.js';
export interface NLToken {
text: string;
type: 'operation' | 'expression' | 'variable' | 'number' | 'constant' | 'connector' | 'unknown';
confidence: number;
position: number;
context?: string;
}
export interface NLEntity {
type: 'expression' | 'variable' | 'number' | 'constant' | 'bounds';
value: string;
confidence: number;
position: number;
context?: string;
}
export interface NLResult {
originalQuery: string;
interpretation: IntentRecognition;
expression?: string;
parameters: Record<string, any>;
confidence: number;
alternatives: IntentRecognition[];
tokens: NLToken[];
entities: NLEntity[];
isMultiStep: boolean;
steps?: NLResult[];
}
export interface MultiStepResult {
originalQuery: string;
steps: NLResult[];
finalResult: any;
overallConfidence: number;
}
/**
* Advanced Natural Language Processor for mathematical queries
*/
export declare class NaturalLanguageProcessor {
private readonly phrasePatterns;
private readonly operationSynonyms;
private readonly contextKeywords;
constructor();
/**
* Process a natural language mathematical query
*/
processAdvanced(query: string): Promise<NLResult>;
/**
* Process multi-step mathematical queries
*/
processMultiStep(query: string): Promise<NLResult>;
private compilePhrasePatterns;
private preprocessQuery;
private isMultiStepQuery;
private decomposeMultiStepQuery;
private tokenize;
private classifyToken;
private extractEntities;
private classifyEntity;
private recognizeIntent;
private extractParametersFromPhrase;
private calculateContextScore;
private generateAlternatives;
private extractParameters;
private extractMainExpression;
}
//# sourceMappingURL=processor.d.ts.map