نشریه تراکنش‌های شبکه‌های عصبی IEEE

TriageAI — دسته‌بندی و مسیردهی هوشمند تیکت‌های پشتیبانی (NLP)

چکیده پژوهش: در پروژه‌ی TriageAI یک سامانه‌ی هوشمند مبتنی بر پردازش زبان طبیعی طراحی شده که متن تیکت‌های پشتیبانی را دریافت می‌کند و سه خروجی اصلی ارائه می‌دهد: تشخیص موضوع تیکت تخمین میزان فوریت پیشنهاد تیم مناسب برای ارجاع مدل پیشنهادی از یک معماری سبک شامل Embedding و یک انکودر مشترک استفاده می‌کند. سپس با چند خروجی جداگانه، موضوع، فوریت و تیم مقصد را پیش‌بینی می‌کند.

مقدمه

در کسب‌وکارهای آنلاین، تیم‌های پشتیبانی روزانه با حجم زیادی از پیام‌ها و تیکت‌ها روبه‌رو هستند. اپراتورها باید برای هر پیام مشخص کنند: موضوع پیام چیست؟ چقدر فوری است؟ باید به کدام تیم ارجاع شود؟ انجام دستی این فرآیند باعث افزایش زمان پاسخ‌گویی، خطای انسانی، افت کیفیت خدمات و نارضایتی کاربران می‌شود. هدف پروژه‌ی TriageAI این است که مرحله‌ی اولیه‌ی بررسی تیکت‌ها را هوشمند کند تا قبل از ورود اپراتور، سیستم بتواند پیام را تحلیل و مسیر مناسب را پیشنهاد دهد.

معماری پیشنهادی و فرمولاسیون

۱) ورودی تیکت دریافت متن کاربر یا خروجی گفتار به متن. ۲) پیش‌پردازش متن نرمال‌سازی فارسی، حذف فاصله‌های اضافی و جداسازی کلمات. ۳) Keyword Guard بررسی کلمات حساس مثل «خداحافظ»، «bye» یا «فعلاً» برای تصمیم‌گیری سریع. ۴) مدل یادگیری ماشین درک متن با یک انکودر سبک مثل Embedding + Mean Pooling یا BiLSTM. ۵) خروجی مدل تولید همزمان خروی‌هایی مثل موضوع تیکت، فوریت و تیم مقصد.

نمودار معماری LoRA

پیاده‌سازی

برای درک بهتر، در قطعه کد زیر بخشی از پیاده‌سازی لایه خطی جایگزین شده با معماری پیشنهادی را در فریم‌ورک PyTorch مشاهده می‌کنید. برای مشاهده کدهای طولانی‌تر می‌توانید از اسکرول پایین باکس استفاده کنید:

class MultiHeadTriageModel(nn.Module):
    def __init__(self, vocab_size, topic_classes, urg_classes, team_classes):
        super().__init__()
        self.encoder = MeanPoolEncoder(vocab_size)
        self.shared = nn.Sequential(
            nn.Linear(128, 128),
            nn.ReLU(),
            nn.Dropout(0.2),
        )
        self.topic_head = nn.Linear(128, topic_classes)
        self.urg_head = nn.Linear(128, urg_classes)
        self.team_head = nn.Linear(128, team_classes)

    def forward(self, x):
        h = self.encoder(x)
        z = self.shared(h)
        return self.topic_head(z), self.urg_head(z), self.team_head(z)


            

نتیجه‌گیری

پروژه‌ی TriageAI یک راهکار عملی برای تریاژ خودکار تیکت‌های پشتیبانی ارائه می‌دهد. این سامانه می‌تواند موضوع پیام، میزان فوریت و تیم مقصد را به‌صورت خودکار تشخیص دهد. ترکیب مدل سبک NLP با ماژول Keyword Guard باعث می‌شود سیستم هم سریع باشد و هم در موقعیت‌های حساس تصمیم‌های قابل اعتماد بگیرد.