Модель «торба слів» (англ. bag-of-words) є спрощенням подання, що використовується в обробці природних мов і інформаційному пошуку. У цій моделі текст (наприклад, речення або документ) представляється у вигляді торби (мультимножини) його слів, не беручи до уваги граматику і навіть порядок слів, але зберігаючи множинність. Модель «мішок слів» також використовується для задач комп'ютерного зору.
Модель «торба слів» зазвичай використовується в методах класифікації документів, де (частота) виникнення кожного слова використовується як ознака для навчання класифікатору.
Раннє посилання на термін «торба слів» у мовному контексті можна знайти в статті 1954 року Зелліха Харріса про структуру розподілу.
Приклад реалізації
Наступні моделі створюють текстовий документ за допомогою торби слів. Ось два простих текстових документа:
(1) Джон любить дивитися фільми. Марія теж любить фільми. (2) Джон також любить дивитися футбольні матчі.
На основі цих двох текстових документів, для кожного документа будується список таким чином:
«Джон», «любить», «дивитися», «фільми», «Марія», «любить», «фільми», «теж» «Джон», «також», «любить», «дивитися», «футбольні», «матчі»
Кожен з цих списків стає JSON-об'єктом і присвоюється відповідній змінній JavaScript:
BoW1 = { "Джон" : 1 , "любить" : 2 , "дивитися" : 1 , "фільми" : 2 , "Марія" : 1 , "теж" : 1 }; BoW2 = { "Джон" : 1 , "також" : 1 , "любить" : 1 , "дивитися" : 1 , "футбольні" : 1, "матчі" : 1 };
Кожен ключ — це слово, і кожне значення — це число появ цього слова в текстовому документі.
Порядок елементів вільний, так, наприклад {"теж":1,"Марія":1,"фільми":2,"Джон":1,"дивитися":1,"любить":2
}, також є BoW1. Це те, що ми очікується від представлення у вигляді JSON об'єкта.
Примітка: якщо інший документ подібний об'єднанню цих двох документів,
(3) Джон любить дивитися фільми. Марія теж любить фільми. Джон також любить дивитися футбольні матчі.
то його представлення Javascript буде:
BoW3 = { "Джон" : 2 , "любить" : 3 , "дивитися" : 2 , "фільми" : 2 , "Марія" : 1 , "теж" : 1 , "також" : 1 , "футбольні" : 1 , "матчі" : 1 };
Таким чином, як ми бачимо в алгебрі торби, «об'єднання» двох документів формально є диз'юнктним об'єднанням, що підсумовує кратності кожного елементу.
Застосування
На практиці модель «торба слів» використовується в основному як інструмент формування ознак. Перетворивши текст на «торбу слів», можна утворювати різні міри, що характеризують текст. Найбільш поширеним типом характеристик, або ознак, розрахованим за моделлю «торба слів», є частота термів, а саме, кількість разів, скільки терм з'являється в тексті. У наведеному вище прикладі ми можемо побудувати наступні два списки для запису частот термів всіх окремих слів (BoW1 і BoW2 впорядковані як у BoW3):
(1) [1, 2, 1, 2, 1, 1, 0, 0, 0] (2) [1, 1, 1, 0, 0, 0, 1, 1, 1]
Кожен запис у списках відповідає підрахунку відповідного запису у списку (це також представлення гістограми). Наприклад, у першому списку (який представляє документ 1), перші два записи це «1, 2»:
- Перший запис відповідає слову «Джон», що є першим словом у списку, і його значення «1», оскільки «Джон» з'являється у першому документі 1 раз.
- Другий запис відповідає слову «любить», що є другим словом у списку, і його значення «2», тому що «любить» з'являється у першому документі 2 рази
Цей список (або вектор) не зберігає порядок слів у початкових реченнях. Це головна особливість моделі «торби слів». Таке представлення має кілька успішних застосунків, таких як фільтрування електронної пошти.
Проте, частоти термів не обов'язково є найкращими характеристиками тексту. Поширені слова, такі як «і», «а», «то» майже завжди є термами з найвищою частотою в тексті. Таким чином, наявність високої частоти не обов'язково означає, що відповідне слово є більш важливим. Для вирішення цієї проблеми одним з найпопулярніших способів «нормалізації» частоти термів є вага терму до оберненої частоти документа, або TF-IDF. Крім того, для спеціальних задач класифікації були розроблені альтернативи методи керованого навчання, які враховують тип документа. Пізніше, стали використовувати бінарні (наявність/відсутність або 1/0) ваги замість частот для деяких задач (наприклад, така опція є у ПЗ машинного навчання Weka).
Модель N-грам
Модель «торба слів» — це не впорядковане представлення документу — важлива лише кількість слів. Наприклад, у наведеному вище прикладі «Джон любить дивитися фільми. Мері теж любить фільми», представлення торби слів не вкаже на те, що дієслово «любить» завжди йде за ім'ям людини в цьому тексті. Як альтернатива, n-грам модель може зберігати цю просторову інформацію. Якщо застосувати для наведеного прикладу біграм модель, то вона розіб'є текст на наведені далі одиниці і міститиме частоту кожної одиниці:
[ "Джон любить", "любить дивитися", "дивитися фільми", "Марія любить", "любить фільми", "фільми теж", ]
Концептуально ми можемо розглядати модель торби слів як окремий випадок моделі n-грам з n = 1. Для n > 1 модель називається w-shingling (де w еквівалентна n, що позначає кількість згрупованих слів). Див. Мовну модель для більш детального обговорення.
Реалізація на Python
sentence_1 = ["Джон любить дивитися фільми. Марія любить фільми теж."] tokenizer = Tokenizer() tokenizer.fit_on_texts(sentence_1) sequences_1 = tokenizer.texts_to_sequences (sentence_1) word_index_1 = tokenizer.word_index BoW_1 = {} for key in word_index_1: BoW_1 [key] = sequences_1[0].count(word_index_1[key]) print(BoW_1) print(f"Торба слів речення 1 :\n{BoW_1}") print(f'Ми знайшли {len (word_index_1)} унікальних токенів.')
Геш-трюк
Загальною альтернативою використання словників є [en], де слова відображаються безпосередньо на індекси з геш-функцією. Таким чином, для зберігання словника не потрібна пам'ять. Геш-колізії зазвичай вирішуються через звільнення пам'яті для збільшення кількості геш-корзин. На практиці, гешування спрощує реалізацію моделей торби слів і покращує масштабованість.
Приклад використання: фільтрація спаму
У баєсівській фільтрації спаму повідомлення електронної пошти моделюється як невпорядкований набір слів, вибраних з одного з двох розподілів ймовірностей: один представляє спам, і один представляє реальні електронні листи. Уявіть, що є дві справжні торби, повні слів. Одна торба наповнена словами, знайденими в спам-повідомленнях, а інша — словами, знайденими в звичайних повідомленнях електронної пошти. Хоча будь-яке слово, ймовірно, буде зустрічатись в обох торбах, проте торба «спам» буде містити слова, пов'язані зі спамом, такі як «акції», «віагра» і «купувати» значно частіше, а інша торба міститиме більше слів, пов'язаних з друзями або робочим місцем користувача.
Щоб класифікувати повідомлення електронної пошти, баєсівський спам-фільтр припускає, що повідомлення являє собою купу слів, які були висипані випадковим чином з однієї з двох торбин, і використовує байєсову ймовірність, щоб визначити, де він, швидше за все, буде.
Див. також
Примітки
- Sivic, Josef (April 2009). (PDF). IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 31, NO. 4. IEEE. с. 591—605. Архів оригіналу (PDF) за 22 лютого 2016. Процитовано 7 червня 2019.
- McTear et al 2016, p. 167.
- Harris, Zellig (1954). Distributional Structure. Word (англ.). 10 (2/3): 146—62.
І цей запас комбінацій елементів стає чинником того, як пізніше вибираються, бо мова — це не просто мішок слів, а інструмент, який має особливі властивості, які були створені під час його використання
- Youngjoong Ko (2012). A study of term weighting schemes using class information for text classification. . ACM.
- Weinberger, K. Q.; Dasgupta A.; Langford J.; Smola A.; Attenberg, J. (2009). Feature hashing for large scale multitask learning,. Proceedings of the 26th Annual International Conference on Machine Learning: 1113—1120. arXiv:0902.2206. Bibcode:2009arXiv0902.2206W.
Література
- McTear, Michael (et al) (2016). The Conversational Interface. Springer International Publishing.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya pro model torbi sliv u obrobci prirodnih mov Pro vikoristannya modeli torbi sliv u komp yuternomu zori div model torbi sliv u komp yuternomu zori Model torba sliv angl bag of words ye sproshennyam podannya sho vikoristovuyetsya v obrobci prirodnih mov i informacijnomu poshuku U cij modeli tekst napriklad rechennya abo dokument predstavlyayetsya u viglyadi torbi multimnozhini jogo sliv ne beruchi do uvagi gramatiku i navit poryadok sliv ale zberigayuchi mnozhinnist Model mishok sliv takozh vikoristovuyetsya dlya zadach komp yuternogo zoru Model torba sliv zazvichaj vikoristovuyetsya v metodah klasifikaciyi dokumentiv de chastota viniknennya kozhnogo slova vikoristovuyetsya yak oznaka dlya navchannya klasifikatoru Rannye posilannya na termin torba sliv u movnomu konteksti mozhna znajti v statti 1954 roku Zelliha Harrisa pro strukturu rozpodilu Priklad realizaciyiNastupni modeli stvoryuyut tekstovij dokument za dopomogoyu torbi sliv Os dva prostih tekstovih dokumenta 1 Dzhon lyubit divitisya filmi Mariya tezh lyubit filmi 2 Dzhon takozh lyubit divitisya futbolni matchi Na osnovi cih dvoh tekstovih dokumentiv dlya kozhnogo dokumenta buduyetsya spisok takim chinom Dzhon lyubit divitisya filmi Mariya lyubit filmi tezh Dzhon takozh lyubit divitisya futbolni matchi Kozhen z cih spiskiv staye JSON ob yektom i prisvoyuyetsya vidpovidnij zminnij JavaScript BoW1 Dzhon 1 lyubit 2 divitisya 1 filmi 2 Mariya 1 tezh 1 BoW2 Dzhon 1 takozh 1 lyubit 1 divitisya 1 futbolni 1 matchi 1 Kozhen klyuch ce slovo i kozhne znachennya ce chislo poyav cogo slova v tekstovomu dokumenti Poryadok elementiv vilnij tak napriklad span class p span span class nt tezh span span class p span span class mi 1 span span class p span span class nt Mariya span span class p span span class mi 1 span span class p span span class nt filmi span span class p span span class mi 2 span span class p span span class nt Dzhon span span class p span span class mi 1 span span class p span span class nt divitisya span span class p span span class mi 1 span span class p span span class nt lyubit span span class p span span class mi 2 span takozh ye BoW1 Ce te sho mi ochikuyetsya vid predstavlennya u viglyadi JSON ob yekta Primitka yaksho inshij dokument podibnij ob yednannyu cih dvoh dokumentiv 3 Dzhon lyubit divitisya filmi Mariya tezh lyubit filmi Dzhon takozh lyubit divitisya futbolni matchi to jogo predstavlennya Javascript bude BoW3 Dzhon 2 lyubit 3 divitisya 2 filmi 2 Mariya 1 tezh 1 takozh 1 futbolni 1 matchi 1 Takim chinom yak mi bachimo v algebri torbi ob yednannya dvoh dokumentiv formalno ye diz yunktnim ob yednannyam sho pidsumovuye kratnosti kozhnogo elementu B o W 3 B o W 1 B o W 2 displaystyle BoW3 BoW1 biguplus BoW2 ZastosuvannyaNa praktici model torba sliv vikoristovuyetsya v osnovnomu yak instrument formuvannya oznak Peretvorivshi tekst na torbu sliv mozhna utvoryuvati rizni miri sho harakterizuyut tekst Najbilsh poshirenim tipom harakteristik abo oznak rozrahovanim za modellyu torba sliv ye chastota termiv a same kilkist raziv skilki term z yavlyayetsya v teksti U navedenomu vishe prikladi mi mozhemo pobuduvati nastupni dva spiski dlya zapisu chastot termiv vsih okremih sliv BoW1 i BoW2 vporyadkovani yak u BoW3 1 1 2 1 2 1 1 0 0 0 2 1 1 1 0 0 0 1 1 1 Kozhen zapis u spiskah vidpovidaye pidrahunku vidpovidnogo zapisu u spisku ce takozh predstavlennya gistogrami Napriklad u pershomu spisku yakij predstavlyaye dokument 1 pershi dva zapisi ce 1 2 Pershij zapis vidpovidaye slovu Dzhon sho ye pershim slovom u spisku i jogo znachennya 1 oskilki Dzhon z yavlyayetsya u pershomu dokumenti 1 raz Drugij zapis vidpovidaye slovu lyubit sho ye drugim slovom u spisku i jogo znachennya 2 tomu sho lyubit z yavlyayetsya u pershomu dokumenti 2 razi Cej spisok abo vektor ne zberigaye poryadok sliv u pochatkovih rechennyah Ce golovna osoblivist modeli torbi sliv Take predstavlennya maye kilka uspishnih zastosunkiv takih yak filtruvannya elektronnoyi poshti Prote chastoti termiv ne obov yazkovo ye najkrashimi harakteristikami tekstu Poshireni slova taki yak i a to majzhe zavzhdi ye termami z najvishoyu chastotoyu v teksti Takim chinom nayavnist visokoyi chastoti ne obov yazkovo oznachaye sho vidpovidne slovo ye bilsh vazhlivim Dlya virishennya ciyeyi problemi odnim z najpopulyarnishih sposobiv normalizaciyi chastoti termiv ye vaga termu do obernenoyi chastoti dokumenta abo TF IDF Krim togo dlya specialnih zadach klasifikaciyi buli rozrobleni alternativi metodi kerovanogo navchannya yaki vrahovuyut tip dokumenta Piznishe stali vikoristovuvati binarni nayavnist vidsutnist abo 1 0 vagi zamist chastot dlya deyakih zadach napriklad taka opciya ye u PZ mashinnogo navchannya Weka Model N gramModel torba sliv ce ne vporyadkovane predstavlennya dokumentu vazhliva lishe kilkist sliv Napriklad u navedenomu vishe prikladi Dzhon lyubit divitisya filmi Meri tezh lyubit filmi predstavlennya torbi sliv ne vkazhe na te sho diyeslovo lyubit zavzhdi jde za im yam lyudini v comu teksti Yak alternativa n gram model mozhe zberigati cyu prostorovu informaciyu Yaksho zastosuvati dlya navedenogo prikladu bigram model to vona rozib ye tekst na navedeni dali odinici i mistitime chastotu kozhnoyi odinici Dzhon lyubit lyubit divitisya divitisya filmi Mariya lyubit lyubit filmi filmi tezh Konceptualno mi mozhemo rozglyadati model torbi sliv yak okremij vipadok modeli n gram z n 1 Dlya n gt 1 model nazivayetsya w shingling de w ekvivalentna n sho poznachaye kilkist zgrupovanih sliv Div Movnu model dlya bilsh detalnogo obgovorennya Realizaciya na Pythonsentence 1 Dzhon lyubit divitisya filmi Mariya lyubit filmi tezh tokenizer Tokenizer tokenizer fit on texts sentence 1 sequences 1 tokenizer texts to sequences sentence 1 word index 1 tokenizer word index BoW 1 for key in word index 1 BoW 1 key sequences 1 0 count word index 1 key print BoW 1 print f Torba sliv rechennya 1 n BoW 1 print f Mi znajshli len word index 1 unikalnih tokeniv Gesh tryukZagalnoyu alternativoyu vikoristannya slovnikiv ye en de slova vidobrazhayutsya bezposeredno na indeksi z gesh funkciyeyu Takim chinom dlya zberigannya slovnika ne potribna pam yat Gesh koliziyi zazvichaj virishuyutsya cherez zvilnennya pam yati dlya zbilshennya kilkosti gesh korzin Na praktici geshuvannya sproshuye realizaciyu modelej torbi sliv i pokrashuye masshtabovanist Priklad vikoristannya filtraciya spamuU bayesivskij filtraciyi spamu povidomlennya elektronnoyi poshti modelyuyetsya yak nevporyadkovanij nabir sliv vibranih z odnogo z dvoh rozpodiliv jmovirnostej odin predstavlyaye spam i odin predstavlyaye realni elektronni listi Uyavit sho ye dvi spravzhni torbi povni sliv Odna torba napovnena slovami znajdenimi v spam povidomlennyah a insha slovami znajdenimi v zvichajnih povidomlennyah elektronnoyi poshti Hocha bud yake slovo jmovirno bude zustrichatis v oboh torbah prote torba spam bude mistiti slova pov yazani zi spamom taki yak akciyi viagra i kupuvati znachno chastishe a insha torba mistitime bilshe sliv pov yazanih z druzyami abo robochim miscem koristuvacha Shob klasifikuvati povidomlennya elektronnoyi poshti bayesivskij spam filtr pripuskaye sho povidomlennya yavlyaye soboyu kupu sliv yaki buli visipani vipadkovim chinom z odniyeyi z dvoh torbin i vikoristovuye bajyesovu jmovirnist shob viznachiti de vin shvidshe za vse bude Div takozh en Model torbi sliv u komp yuternomu zori Klasifikaciya dokumentiv Term dokumentna matricya Vidilyannya oznak en Mashinne navchannya en N gram Obrobka prirodnoyi movi Vektorna model w shinglingPrimitkiSivic Josef April 2009 PDF IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE VOL 31 NO 4 IEEE s 591 605 Arhiv originalu PDF za 22 lyutogo 2016 Procitovano 7 chervnya 2019 McTear et al 2016 p 167 Harris Zellig 1954 Distributional Structure Word angl 10 2 3 146 62 I cej zapas kombinacij elementiv staye chinnikom togo yak piznishe vibirayutsya bo mova ce ne prosto mishok sliv a instrument yakij maye osoblivi vlastivosti yaki buli stvoreni pid chas jogo vikoristannya Youngjoong Ko 2012 A study of term weighting schemes using class information for text classification ACM Weinberger K Q Dasgupta A Langford J Smola A Attenberg J 2009 Feature hashing for large scale multitask learning Proceedings of the 26th Annual International Conference on Machine Learning 1113 1120 arXiv 0902 2206 Bibcode 2009arXiv0902 2206W LiteraturaMcTear Michael et al 2016 The Conversational Interface Springer International Publishing