CLiFF is a research-driven pipeline that automates the generation of frequently asked questions (FAQs) from technical support tickets in high-performance computing (HPC) environments. It aims to reduce support ticket volume and streamline issue resolution through the use of Natural Language Processing (NLP), semantic embeddings, and instruction-tuned Large Language Models (LLMs).
This project was designed to adapt to evolving support trends through dynamic, data-driven methods. Instead of relying on static, manually curated FAQs, CLiFF enables:
- Ticket filtering based on anomaly frequency to prioritize high-impact issues
- Summarization of ticket content into issue-resolution pairs using LLMs
- Semantic subclustering of ticket issues, followed by ranking and selection of subclusters by size, cohesion, and separation
- LLM-based FAQ generation for each high-quality subcluster
The raw and cleaned support ticket datasets used in this project are not included in this public repository due to privacy, confidentiality, and institutional data restrictions.
This repository provides the full pipeline implementation (cleaning, summarization, clustering, and FAQ generation) so the workflow can be reproduced on comparable datasets with a similar schema.
The CLiFF pipeline processes support tickets through the following steps:
- Filtering: Select recent tickets based on anomaly frequency
- Cleaning & Summarization: Use an instruction-tuned LLM to extract issue-resolution pairs
- Subclustering: Embed and group similar issues within topic clusters using sentence embeddings
- Ranking & Generation: Identify top 15 subclusters and generate one FAQ per subcluster
/1_clean_tickets: Filters and preprocesses raw ticket data/2_summarize_tickets: Summarizes ticket content using an instruction-tuned LLM/3_select_tickets: Embeds, subclusters, and ranks high-quality ticket groupings/4_generate_faqs: Generates one FAQ per top-ranked subclusterCLiFF_Pipeline_Diagram.png: Visual representation of the pipelinerequirements.txt: Python libraries needed to run the pipeline
Each pipeline stage directory contains:
- A
README.mddescribing the purpose and usage of the stage - Scripts used in the production pipeline
- Training and experimental Jupyter notebooks
-
Install dependencies
Ensure your environment has Python 3.9+ and install required packages:pip install -r requirements.txt
-
Follow each stage
Navigate through each subfolder (/1_clean_tickets,/2_summarize_tickets, etc.) and follow theREADME.mdinstructions within each directory to run the pipeline step-by-step. -
Run scripts or notebooks
You can either:- Execute the scripts directly for production runs, or
- Use the provided Jupyter notebooks for testing, training, and experimentation
- Christina Joslin — Primary Author, Student Intern
- David Burns — Co-author, Student Intern
- Ashish — Mentor, Senior Research Data Scientist
- Elham J. Barezi, PhD — Technical Advisor, Lead Research AI Scientist
Joslin, C., Burns, D., Ashish, A., & Barezi, E. J. (2025, November). Generating Frequently Asked Questions from Technical Support Tickets using Large Language Models. Proceedings of the SC ’25 Workshops of the International Conference for High Performance Computing, Networking, Storage, and Analysis (pp. 715-726). Association for Computing Machinery. https://doi.org/10.1145/3731599.3767429
