SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Future is here or how to
test NLP in chatbots
Iryna Yaroslavtseva
● 5 years of testing;
● 3+ years of testing chatbots;
Cherkasy, Ukraine
IRYNA
YAROSLAVTSEVA
of businesses want chatbots by 2020
Rule based AI based
Rule based AI based
Current project tech stack
NLPStructure
Messenger
“Show me yesterday’s financial news”
Utterance
“Show me yesterday’s financial news”
Utterances
● Delivery
● Thanks!
● Book me a flight to Rio next week.
● I already have a phone 9. What the plan going to
cost me ulimited switching over from crickety eyes
you have anything without 1st month.
“Show me yesterday’s financial news”
Intent: showNews
Verb Noun
“Show me yesterday’s financial news”
● checkCoverage
● buyIphone
● findBus
Intents
● bookFlight
● changeLine
● bookAppointment
“Show me yesterday’s financial news”
Entity Entity
Intent
● bookFlight
● checkCoverage
● buyIphone
Entities
● City, Date
● Location, Country
● Model, Color, Capacity
DISCOVERY MODEL
TRAINING
TESTING LEARNING
ON
PRODUCTIO
N
DISCOVERY
Key requirements
● Bot language
● Feature scope
● Target audience (user’s profile)
Key requirements
● Bot language
● Feature scope
● Target audience (user’s profile)
Key requirements
● Bot language
● Feature scope
● Target audience (user’s profile)
MODEL
TRAINING
TESTING
Challenges
● Unlimited inputs quantity
● No definition of quality
● No clear exit criteria
Solutions
● Risk analysis
● Data analysis
Challenges Solutions
● Unlimited inputs quantity
● No definition of quality
● No clear exit criteria
● Risk analysis
● Data analysis
Challenges Solutions
● Unlimited inputs quantity
● No definition of quality
● No clear exit criteria
● Risk analysis
● Data analysis
Challenges Solutions
● Unlimited inputs quantity
● No definition of quality
● No clear exit criteria
● Risk analysis
● Data analysis
Challenges Solutions
● Unlimited inputs quantity
● No definition of quality
● No clear exit criteria
● Risk analysis
● Data analysis
Structured response
Turning on / Turning
off NLP
Lost in the flow
Business restrictions
Profanity words
Similar intents
Default answer
Acronyms
Informal shortening
Shortening in writing
Emojis
Slang words
Intent + other words
Intent + small talk
Intent + other sentences
Misspellings
Synonyms
Similar phrases
NLP testing checklist
● Order pizza = Order piza
● Change day to Monday = Change day to Mobday
● Send picture = Senf picture
Misspellings
● New offers = New deals
● Some help = Some support = Some assistance
● Order iPhone = Purchase iPhone
Synonyms
● What benefits do you have? = Show me the advantages
● Where is my parcel? = Track my order
● Make a reservation on Friday = Book appointment,
Friday
Similar phrases
Can I order bundle of
two headphones, one
for me and one for
my dad?
Intent + other words
I saw your promo,
how to order the
headphones
orderHeadphones
Hello, find my bus
station please.
Intent + small talk
findStation
Morning! Nearest
bus station. Thanks.
My inbox is a dumpster! I'm like flooded with all the
messages. How can I unsubscribe ?
Intent + other sentences
unsubNews
● Lol - laugh out loud
● Asap - as soon as possible
● Np (No Problem), But how can I send my
booking confirmation
Acronyms
confirmBooking
Informal shortening
● Gonna - going to
● Lil’ - little
● Wanna - want to
Formal shortening
● I’m - I am
● Smth. - something
● I’ve - I have
Top:
👍 😀
😂 ❤️
Emoji
Banned:
🔪 🖕 🍑 🍆 💩
🖕🖕🌈 + 🚫 ⛪️ +
● Kudos! = praise and honor received for an
achievement
● You rock! = You're awesome (at something)
● On fleek = smooth, nice, sweet
Slang words
● I’d like to order dress
● I’d like to know where
is my dress?
Similar intents
trackOrder
makeOrder
● Sorry, I didn’t get that. Try again
● If you didn’t find what you wanted feel
free to see information in the Main Menu
or type ‘show me main menu’
Default (None) intent
Score for None intent
● If utterance score < 0.3
● Avoid repetitions
none
Dogs suffer = stop animal testing
Business restrictions
getInfo
● Bullshit
● Dammit
● Go to hell
Profanity
● Friday, 29 May 2015 05:50:06
● Test@test.com
● $ 1,234.60 = 1 234,6
Structured response
● Feedback forms
● Free form surveys
Turning off/ turning on NLP
Lost in the flow
Lost in the flow
● Intents - 3
● Utterances - 30
● Checklist based testing ≈ 8 hours
Checklist execution time
LEARNING ON
PRODUCTION
● Gathering the stats
● Analyzing what to add/change/delete in NLP model
● Training of the new version of NLP
● Testing
● Monitoring the results
Learning on production
● Gathering the stats
● Analyzing what to add/change/delete in NLP model
● Training of the new version of NLP
● Testing
● Monitoring the results
Learning on production
● Gathering the stats
● Analyzing what to add/change/delete in NLP model
● Training of the new version of NLP
● Testing
● Monitoring the results
Learning on production
● Gathering the stats
● Analyzing what to add/change/delete in NLP model
● Training of the new version of NLP
● Testing
● Monitoring the results
Learning on production
● Gathering the stats
● Analyzing what to add/change/delete in NLP model
● Training of the new version of NLP
● Testing
● Monitoring the results
Learning on production
New project roles
NLP model training
Statistics
Bot flow
Copy
NLP model training
Statistics
CONVERSATIONAL
DESIGNER
CONTENT
MANAGER
● Chatbot project = regular project
● NLP is the only unique component
● Analyze risks and statistics to enforce
effective and efficient testing
QA takeaways
● Chatbot project = regular project
● NLP is the only unique component
● Analyze risks and statistics to enforce
effective and efficient testing
QA takeaways
● Chatbot project = regular project
● NLP is the only unique component
● Analyze risks and statistics to enforce
effective and efficient testing
QA takeaways
NLP testing checklist
Thank you!
Questions
About me
Facebook LinkedIn

