attuned-infer 1.0.1

Fast, transparent inference of human state axes from natural language
Documentation

attuned-infer

Fast, transparent inference of human state axes from natural language for Attuned.

Overview

This crate provides linguistic analysis to infer user state from text. All inferences are:

  • Fast: <35 microseconds per message
  • Transparent: Every estimate includes explanation of features that drove it
  • Bounded: Maximum confidence 0.7 (self-report = 1.0)
  • Subordinate: Self-report always overrides inference

Quick Start

use attuned_infer::{InferenceEngine, LinguisticExtractor};

let engine = InferenceEngine::new();

// Analyze a user message
let message = "I really need this done ASAP!!! Can you help???";
let inferred = engine.infer_from_text(message)?;

// Check inferred axes with sources
for (axis, estimate) in inferred.estimates() {
    println!("{}: {:.2} (confidence: {:.2})",
        axis, estimate.value, estimate.confidence);
    println!("  Source: {:?}", estimate.source);
}

Validated Axes

Axis Evidence Level Notes
Formality Strong Pronoun usage, contractions
Emotional intensity Strong Punctuation, capitalization
Anxiety/stress Moderate-Strong Hedge words, uncertainty markers
Assertiveness Moderate Command forms, hedging
Urgency Moderate Time words, punctuation

Architecture

[Message] -> LinguisticExtractor -> LinguisticFeatures
                                          |
[History] -> DeltaAnalyzer ---------> BayesianUpdater -> InferredState
                                          |
[Self-Report] ----------------------> Override (confidence -> 1.0)

Features Extracted

  • Hedge words ("maybe", "perhaps", "I think")
  • Urgency markers ("ASAP", "urgent", "now")
  • Formality indicators (contractions, pronouns)
  • Emotional punctuation (!, ?, CAPS)
  • Certainty language ("definitely", "absolutely")

License

Apache-2.0