Chatbot latency
The time delay between when a user submits a query to a chatbot and when the chatbot returns a response. High latency (e.g. 10 s in a bank’s chatbot) harms user satisfaction by making interactions feel sluggish.
Linguistic nuance
Subtle variations in language—such as tone, idioms, slang, and cultural references—that affect meaning. Handling these nuances helps a chatbot interpret ambiguous or informal user inputs accurately.
Lexical analysis
The initial NLP step that segments raw text into tokens (words, numbers, punctuation). It’s essential for downstream parsing and understanding.
Syntactic analysis
Also called parsing; it examines token sequences against grammatical rules to build a parse tree, revealing sentence structure.
Semantic analysis
The process of interpreting the meaning of tokens and their relationships, producing representations (e.g. semantic frames) that capture intent.
Pragmatic analysis
Understanding language in context—examining user intent, conversational history, and real‑world knowledge to resolve ambiguity.
Model training
The process of iteratively adjusting an AI model’s parameters on a labeled dataset so it learns to map inputs (e.g. user queries) to outputs (e.g. responses). Dataset size and quality critically influence accuracy.
Backpropagation
A learning algorithm for neural networks that propagates the error gradient from output back through each layer, updating weights to minimize loss. This underpins improvements in chatbot accuracy.
Static dataset
A fixed collection of training data that does not change once the model is deployed. Useful for stable performance but cannot adapt to new trends.
Dynamic dataset
A continuously updated dataset that incorporates new examples (e.g. fresh user chats), allowing the chatbot to evolve and stay current.
Parallel processing
Executing multiple computations simultaneously (e.g. on multi‑core CPUs or across machines) to reduce response time under heavy load.
Knowledge distillation
The technique of training a smaller “student” model to mimic a larger “teacher” model’s behavior, yielding a lightweight chatbot that retains most of the larger model’s accuracy.
Embedding layer
A neural network layer that maps discrete tokens (words) to continuous vectors in a high‑dimensional space, capturing semantic relationships for improved text processing.
Explainability
The degree to which a model’s internal reasoning can be understood by humans. In chatbots, transparent decision paths (e.g. attention scores) build user trust.
Transfer learning
Applying knowledge learned in one domain (pre‑trained language models) to a related task (fine‑tuning for customer support), reducing required training data and time.
Intent recognition
The NLP task of classifying a user’s overall goal or purpose (e.g. “book flight”, “reset password”) from their input text.
Entity recognition
Also Named Entity Recognition (NER); identifying and classifying key information units (e.g. names, dates, locations) within text.
Reinforcement learning
A learning paradigm where the chatbot improves by receiving rewards or penalties based on the quality of its responses, enabling long‑term conversational optimization.
Knowledge graph
A structured database of entities and their relationships, which a chatbot can query to retrieve accurate, up‑to‑date facts.
Speech‑to‑text processing
Converting spoken language into written text via acoustic and language models; extends chatbots to voice interfaces but must handle noise and pronunciation variability.
GPU (Graphics Processing Unit)
A specialized processor with thousands of cores optimized for parallel numeric computations, greatly accelerating large‑scale neural network inference compared to CPU‑only setups.
TPU (Tensor Processing Unit)
A custom Google‐designed ASIC for tensor operations in machine learning workloads, offering higher throughput and energy efficiency for inference and training.
CPU (Central Processing Unit)
The general‑purpose processor that executes program instructions sequentially; less efficient than GPUs/TPUs for large matrix operations common in NLP.
Tokenization
Breaking text into smaller units—words, subwords, or characters—serving as the first step in NLP. Choices (word‑based vs. character‑based vs. subword‑based) impact model size and handling of unknown words.
Word‑based tokenization
Splitting text on whitespace/punctuation into whole words; simple but struggles with rare or compound words.
Character‑based tokenization
Splitting text into individual characters; handles any input but results in long sequences and slower training.
Subword‑based tokenization
Splitting text into frequently occurring character n‑grams (e.g. Byte Pair Encoding); balances vocabulary size with capability to handle unknown words.
Named Entity Recognition (NER)
Extracting and classifying real‑world entities (persons, organizations, dates) from text, enhancing a chatbot’s ability to answer fact‑based queries.
Sentiment Analysis
Automatically detecting the emotional tone (positive, negative, neutral) of user input, allowing chatbots to adjust responses according to user mood.
Deterministic rule‑based chatbot
A chatbot that follows predefined rules and decision trees; predictable but inflexible, often failing when user input deviates from expected patterns.
Probabilistic machine learning chatbot
A chatbot that uses statistical or neural models to generate responses based on learned patterns; more flexible but can produce unexpected outputs.
Edge computing
Performing data processing (e.g. inference) on devices at the network edge (e.g. mobile phones) instead of centralized servers, reducing latency and bandwidth use.
Cloud‑based infrastructure
Hosting chatbot services on remote data centers accessed via the Internet; easily scalable but may incur higher latency and costs.
On‑premises computing
Running chatbot services on local servers owned by the organization; offers low latency and full control but requires upfront hardware investment.
Class
A blueprint that defines data (attributes) and behaviors (methods) for objects. Classes enable structured, reusable code.
Object
An instance of a class containing concrete values for its attributes and ready to execute its methods.
Encapsulation
The OOP principle of restricting direct access to an object’s internal state (making variables private) and exposing operations through public methods (getters/setters), improving maintainability and security.
Instance variable
A variable defined in a class for which each object gets its own copy, representing the object’s state.
Getter method
A public method that returns the value of a private instance variable, allowing controlled read access.
Setter method
A public method that sets or updates the value of a private instance variable, allowing controlled write access.
Inheritance
The mechanism by which one class (subclass) acquires attributes and methods from another (superclass), promoting code reuse and logical hierarchy.
Polymorphism
The ability of different classes to be treated through the same interface—methods like draw()
can behave differently in Circle
, Rectangle
, and Triangle
subclasses.
Abstract method
A method declared without implementation in a base class, forcing subclasses to provide concrete behavior (e.g. draw()
in a Shape
class).
Refactoring
Restructuring existing code (e.g. merging Student
and Teacher
into a Person
superclass) without changing external behavior, to improve readability and reduce duplication.
Composition
Building complex types by including instances of other classes (has‑a relationships) rather than inheriting from them, offering greater flexibility than inheritance alone.
Modular programming
Designing software as a collection of loosely coupled, self‑contained components (modules) that can be developed, tested, and maintained independently.
Monolithic design
A non‑modular approach where all functionality resides in a single codebase or module, often leading to maintenance and scaling challenges.
Static method
A method associated with the class rather than any instance; it cannot access instance variables and is called on the class itself.
Instance method
A method that operates on a specific object’s instance variables and can only be called through an object.
Interface
In languages like Java, an abstract type that declares method signatures without implementations, enabling multiple inheritance of behavior contracts.
Method overriding
A subclass’s ability to provide a specific implementation for a method already defined in its superclass, altering or extending the inherited behavior.
Method overloading
Defining multiple methods with the same name but different parameter lists within the same class, enhancing readability and flexibility.
Design pattern
A general, reusable solution template for common software design problems (e.g. Singleton, Factory, Observer) that promotes best practices.
Singleton pattern
Ensures a class has only one instance and provides a global access point to it, useful for shared resources like configuration managers.
Factory pattern
Encapsulates object creation logic in a separate factory class or method, enabling easy substitution of concrete implementations without changing client code.
Observer pattern
Defines a one‑to‑many dependency so that when one object’s state changes, all its dependents (observers) are notified and updated automatically.
Data hiding
Another term for encapsulation; preventing external code from directly accessing an object’s internal data to preserve invariants and integrity.
Procedural programming
A programming paradigm based on procedures or routines (functions) rather than objects; contrasts with OOP by organizing code around actions rather than data.
Feel free to let me know if you’d like any more cards or deeper examples!