مقدمه
در کسبوکارهای آنلاین، تیمهای پشتیبانی روزانه با حجم زیادی از پیامها و تیکتها روبهرو هستند. اپراتورها باید برای هر پیام مشخص کنند: موضوع پیام چیست؟ چقدر فوری است؟ باید به کدام تیم ارجاع شود؟ انجام دستی این فرآیند باعث افزایش زمان پاسخگویی، خطای انسانی، افت کیفیت خدمات و نارضایتی کاربران میشود. هدف پروژهی TriageAI این است که مرحلهی اولیهی بررسی تیکتها را هوشمند کند تا قبل از ورود اپراتور، سیستم بتواند پیام را تحلیل و مسیر مناسب را پیشنهاد دهد.
معماری پیشنهادی و فرمولاسیون
۱) ورودی تیکت دریافت متن کاربر یا خروجی گفتار به متن. ۲) پیشپردازش متن نرمالسازی فارسی، حذف فاصلههای اضافی و جداسازی کلمات. ۳) Keyword Guard بررسی کلمات حساس مثل «خداحافظ»، «bye» یا «فعلاً» برای تصمیمگیری سریع. ۴) مدل یادگیری ماشین درک متن با یک انکودر سبک مثل Embedding + Mean Pooling یا BiLSTM. ۵) خروجی مدل تولید همزمان خرویهایی مثل موضوع تیکت، فوریت و تیم مقصد.
پیادهسازی
برای درک بهتر، در قطعه کد زیر بخشی از پیادهسازی لایه خطی جایگزین شده با معماری پیشنهادی را در فریمورک 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 باعث میشود سیستم هم سریع باشد و هم در موقعیتهای حساس تصمیمهای قابل اعتماد بگیرد.