|
|
|
@@ -14,34 +14,34 @@ const log = logger("MEMORY_EXTRACTION");
|
|
|
|
|
|
|
|
|
|
/** Patterns indicating user preferences */
|
|
|
|
|
const PREFERENCE_PATTERNS: RegExp[] = [
|
|
|
|
|
/\bI\s+(?:really\s+)?prefer\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+(?:really\s+)?like\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bmy\s+(?:favorite|favourite)\s+(?:is|are)\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+(?:don'?t|do\s+not)\s+like\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+(?:hate|dislike|avoid)\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+enjoy\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+love\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+(?:really\s+)?prefer\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+(?:really\s+)?like\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bmy\s+(?:favorite|favourite)\s+(?:is|are)\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+(?:don'?t|do\s+not)\s+like\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+(?:hate|dislike|avoid)\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+enjoy\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+love\s+([^.,\n]+)/gi,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
/** Patterns indicating user decisions */
|
|
|
|
|
const DECISION_PATTERNS: RegExp[] = [
|
|
|
|
|
/\bI'?(?:ll|will)\s+use\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+chose\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+(?:have\s+)?decided\s+(?:to\s+)?(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI'?m\s+going\s+(?:to\s+)?(?:use|with|adopt)\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+selected\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+picked\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+went\s+with\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI'?(?:ll|will)\s+use\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+chose\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+(?:have\s+)?decided\s+(?:to\s+)?([^.,\n]+)/gi,
|
|
|
|
|
/\bI'?m\s+going\s+(?:to\s+)?(?:use|with|adopt)\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+selected\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+picked\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+went\s+with\s+([^.,\n]+)/gi,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
/** Patterns indicating user behavioral patterns */
|
|
|
|
|
const PATTERN_PATTERNS: RegExp[] = [
|
|
|
|
|
/\bI\s+usually\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+always\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+never\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+typically\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+tend\s+to\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+(?:often|frequently|regularly)\s+(.+?)(?:\.|,|$)/gi,
|
|
|
|
|
/\bI\s+usually\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+always\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+never\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+typically\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+tend\s+to\s+([^.,\n]+)/gi,
|
|
|
|
|
/\bI\s+(?:often|frequently|regularly)\s+([^.,\n]+)/gi,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// Maximum length for extracted content
|
|
|
|
|