TSM - Як; ми розуміємо відгуки клієнтів готелів
Майкл Матушек - керівник команди Data Science @ TrustYou
Уявіть, що ви хочете поїхати до райського місця відпочинку і хочете переконатися, що обраний вами готель пропонує безпечний дитячий басейн, хороший сніданок та чисті номери, незважаючи на низьку ціну на веб-сайті. бронювання. Можливо, ви знайшли деякі відгуки як хороші, так і погані, але, можливо, деякі з них були не надто корисними або не стосувались того, що вас цікавить. Ви, звичайно, не встигаєте пройти 100 найкращих оглядів лише для того, щоб перевірити, чи є те, що ви виявили, прикрими винятками або підводними камінками на порталі бронювання.

Чи не чудово було б, щоб хтось дав вам короткий виклад того, що думають клієнти, замість того, щоб провести все дослідження самостійно? Чи не повинні менеджери готелів хотіти знати, що оцінює більшість клієнтів порівняно з іншими місцями? Що робить клієнтів нещасними?
У TrustYou ми пропонуємо саме такий тип інформації, як послугу для готелів або мереж готелів. Ми збираємо всі відгуки клієнтів із сотень тисяч готелів по всьому світу у вигляді терабайт даних, потім аналізуємо та автоматично оцінюємо їх, щоб побачити, що хорошого та особливого в кожному готелі, і дозволити готельєрам дізнатися, що вони можуть покращити для надання послуг. краще своїх клієнтів.
Наші команди розробників у Мюнхені, Клужі та Мадриді відповідають за різні аспекти обробки даних та впроваджують веб-інструменти, що дозволяють готельєрам отримати доступ та зрозуміти ефективність свого готелю.
Сканування - ми з’ясовуємо, що пишуть клієнти
Весь процес починається в Інтернеті. Там ви пишете думки щодо порталів бронювання, сайтів із спеціальними відгуками, соціальних мереж, сайтів готелів та багато іншого.
Усі ці джерела мають різний рівень довіри. Що стосується соціальних мереж, то кожен може розміщувати майже все, що завгодно. На сайтах готелів зазвичай є модератори, які прагнуть до чистої мови та гарної презентації. Сайти для огляду можуть або не можуть виявити шахрайські відгуки, видані шкідливим готелем ваших сусідів, і можуть робити це з різною мірою зусиль та успіху. З іншого боку, портали бронювання можуть досить чітко визначити, чи рецензент дійсно забронював номер, але ці портали обмежуються лише реальними користувачами, і їх комерційні інтереси у продажі якомога більшої кількості ночей впливають на спосіб фільтрації. та представляє свої огляди.
Незважаючи на ці речі, усі ці джерела містять необхідні шматочки головоломки, щоб зрозуміти повний спектр думок людей про те, де вони провели відпустку чи бізнес. Люди віддають перевагу різним місцям залишати свої думки з причин, що відрізняються від особистих уподобань, до заохочень, які вони отримують від певного порталу після перебування, до технічного досвіду, необхідного для розуміння та використання середовища з правда. Тільки повне зображення, яке враховує всі джерела, може призвести до цілісного розуміння продуктивності та специфіки конкретного готелю.
Хтось може сказати, що сканування сьогодні є проблемою. Оскільки більшість веб-сайтів докладають величезних зусиль, щоб зробити їх вміст легко доступним у Google, існує думка, що сканування не повинно бути складним. Але не всі - Google. Портали для бронювання та готельні групи мають усі підстави ділитися своїми даними з такими компаніями, як TrustYou, але інші веб-сайти набагато вибагливіші у спробі сканування. Отже, сканування вмісту - це величезний простір для маневру для підприємств-партнерів, які діляться своїми даними за допомогою спеціалізованих, структурованих веб-API та довільних веб-сайтів, які обмежують доступ сканера HTML.
Що стосується розбору HTML-сторінок, не всі веб-сайти дозволяють легко витягувати вміст. Деякі з них дуже добре надають семантичні метадані та розмітку, забезпечуючи легкий доступ до цікавого вмісту. Інші - це повний хаос HTML, структура якого постійно змінюється завдяки A/B тестам, орієнтованим на користувачів.
Усі ці проблеми вимагають використання великої ферми гусеничних підприємств, щоб впоратися з великою кількістю джерел та обмежень. Нам потрібен швидкий та надійний інструмент синтаксичного аналізу HTML, який полегшує швидке визначення та адаптацію правил вилучення, а також надійний процес очищення та дедуплікації, який фіксує незначні, але часті зміни подання одного і того ж огляду в різних місцях з часом. Мова програмування Python та набір інструментів lxml допомогли нам не відставати від цього постійно мінливого поля вимог/специфікацій. Щодня відвідуючи мільйони веб-сайтів, ми можемо збирати постійний потік мільйонів нових відгуків щотижня.
Семантичний аналіз - ми розуміємо думки
Після вилучення та очищення оглядів вони обробляються нашою системою семантичного аналізу, яка повністю написана на Python і базується на безкоштовній бібліотеці NLTK (Natural Language Toolkit). Робоче навантаження розподіляється на кластері Hadoop із сотнями вузлів, які відповідають нашим потребам обробки.
Основна мета полягає в аналізі почуттів, але не лише на рівні документа (для того, щоб мати можливість вирішити, негативний чи позитивний відгук), а на об'єктному рівні. Отже, ми не можемо просто сканувати вирази, що позначають почуття, такі як «добрі» чи «погані», і кількісно їх оцінювати. Навпаки, ми намагаємось визначити об’єкти інтересу, про які люди пишуть у відгуках (номери, ліжка, сніданок, послуги тощо), і виділити слова чи вирази, пов’язані з цими об’єктами, що стосуються почуттів. Простим прикладом може бути "[кімната] була дуже [чистою]", що призводить до позитивної асоціації, але речення та вирази можуть бути довільно складними або неоднозначними залежно від контексту. Наприклад, "[кімната] [мала]" є негативним коментарем, але "[ціна] [мала]" - ні - тому для максимальної точності ми використовуємо ретельно підібрані природні граматики, ієрархічно організовані граматики та лексично орієнтований стиль та термінологію відгуки про готелі.
Таким чином, ми можемо охоплювати понад 20 мов, більшість з яких досягають точності понад 90%. Таким чином, ми можемо створити правильний та детальний образ приємних та неприємних аспектів, пов’язаних з певним місцем, керуючи, одночасно, винесенням загальних ціннісних суджень, звітуючи перед ієрархією. Наприклад, якщо люди скаржаться, що в душі є волосся, ми можемо додати, що існує проблема з чистотою в кімнаті. Завдяки такому високому рівню точності та охоплення, ми пропонуємо безцінну послугу менеджерам готелів, які хочуть швидко знати, що відбувається і що потрібно змінити, щоб покращити задоволеність клієнтів.
Класифікація готелів
Крім більш-менш позитивних аспектів готелю, таких як розмір та чистота номера, є особливості готелю, які можуть зацікавити лише деяких мандрівників. Наприклад, припустимо, ви хочете провести романтичні вихідні зі своїм партнером - ви захочете шукати готель, який не відрізнявся б від сім’ї з маленькими дітьми. Крім того, деякі з вас хотіли б шукати певну особливість для готелю, таку як казино, спа-центр або вид на озеро.
Щоб допомогти мандрівникам у прийнятті рішень, ми пропонуємо кожному готелі значки заслуг, які вказують готелі з найкращими оздоровчими послугами, найромантичнішими та найбільш підходящими для сімей на основі рейтингу клієнтів. Для цього перше запитання, на яке нам потрібно відповісти, - чи є готель певним типом, тобто нам потрібно класифікувати готелі.
Класифікація є основним питанням машинного навчання. Однак алгоритми машинного навчання можна застосовувати на рівні числових векторів, тоді як ми маємо справу з текстом (змістом відгуків про готелі). Як ми можемо представити текст у вигляді числового вектора?
До цього існує кілька підходів, кожен з яких має переваги та обмеження. Простим, але дуже ефективним підходом є TF-IDF, скорочення від Term Frequency - Inverse Document Frequency. Оцінка терміна в документі TF-IDF - це величина, яка вказує на те, наскільки важливим є цей термін для конкретного документа порівняно з колекцією інших документів (або корпусів). Наприклад, якщо наш корпус - це колекція відгуків про готелі, ми можемо очікувати, що такі слова, як "кімната" або "рецепція", матимуть високу частоту в корпусі. Але якщо слова "казино" або "чіп-машини" з'являються з несподівано високою частотою для певного готелю (але не для інших), ми можемо дізнатись важливі речі про готель.
Іншими методами, що використовуються для подання тексту через вектори, є так звані вбудовування word2vec. Основна ідея полягає в тому, щоб врахувати контекст, у якому з’являється слово, під поняттям «контекст» означає елемент у документі, який знаходиться безпосередньо перед словом або після нього. Такі синоніми, як "розумний" або "розумний", з’являтимуться у подібному контексті (наприклад, за ними йдуть такі слова, як "людина", "хлопчик" чи "дівчинка"). Вектори, що виникають в результаті вбудовування word2vec, близькі один до одного, коли вони з’являються у подібному контексті, і можуть фіксувати взаємозв’язок між термінами: синонімами, антонімами чи аналогіями. Типовим прикладом є рівняння "король" - "чоловік" + "жінка" = "королева".
Мета огляди - ми витягуємо суть
Мета всіх цих кроків - надати клієнтам швидкий, точний та стислий огляд готелю. Ми витягуємо суть у так званому Meta Review (Meta Review), короткому огляді, але більше того.
З семантичного аналізу відгуків ми отримуємо не лише найчастіші скарги та похвали, які клієнти висловлюють щодо готелю, але ми також знаходимо цікаві деталі, які виділяються. На основі цього статистичного підходу наш механізм генерації природних мов (NLG) створює вільний, легкий для читання текст, який є найважливішою особливістю всіх оглядів, які ми розглядали, - справжній "мета" огляд. Більше того, оскільки ми створюємо короткий висновок про тип знань/розуміння, який не залежить від мови (тобто ми не використовуємо речення з реальних оглядів), NLG легко адаптується до різних природних мов виводу під час збору огляди з усіх оглядів, усіма мовами, які ми аналізуємо семантично. Іншими словами, навіть якщо ви заходите в готель, у якому відгуки лише на японській мові, ви можете скористатися мета-оглядом англійською, іспанською чи іншими мовами, щоб з’ясувати, чи вважають місцеві жителі готель хорошим.
Від даних до знань
Після того, як необроблені текстові дані перероблені в структуровану інформацію, з ними можна багато чого зробити. Наприклад, готелі можуть використовувати цю інформацію, щоб детально зрозуміти їх результати та вжити заходів щодо скарг клієнтів, незалежно від того, чи є це недоброзичливий персонал стійки реєстрації, неохайний басейн або відсутність туалетного паперу в номерах. Позитивом є те, що готельєри можуть зрозуміти, що робить їх особливими в порівнянні з іншими готелями, тому вони можуть зосередитися на найбільш релевантному сегменті клієнтів.
З іншого боку, сайти бронювання можуть використовувати інформацію, яку ми надаємо, для підтвердження та покращення презентації готелю, щоб рекомендації та спеціальні пропозиції легше дійшли до зацікавлених.