Weitere ähnliche Inhalte

Ähnlich wie QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему обробки природньої мови у чатботах

ReadingSEO Master Deck - 23rd January
ReadingSEO Master Deck - 23rd JanuaryReadingSEO Master Deck - 23rd January
ReadingSEO Master Deck - 23rd JanuaryMatt Williamson
 
The best content to broadcast on meerkat
The best content to broadcast on meerkatThe best content to broadcast on meerkat
The best content to broadcast on meerkatBryan S Arnold
 
Hiring and Outsourcing | Pay Per Call Masterclass
Hiring and Outsourcing | Pay Per Call MasterclassHiring and Outsourcing | Pay Per Call Masterclass
Hiring and Outsourcing | Pay Per Call MasterclassRingba
 
My Way: Techniques & Approaches for Web Analytics
My Way: Techniques & Approaches for Web AnalyticsMy Way: Techniques & Approaches for Web Analytics
My Way: Techniques & Approaches for Web AnalyticsPeter O'Neill
 
Conducting Lean User Studies
Conducting Lean User StudiesConducting Lean User Studies
Conducting Lean User StudiesSonar
 
Presentation for Investors
Presentation for InvestorsPresentation for Investors
Presentation for InvestorsInstando
 
Copywriting: Ways To Not Suck
Copywriting: Ways To Not SuckCopywriting: Ways To Not Suck
Copywriting: Ways To Not SuckKameron Kales
 
Instfeedback swba2012 pitch
Instfeedback swba2012 pitchInstfeedback swba2012 pitch
Instfeedback swba2012 pitchPeter Komornik
 
ASO Barcamp Talk 2: Top 10 ASO Questions
ASO Barcamp Talk 2: Top 10 ASO QuestionsASO Barcamp Talk 2: Top 10 ASO Questions
ASO Barcamp Talk 2: Top 10 ASO QuestionsAdapt Worldwide
 
UXSA - Preparing for the Interview - 3-12-20
UXSA -  Preparing for the Interview - 3-12-20UXSA -  Preparing for the Interview - 3-12-20
UXSA - Preparing for the Interview - 3-12-20Cherri Pitts
 
Language of Conversion
Language of ConversionLanguage of Conversion
Language of ConversionMike Roberts
 
Improving Analytics Success through Communication
Improving Analytics Success through CommunicationImproving Analytics Success through Communication
Improving Analytics Success through CommunicationAnna Lewis
 
Three Ways Fast Human Insight is Revolutionizing Marketing
Three Ways Fast Human Insight is Revolutionizing Marketing Three Ways Fast Human Insight is Revolutionizing Marketing
Three Ways Fast Human Insight is Revolutionizing Marketing UserTesting
 
From Click to Client: Digital Marketing Tips for Small Schools
From Click to Client: Digital Marketing Tips for Small SchoolsFrom Click to Client: Digital Marketing Tips for Small Schools
From Click to Client: Digital Marketing Tips for Small SchoolsTara Claeys
 
Генерация лидов: 23 хинта для писем и LinkedIn сообщений
Генерация лидов: 23 хинта для писем и LinkedIn сообщенийГенерация лидов: 23 хинта для писем и LinkedIn сообщений
Генерация лидов: 23 хинта для писем и LinkedIn сообщенийConformato
 
Igor Karpets. Still cold calling your leads? Grammarly's cold email strategy ...
Igor Karpets. Still cold calling your leads? Grammarly's cold email strategy ...Igor Karpets. Still cold calling your leads? Grammarly's cold email strategy ...
Igor Karpets. Still cold calling your leads? Grammarly's cold email strategy ...IT Arena
 
Smoke Your Competition: 14 Ways to a High Conversion Rate
Smoke Your Competition: 14 Ways to a High Conversion RateSmoke Your Competition: 14 Ways to a High Conversion Rate
Smoke Your Competition: 14 Ways to a High Conversion RateHanapin Marketing
 
5 Secrets of Tech Marketing
5 Secrets of Tech Marketing5 Secrets of Tech Marketing
5 Secrets of Tech MarketingOomph, Inc.
 
How to get started with freelancing
How to get started with freelancingHow to get started with freelancing
How to get started with freelancingLoc Nguyen
 

Ähnlich wie QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему обробки природньої мови у чатботах (20)

ReadingSEO Master Deck - 23rd January
ReadingSEO Master Deck - 23rd JanuaryReadingSEO Master Deck - 23rd January
ReadingSEO Master Deck - 23rd January
 
The best content to broadcast on meerkat
The best content to broadcast on meerkatThe best content to broadcast on meerkat
The best content to broadcast on meerkat
 
Hiring and Outsourcing | Pay Per Call Masterclass
Hiring and Outsourcing | Pay Per Call MasterclassHiring and Outsourcing | Pay Per Call Masterclass
Hiring and Outsourcing | Pay Per Call Masterclass
 
My Way: Techniques & Approaches for Web Analytics
My Way: Techniques & Approaches for Web AnalyticsMy Way: Techniques & Approaches for Web Analytics
My Way: Techniques & Approaches for Web Analytics
 
