💬 Класифікатор Намірів Чат-бота — Подібність TF-IDF Наживо
Спостерігайте, як справжній векторизатор TF-IDF і зіставлювач косинусної подібності оцінює вхідне синтетичне повідомлення користувача відносно банку шаблонів намірів, наживо ранжуючи найкращий відповідний намір під час набору тексту.
Про цю симуляцію
Цей симулятор запускає справжній векторизатор TF-IDF (частота терміна, обернена частота документа) і зіставлювач косинусної подібності повністю в браузері — те саме сімейство алгоритмів, що живить легку, пояснювану маршрутизацію намірів чат-бота до або поряд із нейронною моделлю. Кожен шаблон наміру — «перевірити статус замовлення», «запит на повернення коштів», «скинути пароль» тощо — розглядається як документ; словник корпусу й ваги IDF перераховуються наживо з цих документів, а справжня проєкція PCA показує, як вектор запиту розташовується відносно кожного наміру у просторі векторів.
🔬 Що показано
Ранжована стовпчикова діаграма косинусної подібності для кожного шаблону наміру, 2D проєкція PCA векторів TF-IDF намірів і запиту (обчислена зі справжнім центруванням середнього, коваріацією та власними векторами методом степеневих ітерацій), а також діаграма внеску за термінами, що детально показує, які саме спільні слова спричинили переможний збіг.
🎮 Як користуватися
Введіть будь-яке повідомлення в живе текстове поле або натисніть «Відтворити потік», щоб пропустити через класифікатор набір синтетичних повідомлень користувачів з регульованою швидкістю. Додайте власний шаблон наміру з міткою та прикладами висловлювань, щоб побачити, як словник, ваги IDF і розташування PCA перераховуються наживо, або видаліть один, щоб побачити зсув межі. Скидання відновлює типовий корпус із п'яти намірів.
💡 Чи знали ви?
Оскільки косинусна подібність обмежена спільним словником, повідомлення, що не використовує жодного слова з корпусу, отримує низький бал проти кожного наміру — розрив упевненості між найкращим і другим найкращим наміром відповідно звужується. Це звуження — реальний, добре відомий сигнал, який виробничі базові моделі TF-IDF використовують для виявлення позаобластних або неоднозначних запитів.
Часті питання
Математика TF-IDF справді обчислюється, чи це заготовлена демонстрація?
Вона обчислюється наживо. Токенізація, підрахунки частоти терміна в документі, згладжена формула IDF ln((1+N)/(1+df))+1 і L2-нормалізовані вектори TF-IDF — усе це будується з тих шаблонів намірів, що наразі є в корпусі, включно з будь-якими, що додасте ви самі.
Як генерується діаграма векторного простору?
Вектор TF-IDF кожного наміру центрується за середнім, а два найбільші власні вектори отриманої коваріаційної матриці знаходяться методом степеневих ітерацій із дефляцією — стандартна, справжня реалізація методу головних компонент (PCA). 2D позиції — це проєкції кожного багатовимірного вектора на ці два власні вектори.
Чому незнайоме повідомлення іноді отримує низький бал упевненості для кожного наміру?
Косинусна подібність обмежена й повністю залежить від спільного словника. Якщо введене повідомлення майже не має спільних слів із прикладами висловлювань жодного наміру, кожен бал подібності буде низьким, а розрив упевненості звузиться — достовірний сигнал того, що класифікатор справді не впевнений.
Що відбувається, коли я додаю новий шаблон наміру?
Словник і підрахунки частоти документів перебудовуються для всіх намірів, включно з новим, що трохи змінює ваги IDF кожного наявного наміру. Потім усі вектори, проєкція PCA й бали подібності поточного запиту перераховуються відносно нового корпусу.
Справжній векторизатор TF-IDF і зіставлювач косинусної подібності оцінює вхідне синтетичне повідомлення користувача відносно банку шаблонів намірів, наживо ранжуючи найкращий відповідний намір під час набору тексту.
3D · рушій Three.js / WebGL · ціль 60 FPS · працює повністю на клієнті, без встановлення