This repository contains sample code and datasets for the paper "Dial-in LLM: Human-Aligned LLM-in-the-loop Intent Clustering for Customer Service Dialogues". The repository is structured into two main directories: ./data for datasets and ./code for implementation.
Sample dataset is stored at ./data.
data_labels.csvcontains the human-annotated intent labels for all 1507 clusters. The "relative" column indicates domain-specific (1) or out-of-domain (0).sample_dialogue_intent_goodness.jsoncontains 110 clusters with human-annotated goodness evaluation labels: 50 good clusters and 60 bad clusters.sample_dialogue_intent_label.jsoncontains 110 clusters with human-annotated intent labels.data_snapshot.pngdepicts the data input for intent clustering.
Sample code is stored at ./code.
cluster.pycontains code implementation for base (machine learning) models, including AgglomerativeClustering, KMeans, GaussianMixture, and DBSCAN.config.pyandconfig.jsoncontain configurations for the proposed method, including model path, instruction prompts, and hyperparameters.embedding.pycontains code implementation for sentence embedding with SentenceTransformer.multi_clustering.pydepicts the code implementation of the proposed iterative clustering algorithm.
The fine-tuned LLMs will soon be uploaded to cloud drives for convenient access.