Conducting Lean User Studies
Conducting Lean User StudiesConducting Lean User Studies
Conducting Lean User Studies
 
Presentation for Investors
Presentation for InvestorsPresentation for Investors
Presentation for Investors
 
Copywriting: Ways To Not Suck
Copywriting: Ways To Not SuckCopywriting: Ways To Not Suck
Copywriting: Ways To Not Suck
 
Instfeedback swba2012 pitch
Instfeedback swba2012 pitchInstfeedback swba2012 pitch
Instfeedback swba2012 pitch
 
ASO Barcamp Talk 2: Top 10 ASO Questions
ASO Barcamp Talk 2: Top 10 ASO QuestionsASO Barcamp Talk 2: Top 10 ASO Questions
ASO Barcamp Talk 2: Top 10 ASO Questions
 
UXSA - Preparing for the Interview - 3-12-20
UXSA -  Preparing for the Interview - 3-12-20UXSA -  Preparing for the Interview - 3-12-20
UXSA - Preparing for the Interview - 3-12-20
 
Language of Conversion
Language of ConversionLanguage of Conversion
Language of Conversion
 
Improving Analytics Success through Communication
Improving Analytics Success through CommunicationImproving Analytics Success through Communication
Improving Analytics Success through Communication
 
Three Ways Fast Human Insight is Revolutionizing Marketing
Three Ways Fast Human Insight is Revolutionizing Marketing Three Ways Fast Human Insight is Revolutionizing Marketing
Three Ways Fast Human Insight is Revolutionizing Marketing
 
From Click to Client: Digital Marketing Tips for Small Schools
From Click to Client: Digital Marketing Tips for Small SchoolsFrom Click to Client: Digital Marketing Tips for Small Schools
From Click to Client: Digital Marketing Tips for Small Schools
 
Генерация лидов: 23 хинта для писем и LinkedIn сообщений
Генерация лидов: 23 хинта для писем и LinkedIn сообщенийГенерация лидов: 23 хинта для писем и LinkedIn сообщений
Генерация лидов: 23 хинта для писем и LinkedIn сообщений
 
Igor Karpets. Still cold calling your leads? Grammarly's cold email strategy ...
Igor Karpets. Still cold calling your leads? Grammarly's cold email strategy ...Igor Karpets. Still cold calling your leads? Grammarly's cold email strategy ...
Igor Karpets. Still cold calling your leads? Grammarly's cold email strategy ...
 
Fun on First Click - Workshop Slides - Sebastian Deterding
Fun on First Click - Workshop Slides - Sebastian DeterdingFun on First Click - Workshop Slides - Sebastian Deterding
Fun on First Click - Workshop Slides - Sebastian Deterding
 
Smoke Your Competition: 14 Ways to a High Conversion Rate
Smoke Your Competition: 14 Ways to a High Conversion RateSmoke Your Competition: 14 Ways to a High Conversion Rate
Smoke Your Competition: 14 Ways to a High Conversion Rate
 
5 Secrets of Tech Marketing
5 Secrets of Tech Marketing5 Secrets of Tech Marketing
5 Secrets of Tech Marketing
 
How to get started with freelancing
How to get started with freelancingHow to get started with freelancing
How to get started with freelancing
 

Mehr von QAFest

QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQAFest
 
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQAFest
 
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QAFest
 
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QAFest
 
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать большеQA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать большеQAFest
 
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQAFest
 
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгораниемQA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгораниемQAFest
 
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QAFest
 
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QAFest
 
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium ClusterQA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium ClusterQAFest
 
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...QAFest
 
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...QAFest
 
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automationQA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automationQAFest
 
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...QAFest
 
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...QAFest
 
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQAFest
 
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQAFest
 
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...QAFest
 
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...QAFest
 
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22QAFest
 

Mehr von QAFest (20)

QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилинQA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
 
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
 
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
 
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
 
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать большеQA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Никита Галкин. Как зарабатывать больше
 
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiledQA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
 
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгораниемQA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
 
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
 
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
 
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium ClusterQA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
 
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
 
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
 
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automationQA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
 
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
 
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
 
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
 
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
 
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
 
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
 
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
 

Kürzlich hochgeladen

GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 

Kürzlich hochgeladen (20)

GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 

QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему обробки природньої мови у чатботах

  • 1. Future is here or how to test NLP in chatbots Iryna Yaroslavtseva
  • 2. ● 5 years of testing; ● 3+ years of testing chatbots; Cherkasy, Ukraine IRYNA YAROSLAVTSEVA
  • 3.
  • 4. of businesses want chatbots by 2020
  • 5.
  • 8.
  • 9. Current project tech stack NLPStructure Messenger
  • 10. “Show me yesterday’s financial news” Utterance
  • 11. “Show me yesterday’s financial news” Utterances ● Delivery ● Thanks! ● Book me a flight to Rio next week. ● I already have a phone 9. What the plan going to cost me ulimited switching over from crickety eyes you have anything without 1st month.
  • 12. “Show me yesterday’s financial news” Intent: showNews Verb Noun
  • 13. “Show me yesterday’s financial news” ● checkCoverage ● buyIphone ● findBus Intents ● bookFlight ● changeLine ● bookAppointment
  • 14. “Show me yesterday’s financial news” Entity Entity
  • 15. Intent ● bookFlight ● checkCoverage ● buyIphone Entities ● City, Date ● Location, Country ● Model, Color, Capacity
  • 18. Key requirements ● Bot language ● Feature scope ● Target audience (user’s profile)
  • 19. Key requirements ● Bot language ● Feature scope ● Target audience (user’s profile)
  • 20. Key requirements ● Bot language ● Feature scope ● Target audience (user’s profile)
  • 22.
  • 24. Challenges ● Unlimited inputs quantity ● No definition of quality ● No clear exit criteria Solutions ● Risk analysis ● Data analysis
  • 25. Challenges Solutions ● Unlimited inputs quantity ● No definition of quality ● No clear exit criteria ● Risk analysis ● Data analysis
  • 26. Challenges Solutions ● Unlimited inputs quantity ● No definition of quality ● No clear exit criteria ● Risk analysis ● Data analysis
  • 27. Challenges Solutions ● Unlimited inputs quantity ● No definition of quality ● No clear exit criteria ● Risk analysis ● Data analysis
  • 28. Challenges Solutions ● Unlimited inputs quantity ● No definition of quality ● No clear exit criteria ● Risk analysis ● Data analysis
  • 29. Structured response Turning on / Turning off NLP Lost in the flow Business restrictions Profanity words Similar intents Default answer Acronyms Informal shortening Shortening in writing Emojis Slang words Intent + other words Intent + small talk Intent + other sentences Misspellings Synonyms Similar phrases NLP testing checklist
  • 30. ● Order pizza = Order piza ● Change day to Monday = Change day to Mobday ● Send picture = Senf picture Misspellings
  • 31. ● New offers = New deals ● Some help = Some support = Some assistance ● Order iPhone = Purchase iPhone Synonyms
  • 32. ● What benefits do you have? = Show me the advantages ● Where is my parcel? = Track my order ● Make a reservation on Friday = Book appointment, Friday Similar phrases
  • 33. Can I order bundle of two headphones, one for me and one for my dad? Intent + other words I saw your promo, how to order the headphones orderHeadphones
  • 34. Hello, find my bus station please. Intent + small talk findStation Morning! Nearest bus station. Thanks.
  • 35. My inbox is a dumpster! I'm like flooded with all the messages. How can I unsubscribe ? Intent + other sentences unsubNews
  • 36. ● Lol - laugh out loud ● Asap - as soon as possible ● Np (No Problem), But how can I send my booking confirmation Acronyms confirmBooking
  • 37. Informal shortening ● Gonna - going to ● Lil’ - little ● Wanna - want to
  • 38. Formal shortening ● I’m - I am ● Smth. - something ● I’ve - I have
  • 39. Top: 👍 😀 😂 ❤️ Emoji Banned: 🔪 🖕 🍑 🍆 💩 🖕🖕🌈 + 🚫 ⛪️ +
  • 40. ● Kudos! = praise and honor received for an achievement ● You rock! = You're awesome (at something) ● On fleek = smooth, nice, sweet Slang words
  • 41. ● I’d like to order dress ● I’d like to know where is my dress? Similar intents trackOrder makeOrder
  • 42. ● Sorry, I didn’t get that. Try again ● If you didn’t find what you wanted feel free to see information in the Main Menu or type ‘show me main menu’ Default (None) intent
  • 43. Score for None intent ● If utterance score < 0.3 ● Avoid repetitions none
  • 44. Dogs suffer = stop animal testing Business restrictions getInfo
  • 45. ● Bullshit ● Dammit ● Go to hell Profanity
  • 46. ● Friday, 29 May 2015 05:50:06 ● Test@test.com ● $ 1,234.60 = 1 234,6 Structured response
  • 47. ● Feedback forms ● Free form surveys Turning off/ turning on NLP
  • 48. Lost in the flow
  • 49. Lost in the flow
  • 50. ● Intents - 3 ● Utterances - 30 ● Checklist based testing ≈ 8 hours Checklist execution time
  • 52. ● Gathering the stats ● Analyzing what to add/change/delete in NLP model ● Training of the new version of NLP ● Testing ● Monitoring the results Learning on production
  • 53. ● Gathering the stats ● Analyzing what to add/change/delete in NLP model ● Training of the new version of NLP ● Testing ● Monitoring the results Learning on production
  • 54. ● Gathering the stats ● Analyzing what to add/change/delete in NLP model ● Training of the new version of NLP ● Testing ● Monitoring the results Learning on production
  • 55. ● Gathering the stats ● Analyzing what to add/change/delete in NLP model ● Training of the new version of NLP ● Testing ● Monitoring the results Learning on production
  • 56. ● Gathering the stats ● Analyzing what to add/change/delete in NLP model ● Training of the new version of NLP ● Testing ● Monitoring the results Learning on production
  • 57. New project roles NLP model training Statistics Bot flow Copy NLP model training Statistics CONVERSATIONAL DESIGNER CONTENT MANAGER
  • 58. ● Chatbot project = regular project ● NLP is the only unique component ● Analyze risks and statistics to enforce effective and efficient testing QA takeaways
  • 59. ● Chatbot project = regular project ● NLP is the only unique component ● Analyze risks and statistics to enforce effective and efficient testing QA takeaways
  • 60. ● Chatbot project = regular project ● NLP is the only unique component ● Analyze risks and statistics to enforce effective and efficient testing QA takeaways

Hinweis der Redaktion

  1. Доброго дня. Сьогодні я б хотіла розповісти про тестування NLP в чатботах. І відразу розшифруємо абревіатуру NLP - від англійських слів Natural Language Processing - системи обробки природньої мови.
  2. Пару слів про мене і мій досвід в данному питанні. Я працюю в компанії Master of Code Global, яка фокусно займається розробкою конверсейшнл додатків, які об’єднують у собі чатботів та інтеграції зі сторонніми сервісами (таких як платіжні системи, клієнтські СіЕрЕм, AR ефекти). Також ми маємо експертизу в eCommerce продуктах, веб та мобайл розробці. Маю 5 років досвіду взагалі в тестуванні, 3 з яких саме в тестуванні чатботів.
  3. За цей час мала змогу співпрацювати з багатьма компаніями, які представлені різними доменами. Наприклад, компанія T-Mobile, яка працює працює в області мобільного зв’язку, косметичний бренд Aveda та спортивна організація Всесвітня ліга серфінгу.
  4. Власне, чому я вважаю тему тестування NLP актуальною? Ще якихось 3 роки назад важко було уявити, що розумні боти зможуть увійти в життя людей і полегшити виконання повсякдених задач. Але вже сьогодні ми бичимо, що штучний інтелект вже частково замінив працю людей, допомагаючи бізнесу досягати своїх цілей і стаючи пріорітетним напрямом розвитку. За даними ресерча від Оракл близько 80% бізнесів відповіли, що хочуть мати чатбота до 2020 року.
  5. Перші спроби зарелізити API для побудови чатботів були на таких месенджерах, як WeChat, Телеграм. Пізніше до них приєднались Facebook messenger, Slack, Skype, ABC та інші. І вже за кілька років майже кожен мессенджер має підтримку ботів. Використання чатботів для бізнесу стає майже необхідністю, адже вони хочуть бути там, де є їхні потенційні клієнти, тобто всередині мессенджингових платформ. Але повної та змістовної інформації саме по тестуванню НЛП і чатботів дуже мало, тому моя мета поділитись нашим досвідом і дати корисну і цікаву інформацію.
  6. Основний челедж при створенні чатбота - це обробка запитів людини. Це можна зробити двома способами. Перший - задати строгий набір команд у вигляді “запитання-відповідь”, так званих команд. Але в такому випадку бот буде вузьконаправлений і обмежений. Наприклад, якщо юзер каже Buy dress, бот відповідає галереєю з товарами. Але якщо юзер напише Buy A Dress, бот відповість помилкою, адже саме такого правила у списку не було. Такі системи називаються Ruled based і їх використання можна порівняти з запитами на веб сторінку. URL адреса повинна мати певний набір та порядок символів, і у випадку зайвого символа ми побачимо 404 помилку.
  7. Інший спосіб, на якому ми зосередились, - це підключити машинне навчання, яке дозволяє навчити бота розуміти юзера по кільком ключовим словам. Тоді навіть з довгого речення: “Hi, I want to buy a dress”, бот зможе розпізнати намір і відповісти підходящим контентом. Такі системи називають AI based, а в їх основі лежать моделі NLP - від англійських слів Natural language processing - системи обробки природньої мови. Саме про такі системи і їх тестування далі і піде мова.
  8. Зараз на ринку достатньо NLP платформ, які пропонують готові рішення девелоперам. Наприклад, Luis від Microsoft, DialogFlow від Google, Lex від Amazon та інші. Усі вони мають свої плюси та мінуси.
  9. Ми на своєму поточному проекті використовуємо Luis від Microsoft як НЛП платформу і ChatFuel як платформу для побудови структури бота (текстових блоків, зображень, кнопок). Потім все це інтегрується в FB Messeger, і вже кінцеві користувачі спілкуються з готовим ботом безпосередньо всередині аплікейшена. На даному проекті ми використовували і інші НЛП платформи: експериментували з вбудованим НЛП від ChatFuel, тестували роботу DialogFlow від Google. Але Luis від Microsoft показав кращі результати, тому ми зупинились на ньому. Який би інструмент ви не вибрали, усі вони об’єднуються спільною базою понять для тренування моделі.
  10. І для того щоб вибрати найоптимальніші методи тестування, необхідно ознайомитись з цими поняттями. Почнемо з поняття Utterance - в перекладі з англійської мови - висловлювання. Utterance - це все те, що юзер може написати в бот.
  11. Це може бути символ, слово, словосполучення, фраза, речення, абзац. Все, що завгодно.
  12. Друге поняття, яке необхідно розглянути, - це інтент (в перекладі з англійської мови - намір). Інтент - це бажання юзера викликати в боті певну дію або переглянути певний контент. Наприклад в данному висловлюванні наміром юзера буде переглянути финансові новини за минулий день. Зазвичай, інтенти записуються у вигляді пари: дієслово+іменник для їх швидкої ідентифікації з-поміж схожих інтентів. Для данного прикладу це буде пара showNews.
  13. Кілька прикладів інтентів, щоб ви побачили як вони утворюються і які бувають в залежності від функцій бота: наприклад, bookAppointment, checkCoverage, buyIphone.
  14. І останнє поняття - це ентіті (в перекладі з англійської - сутність). Ентіті - це слова чи словосполучення, які надають додаткової інформації до наміру користувача. Наприклад, в данному випадку додатковою інформацією до наміра переглянути новини буде категорія новин та часовий період, за який треба ці новини відфільтрувати: тобто це слова financial та yesterday.
  15. Ентіті описують усі властивості навколишніх об’єктів та процесів, тому майже кожен інтент може мати свої ентіті. Наприклад, маємо інтент buyIphone - ентіті для нього будуть Model, Color, Capacity, Price.
  16. Це були основні поняття, а тепер перейдемо до процесів. Робота з НЛП триває протягом усього циклу розробки і поділяється на 4 фази: діскавері, тренування модеоі, власне тестування та навчання на продакшені.
  17. Почнемо з перешої фази - діскавері.
  18. Тестування НЛП (як і будь якого іншого проекту) розпочинається якомога раніше, ще на фазі збору вимог. Основні пункти, які необхідно обговорити до початку розробки і які будуть впливати на тестування це наступні. Перше - це мова. Може бути multy-language бот, або якась іноземна мова, яка вам невідома. Це може вплинути на вибір НЛП інструмента (адже не кожен з них підтримує усі мови); на кількість ефорда, який треба закласти в тест-план; також може вплинути на залучення додаткових спеціалістів в команду у зв’язку з іноземною мовою.
  19. Другий пункт, але не менш важливий - це feature scope. Може статися так, що клієнт захоче покрити через діалоги лише Смол ток, а основні фічі розробити як кліки по кнопкам, а може бути навпаки - усі бізнес кейси заімплементити через діалоги з ботом (тобто використання НЛП). Це вплине на к-сть атеренсів, інтентів в моделі і на час розробки та тестування.
  20. І останнє, але не менш важливе - це цільова аудиторія. Це може бути стать, вік, геолокація, соціальне становище. Усе, що допоможе вибрати валідні висловлювання для тренування і тествання.
  21. Переходимо до наступної фази - тренування моделі.
  22. Після того, як затвердили усі вимоги, ми приступають до наповнення моделі атерансами (словами, реченнями, словосполученнями), виділяють інтенти та ентіті. На скріншоті показано як виглядає дашборд НЛП платформи на прикладі Luis від Microsoft. Ми бачимо один інтент showNews, три атеранси і виділені ентіті. Простими словами система працює наступним чином: якщо юзер пише find financial news, атеренс, якого немає в цьому списку, система все одно повинна проматчити його на цей інтент. Ми працюємо з нативними спікерами, які допомагають з підбором найоптимальніших фраз. Також в цьому можуть допомогти спеціалісти зі сторони клієнта, які знають специфічну термінологію свого домена або знають як саме користувачі спілкуються з їх бізнесом.
  23. Переходимо безпосередньо до фази тестування.
  24. Основною складністю тестування НЛП є те, що важко визначити класи еквівалентності і вибрати представників з цих класів серед нескінченної к-сті інпутів (символів, слів, речень).
  25. Також є ризик витратити забагато часу на тестування через відсутність чітких критеріїв якості. Завжди будуть баги - тобто завжди будуть ситуації, коли НЛП дасть відповідь не таку, яку очікуємо.
  26. І як результат неможливо узгодити і затвердити критерії закінчення тестування.
  27. Але що дозволяє нам ефективно тестувати незалежно від цих проблем, це те що використовуємо наступні два методи. По-перше, ми використовуємо аналіз ризиків і на основі нього виставляємо пріорітети. Це допомагає нам знайти підходящі приклади для тестування, зробити смоук чи регрешн критичних ділянок і швидко дати фідбек стейкхолдерам про проблеми на проекті.
  28. І другий солюшен - це аналіз даних. Ми збираємо статистику усіх юзерських інпутів в боти і виділяємо топ випадків, які варті уваги.
  29. Результатом роботи над статистикою та ризиками став так званий QA basic чекліст, який покриває основні тестові ідеї. Чекліст має чимало цікавих випадків, про які далі піде мова. Приклади будуть англійською мовою, але усі пункти підходять до будь якої з мов.
  30. Найперше з чим ми працюємо - це перевірка помилок. НЛП інструменти мають вбудовану функцію перевірки помилок, тому немає потреби вводити усі варіанти написання слів з помилками. Але якщо ми говоримо про підбір слів для тестування - тут необхідно використати аналіз ризиків та вибрати найкритичніші варіанти. Наприклад, якщо у нас бот, основною функцією якого є доставка піцци, то важливо перевірити усі варінти написання слів Order та pizzа.
  31. Також пріорітетними є кейси використання слів-синонімів. Тут вам допоможуть численні словники. І фокусуватись необхідно на найбільш уживаних словах. Наприклад, фрази new offers і new deals - повинні вести юзера на однаковий інтент. Іноді розповсюджених слів-синонімів може бути більше: наприклад, help, support, assistance.
  32. Можуть бути цілі фрази-синоніми. Але на відміну від слів-синонімів, для яких в НЛП інструментах є окрема таба, де можна їх додати усі через кому, з фразами так не вийде. Адже слово Have не є синонімом в загальному значенні до слова Show, але фрази Show me your advantages і What benefits do you have? повинні бути синонімічними, тобто вести на однакову відповідь.
  33. 1 - Наступні кейси для перевірки - це більш довші речення, де крім ключових фраз є ще інші слова, які не несуть суттєвої ваги (так званний шум). 2 - Наприклад, обидва речення повинні вести на інтент orderHeadphones, а решту слів система повинна проігнорувати.
  34. Схожий випадок - це речення, у яких крім ключових слів є ще фрази смол току. Кейс майже як попередній, але ми тестуємо його окремо, тому що фрази смол току належать окремому інтенту smallTalk. І нам необхідно перевірити, що фраза hello, find my bus station please поведе юзера саме на інтент findStation, а НЕ на інтент smallTalk.
  35. Аналізуючи юзерські інпути, ми помітили досить багато довгих і неструктурованих атеренсів. Зазвичай, по контексту можна зрозуміти, що юзер не знав, що спілкується з ботом і висловлював думки так, ніби до живого агента сапорта. В цьому випадку задача бота продовжувати відповідати юзеру адекватно і намагатись допомогти, розпізнавши навіть з неструктурованого висловлювання ключові слова. А наша задача це перевірити.
  36. В нашому столітті, переповненому інформацією, часу на спілкування і на листування залишається все менше і менше. Як би це парадоксально не звучало, але чим більшою кількісю інформації людина володіє, тим більше способів її скорочення вона шукає. Одним з найдієвіших способів скоротити мову є використання акронімів. Зараз вони є повсюди: в діловому та повсякденному спілкуванні, в міжнародних термінах та технічній документації, тому не дивно, що юзери будуть їх використовувати під час розмови з ботом. Акронім може бути одиничним атеренсом (наприклад, asap, lol), або частиною більш повного атерена - необхідно перевіряти обидва випадки.
  37. Ще одним дієвим способом скоротити висловлювання - це використання скорочень на письмі. Скорочення можуть бути неформальні і формальні. Пару прикладів неформальних скорочень: lil - від слова little, wanna від слів want to.
  38. І формальні скорочення, які є більш розповсюдженними, адже є затвердженими правилами на письмі. Для того, щоб коректно перевірити їх вживання, треба знати їх розшифровку. Наприклад: smth. Скорочення від something, I’ve - скорочення від I have.
  39. Разом з актонімами і скороченнями, ще одне явище увійшло в письмову мову - це вживання емодзі. Вони стали настільки популярними, що у 2015 році Оксфордський словник назвав словом року - емодзі, який плачу від сміху. Але використання емодзі - це окрема тема для ресерча, адже ми знаємо, що жести можуть означати різне для різних культур і країн, тому треба знати свою аудиторію, щоб не зробити помилок. Ми перевіряємо топ емодзі і в залежності від вимог, перевіряємо заборонені емодзи: які відображають релігійні чи расові образи, зброю, наркотики чи інтерпритуються, як чистини тіла.
  40. Вживання сленгу - також розповсюджений випадок. Сленг - емоційна і яскрава складова лексики будь якої мови. Ми знаємо наш айтішний сленг, що є різновидом професійного сленгу; також є студентський, молодіжний, дитячий сленг, які є найдинамічнішими через швидку зміну поколінь. Сленгових фраз велика кількість, тому треба знати вашу цільову аудиторію. Вивчаючи вік, стать, профисію можна вибрати підходящі варіанти, які будуть притаманні вашим юзерам.
  41. Іноді трапляються ситуації, коли одне і те саме слово повинно бути ключовим у різних інтентах, які відрізняються між собою. Відрізняються настільки, що повести юзера на інший інтент - рівноцільно його втраті. Наприклад, якщо юзер зробив покупку, не дочекався вчасної доставки і запитує у бота I’d like to know where is my dress, що є trackOrder інтентом, то повести його на makeOrder інтент буде вкрай недоречно. Юзер навряд чи зробить ще одну покупку, але знервований він точно покине бот і піде шукати сапорт на вебсайті. Іноді такі кейси місматчинга не є критичними, але вони все одно покажуть недосконалість НЛП і погіршать експірієнс юзера в боті.
  42. Незважаючи на те, що НЛП модель можна натренувати доволі якісно, все одно бутуь кейси, коли юзер буде писати фрази, які є поза межами скоупа функціональності бота. Наприклад, якщо бот займається продажем канстоварів, він навряд чи розповість щось юзеру про погоду. В таких випадках використовують None (Default) інтент - це резервний інтент, на який система буде відправляти все те, що не проматчилось з жлдним з існуючих інтентів. По змісту він може звучати як короткий меседж Sorry I didn’t get that, try again, а може бути значно довшим і містити повний мануал того, зо юзер може зробити в боті.
  43. Також в залежності від вимог можна налаштувати мінімальний скор для того, щоб відображати юзеру цей дефолтний меседж. Кожному атеренсу система дає скор, ймовірність попадання в той чи інший інтент. Наприклад, фраза order iPhone має скор 1 для попадання в інтент orderIphone і скор 0,1 наприклад для попадання в інтент orderPizza. Щоб не було таких місматчингів можна задати правило: якщо атерант скор менший 0,3, наприклад, вести юзера на дефолт меседж. Але тут треба бути обережним і перевіряти уважно, адже може бути ситуація, що кожен юзерський інпут буде вести на дефолт меседж і юзер буде злим кожно разу читаючи, Sorry I didn’t get that.
  44. Цікавими є кейси перевірки випадків, пов’язаних з бізнес специфікою клієнта. Наприклад, бот косметичної компанії повинен усі фрази, які пов’язані з тестуванням косметичної продукції на тваринах відправляти на специфічний інтент з меседжом, який пояснить юзеру політику компанії щодо цього питання. У випадку місматчингу на інший інтент, особливо якщо це веселий смол ток, компанія може бути скомпроментована і понести збитків. Тому такі критичні кейси треба перевіряти якомога прискіпливіше і виділяти на них більше часу.
  45. Окремий скоуп на тестування - це лайливі слова. В залежності від вимог, бот може мовчати у відповідь, вести на дефолтний інтент або на меседж, який пояснить, що бот спілкується з ввічливими юзерами. Так як таких слів багато - збираємо топ зі статистики. Перевіряти їх треба як одиничний інтент і також в поєднанні з іншими фловами, фразами смол току.
  46. Іноді для певних фіч нам необхідно відправляти атеранс юзера на бекенд для обробки. В таких випадках ми просимо ввести такі інпути в певному форматі. Наприклад, якщо це номер автобуса - ми очікуємо натуральне число. Або якщо юзер вводить ціну: він може ввести у вигляді десяткового дробу, або цілого числа, може використати символ валюти, або ж відправити без нього. В таких випадках ми використовуємо так званні пребілд ентіті, які пропонує НЛП платформа і які допомагають розпізнавати такий структурований контент. Тестування таких видаків дещо сходе на перевірку вебформи. Кілька прикладів такого структурованого контенту: це може бути імейл, телефон, дата час.
  47. Незважаючи на те, що френдлі бот повинен постійно вести діалог з юзером і підтримувати його зацікавленність, існують такі флоу, де бот (а точніше НЛП) повиннен мовчати. Наприклад, фіча фідбек форма - які б ключові слова і фрази не були б в інпуті юзера, бот усім повинен відповісти однаковим Thank you месенджем. І нам необхідно це перевірити. В таких точках флоу ми ставимо так званні заглущки, які вимикають вмикають НЛП назад. Але тут є проблема з непослідовністю дій юзера, які можуть собі вимкнути НЛП назавжди. Тому тестуючи такі випадки, ми завжди використовуємо тест дизайн техніку State transition flow, щоб не пропустити жодну з послідовностей виконання дій у флоу.
  48. І останній кейс з чекліста - це перевірка випадків, коли НЛП допомагає юзеру не заблукати у флоу. Структура бота може бути доволі послідовною, так що ви не зможете перейти до степа 2 не завершивши попередній степ 1. Такі експірієнси можуть мати негативні наслідки. Наприклад, покупка товару з опціями. Юзер вибрав товар - степ 1, вибір кольору - степ 2 і покупка - степ 3. Якщо, юзер замість того, щоб вибрати колір, клікнувши по кнопці, напише текстовий меседж в бот, він вийде з флоу покупки і не завершить транзакцію.
  49. В таких випадкам ми пропонуємо сетапити повторні запитання, щоб повернути юзера у ту ж точку. Але повторний меседж може нервувати юзера, тому конверсейшн дизайнери повинні або знайти кілька варіантів одного і того самого запитання, або знайти якийсь цікавий інтерактив, щоб все таки витягти з юзера потрібеу відповідь і рухатись далі. Який би варіант ви не вибрали, обов’язково треба передбачити вихід з такого цикла для юзера, який точно не хоче купувати товар, додавши кнопки back чи exit.
  50. Це був останній пункт з чекліста. Незважаючи на достатнью кількість тестових ідей для перевірки, за один повний робочий день один тестувальник може перевірити 3 нові інтенти, при умові, що там немає складної логіки чи ризикових кейсів і при умові, що він в контексті поточної моделі НЛП і в контексті усього проекту.
  51. І нарешті ми дійшли до останньої фази - навчання на продакшені.
  52. Після релізу на продакшен починається сама цікава фаза в тестуванні НЛП - це збір статистики.
  53. Тут нас цікавить чи дійсно юзери пишуть, те що ми очікували, чи є якісь топ по інпутам та атеренсам, як система реагує на валідні та неваліндні інпути. Аналізуючи всю інформацію ми визначаємо, що можна покращити: додати, змінити чи навіть видалити в поточній моделі.
  54. Потім необхідно перетренувати модель.
  55. І обов’язково зробити ще один раунд тестування, так як перетренована модель - це нова модель, і як вона себе поведе ніхто не знає.
  56. Такий цикл може повторюватись з періодичністю 1-2 в місяць в залежності від нових фіч, побажань клієнта та результатів попереднього аналізу.
  57. Такий постійний процес навчання на продакшені і паралельно реліз нових фіч потребує розширення команди і залучення спеціалістів, які фокусно будуть працювати саме над НЛП складовою. Таким чином з’явились нові професії і ролі в команді. Конверсейшн дизайнер працює над побудовою флоу і структури бота, дизайнить діалоги, щоб бот приносив користь і був зручним и швидким у користуванні. Разом з контент менеджером вони займаються тренуванням моделі: підпороб атеренсів (слів, словосполучень, речень), виділенням ентіті, інтентів. Також саме вони займаються збором і аналізом статистики після релізу і визначають слабкі сторони для покращення. Тестувальники залучені на кожну з фаз: під час діскавері ми разом з бізнес аналітиками приймаємо учисть в обговоренні та валідації вимог; під час фази тренування моделі можемо допомогти з підбором атеренсів, пріорітизациєю інтентів. А під час фінальної фази приймаємо участь в обговоренні змін в НЛП, адже знайємо продукт у цілому і можемо визначити як зміни можуть вплинути на інші частини бота.
  58. Як висновок, хочу сказати, що в цілому тестування чатбот проекту майже нічим не відрізняється від тестування інших проектів і його можна розкласти на складові, які нам вже знайомі: це функціональне тестування, юзабіліті, UI, секьюріті, перформанс, тестування мобайл спесифік кейсів (так як бот працює всередині мобайл аплікейшена) і так далі.
  59. Але частинка НЛП - це нова і найменш досліджена для нас складова бота, тестування якої супроводжується складнощами, але є надзвичайно важливим. Кастомер саппорт, покупки онлайн та букінг апойнтмента - всі ці функції вже давно доступні користувачам вебсайтів. Але чатботи можуть запропонувати більше: миттєву консультацію 24/7, швидку покупку у вигляді діалога, персоналізований експірієнс та легкий інтерфейс чатбота у вже відомому месенджері (що позбавляє потреби встановлювати додаткові аплікейшени). Вдалий експірієнт роботи з чатботом може підвищити задоволення користувача (так званний - кастомер сатісфекшн, який є одним з основних КПІ для бізнесу), але це станеться лише тоді, коли НЛП складова, яка зустрічає юзера та проводить його через весь бот, буде протестована на бездоганному рівні.
  60. А це в свою чергу буде залежити від тестової стратегії, яку ви обираєте. Наш досвід показує, що зробити тестування ефективним нам допомагає аналіз ризиків та робота зі статистикою.
  61. Тут знаходиться чекліст, який був в основі доповіді. Звичайно у вас на прокті може бути своя специфіка і контекст, але його можна юзати як темплейт для вашої власної тестової стратегії.