बैग-ऑफ़-वर्ड्स मॉडल: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Representation of a text as the bag of its words}} | {{Short description|Representation of a text as the bag of its words}} | ||
{{for| | {{for|कंप्यूटर विज़न में बैग-ऑफ़-वर्ड्स मॉडल|कंप्यूटर विज़न में बैग-ऑफ़-वर्ड्स मॉडल}} | ||
बैग-ऑफ-वर्ड्स मॉडल [[प्राकृतिक भाषा प्रसंस्करण]] और सूचना पुनर्प्राप्ति (आईआर) में उपयोग किया जाने वाला सरलीकृत प्रतिनिधित्व है। इस मॉडल में, पाठ (जैसे वाक्य या दस्तावेज़) को | '''बैग-ऑफ-वर्ड्स मॉडल''' [[प्राकृतिक भाषा प्रसंस्करण]] और सूचना पुनर्प्राप्ति (आईआर) में उपयोग किया जाने वाला सरलीकृत प्रतिनिधित्व है। इस मॉडल में, पाठ (जैसे वाक्य या दस्तावेज़) को व्याकरण और यहां तक कि शब्द क्रम की उपेक्षा करते हुए किंतु [[बहुलता (गणित)]] को ध्यान में रखते हुए उसके शब्दों के [[मल्टीसेट]] के रूप में दर्शाया जाता है। [[कंप्यूटर विज़न में बैग-ऑफ़-वर्ड्स मॉडल|कंप्यूटर विज़न के लिए बैग-ऑफ़-वर्ड्स मॉडल]] का भी उपयोग किया गया है।<ref name=sivic>{{cite conference | ||
| first = Josef | | first = Josef | ||
| last = Sivic | | last = Sivic | ||
Line 11: | Line 11: | ||
| date = April 2009 | | date = April 2009 | ||
| url = https://www.di.ens.fr/~josef/publications/sivic09a.pdf}}</ref> | | url = https://www.di.ens.fr/~josef/publications/sivic09a.pdf}}</ref> | ||
बैग-ऑफ-वर्ड्स मॉडल का उपयोग | |||
बैग-ऑफ-वर्ड्स मॉडल का उपयोग सामान्यतः [[दस्तावेज़ वर्गीकरण]] की विधियों में किया जाता है जहां प्रत्येक शब्द की घटना (आवृत्ति) का उपयोग [[सांख्यिकीय वर्गीकरण]] के प्रशिक्षण के लिए [[फ़ीचर (मशीन लर्निंग)]] के रूप में किया जाता है।<ref name=":0">McTear et al 2016, p. 167.</ref> | |||
भाषाई संदर्भ में शब्दों के थैले का प्रारंभिक संदर्भ वितरण संरचना पर [[ज़ेलिग हैरिस]] के 1954 के लेख में पाया जा सकता है।<ref>{{cite journal | भाषाई संदर्भ में शब्दों के थैले का प्रारंभिक संदर्भ वितरण संरचना पर [[ज़ेलिग हैरिस]] के 1954 के लेख में पाया जा सकता है।<ref>{{cite journal | ||
|last= Harris | |last= Harris | ||
Line 24: | Line 26: | ||
|doi= 10.1080/00437956.1954.11659520 | |doi= 10.1080/00437956.1954.11659520 | ||
|quote= And this stock of combinations of elements becomes a factor in the way later choices are made ... for language is not merely a bag of words but a tool with particular properties which have been fashioned in the course of its use}}</ref> | |quote= And this stock of combinations of elements becomes a factor in the way later choices are made ... for language is not merely a bag of words but a tool with particular properties which have been fashioned in the course of its use}}</ref> | ||
बैग-ऑफ-वर्ड्स मॉडल [[वेक्टर स्पेस मॉडल]] का उदाहरण है। | बैग-ऑफ-वर्ड्स मॉडल [[वेक्टर स्पेस मॉडल]] का उदाहरण है। | ||
'''तः [[दस्तावेज़ वर्गीकरण]] की विधियों में किया जाता है जहां प्रत्येक शब्द की घटना (आवृत्ति) का उपयोग [[सांख्यिकीय वर्गीकरण]] के प्रशिक्षण के लिए [[फ़ीचर (मशीन लर्निंग)]] के रूप में किया जाता है।<ref name=":0" />''' | |||
== उदाहरण कार्यान्वयन == | == उदाहरण कार्यान्वयन == |
Revision as of 15:37, 13 July 2023
बैग-ऑफ-वर्ड्स मॉडल प्राकृतिक भाषा प्रसंस्करण और सूचना पुनर्प्राप्ति (आईआर) में उपयोग किया जाने वाला सरलीकृत प्रतिनिधित्व है। इस मॉडल में, पाठ (जैसे वाक्य या दस्तावेज़) को व्याकरण और यहां तक कि शब्द क्रम की उपेक्षा करते हुए किंतु बहुलता (गणित) को ध्यान में रखते हुए उसके शब्दों के मल्टीसेट के रूप में दर्शाया जाता है। कंप्यूटर विज़न के लिए बैग-ऑफ़-वर्ड्स मॉडल का भी उपयोग किया गया है।[1]
बैग-ऑफ-वर्ड्स मॉडल का उपयोग सामान्यतः दस्तावेज़ वर्गीकरण की विधियों में किया जाता है जहां प्रत्येक शब्द की घटना (आवृत्ति) का उपयोग सांख्यिकीय वर्गीकरण के प्रशिक्षण के लिए फ़ीचर (मशीन लर्निंग) के रूप में किया जाता है।[2]
भाषाई संदर्भ में शब्दों के थैले का प्रारंभिक संदर्भ वितरण संरचना पर ज़ेलिग हैरिस के 1954 के लेख में पाया जा सकता है।[3]
बैग-ऑफ-वर्ड्स मॉडल वेक्टर स्पेस मॉडल का उदाहरण है।
तः दस्तावेज़ वर्गीकरण की विधियों में किया जाता है जहां प्रत्येक शब्द की घटना (आवृत्ति) का उपयोग सांख्यिकीय वर्गीकरण के प्रशिक्षण के लिए फ़ीचर (मशीन लर्निंग) के रूप में किया जाता है।[2]
उदाहरण कार्यान्वयन
निम्नलिखित बैग-ऑफ-वर्ड्स का उपयोग करके टेक्स्ट दस्तावेज़ मॉडल करता है। यहां दो सरल पाठ दस्तावेज़ हैं:
(1) John likes to watch movies. Mary likes movies too.
(2) Mary also likes to watch football games.
इन दो पाठ दस्तावेज़ों के आधार पर, प्रत्येक दस्तावेज़ के लिए निम्नानुसार सूची बनाई जाती है:
"John","likes","to","watch","movies","Mary","likes","movies","too"
"Mary","also","likes","to","watch","football","games"
प्रत्येक बैग-ऑफ़-शब्दों को JSON के रूप में प्रस्तुत करना, और संबंधित जावास्क्रिप्ट चर को जिम्मेदार ठहराना:
BoW1 = {"John":1,"likes":2,"to":1,"watch":1,"movies":2,"Mary":1,"too":1};
BoW2 = {"Mary":1,"also":1,"likes":1,"to":1,"watch":1,"football":1,"games":1};
प्रत्येक कुंजी शब्द है, और प्रत्येक मान दिए गए टेक्स्ट दस्तावेज़ में उस शब्द की घटनाओं की संख्या है।
उदाहरण के लिए, तत्वों का क्रम निःशुल्क है {"too":1,"Mary":1,"movies":2,"John":1,"watch":1,"likes":2,"to":1}
यह भी BoW1 के समतुल्य है। सख्त JSON ऑब्जेक्ट प्रतिनिधित्व से हम यही अपेक्षा करते हैं।
नोट: यदि कोई अन्य दस्तावेज़ इन दोनों के मिलन जैसा है,
(3) John likes to watch movies. Mary likes movies too. Mary also likes to watch football games.
इसका जावास्क्रिप्ट प्रतिनिधित्व होगा:
BoW3 = {"John":1,"likes":3,"to":2,"watch":2,"movies":2,"Mary":2,"too":1,"also":1,"football":1,"games":1};
इसलिए, जैसा कि हम मल्टीसेट में देखते हैं, बैग-ऑफ-वर्ड्स प्रतिनिधित्व में दो दस्तावेजों का मिलन, औपचारिक रूप से, असंयुक्त संघ है, जो प्रत्येक तत्व की बहुलताओं को जोड़ता है।
.
आवेदन
व्यवहार में, बैग-ऑफ-वर्ड्स मॉडल का उपयोग मुख्य रूप से फीचर पीढ़ी के उपकरण के रूप में किया जाता है। पाठ को शब्दों के थैले में बदलने के बाद, हम पाठ को चिह्नित करने के लिए विभिन्न उपायों की गणना कर सकते हैं। बैग-ऑफ-वर्ड्स मॉडल से गणना की जाने वाली सबसे सामान्य प्रकार की विशेषताएँ या विशेषताएँ शब्द आवृत्ति है, अर्थात्, पाठ में एक शब्द कितनी बार दिखाई देता है। उपरोक्त उदाहरण के लिए, हम सभी अलग-अलग शब्दों (BoW1 और BoW2 को BoW3 के अनुसार क्रमित किया गया है) की शब्द आवृत्तियों को रिकॉर्ड करने के लिए निम्नलिखित दो सूचियाँ बना सकते हैं:
(1) [1, 2, 1, 1, 2, 1, 1, 0, 0, 0]
(2) [0, 1, 1, 1, 0, 1, 0, 1, 1, 1]
सूचियों की प्रत्येक प्रविष्टि सूची में संबंधित प्रविष्टि की गिनती को संदर्भित करती है (यह हिस्टोग्राम प्रतिनिधित्व भी है)। उदाहरण के लिए, पहली सूची में (जो दस्तावेज़ 1 का प्रतिनिधित्व करती है), पहली दो प्रविष्टियाँ 1,2 हैं:
- पहली प्रविष्टि जॉन शब्द से मेल खाती है जो सूची में पहला शब्द है, और इसका मान 1 है क्योंकि जॉन पहले दस्तावेज़ में एक बार आता है।
- दूसरी प्रविष्टि पसंद शब्द से मेल खाती है, जो सूची में दूसरा शब्द है, और इसका मान 2 है क्योंकि पसंद पहले दस्तावेज़ में दो बार दिखाई देती है।
यह सूची (या वेक्टर) प्रतिनिधित्व मूल वाक्यों में शब्दों के क्रम को संरक्षित नहीं करता है। यह बैग-ऑफ़-वर्ड्स मॉडल की मुख्य विशेषता है। इस प्रकार के प्रतिनिधित्व में कई सफल अनुप्रयोग हैं, जैसे ईमेल फ़िल्टरिंग।[1]
मशीन लर्निंग के संदर्भ में पाठ विश्लेषण के लिए प्रीप्रोसेसिंग की आवश्यकता होती है: स्टॉपवर्ड हटाना, उच्चारण हटाना, यूआरएल हटाना आदि। इसके अलावा, शब्द आवृत्तियों को सामान्य करने के लिए दस्तावेज़ आवृत्ति, या टीएफ-आईडीएफ के व्युत्क्रम द्वारा किसी शब्द का वजन करना भी आम है। . इसके अतिरिक्त, वर्गीकरण के विशिष्ट उद्देश्य के लिए, दस्तावेज़ के वर्ग लेबल को ध्यान में रखते हुए पर्यवेक्षित शिक्षण विकल्प विकसित किए गए हैं।[4] अंत में, कुछ समस्याओं के लिए आवृत्तियों के स्थान पर बाइनरी (उपस्थिति/अनुपस्थिति या 1/0) वेटिंग का उपयोग किया जाता है (उदाहरण के लिए, यह विकल्प वेका (मशीन लर्निंग) मशीन लर्निंग सॉफ्टवेयर सिस्टम में लागू किया गया है)।
एन-ग्राम मॉडल
बैग-ऑफ-वर्ड्स मॉडल व्यवस्थित दस्तावेज़ प्रतिनिधित्व है - केवल शब्दों की गिनती मायने रखती है। उदाहरण के लिए, उपरोक्त उदाहरण में जॉन को फिल्में देखना पसंद है। मैरी को फिल्में भी पसंद हैं, बैग-ऑफ-वर्ड्स प्रतिनिधित्व से यह पता नहीं चलेगा कि क्रिया पसंद है हमेशा इस पाठ में किसी व्यक्ति के नाम के बाद आती है। विकल्प के रूप में, एन-ग्राम|एन-ग्राम मॉडल इस स्थानिक जानकारी को संग्रहीत कर सकता है। उपरोक्त उदाहरण को लागू करते हुए, 'बिग्राम' मॉडल पाठ को निम्नलिखित इकाइयों में पार्स करेगा और पहले की तरह प्रत्येक इकाई की शब्द आवृत्ति को संग्रहीत करेगा।
[
"John likes",
"likes to",
"to watch",
"watch movies",
"Mary likes",
"likes movies",
"movies too",
]
वैचारिक रूप से, हम बैग-ऑफ-वर्ड मॉडल को n=1 के साथ n-ग्राम मॉडल के विशेष मामले के रूप में देख सकते हैं। n>1 के लिए मॉडल को डब्ल्यू-शिंगलिंग नाम दिया गया है (जहां w समूहीकृत शब्दों की संख्या को दर्शाते हुए n के बराबर है)। अधिक विस्तृत चर्चा के लिए भाषा मॉडल देखें।
पायथन कार्यान्वयन
# Make sure to install the necessary packages first
# pip install --upgrade pip
# pip install tensorflow
from tensorflow import keras
from typing import List
from keras.preprocessing.text import Tokenizer
sentence = ["John likes to watch movies. Mary likes movies too."]
def print_bow(sentence: List[str]) -> None:
tokenizer = Tokenizer()
tokenizer.fit_on_texts(sentence)
sequences = tokenizer.texts_to_sequences(sentence)
word_index = tokenizer.word_index
bow = {}
for key in word_index:
bow[key] = sequences[0].count(word_index[key])
print(f"Bag of word sentence 1:\n{bow}")
print(f"We found {len(word_index)} unique tokens.")
print_bow(sentence)
हैशिंग चाल
शब्दकोशों का उपयोग करने का सामान्य विकल्प हैशिंग ट्रिक है, जहां शब्दों को हैशिंग फ़ंक्शन के साथ सीधे सूचकांकों में मैप किया जाता है।[5] इस प्रकार, शब्दकोश को संग्रहीत करने के लिए किसी मेमोरी की आवश्यकता नहीं होती है। हैश बकेट की संख्या बढ़ाने के लिए हैश टकराव को आम तौर पर फ्री-अप मेमोरी के माध्यम से निपटाया जाता है। व्यवहार में, हैशिंग बैग-ऑफ-वर्ड मॉडल के कार्यान्वयन को सरल बनाता है और स्केलेबिलिटी में सुधार करता है।
उदाहरण उपयोग: स्पैम फ़िल्टरिंग
बायेसियन स्पैम फ़िल्टरिंग में, ई-मेल संदेश को दो संभाव्यता वितरणों में से एक से चुने गए शब्दों के अव्यवस्थित संग्रह के रूप में तैयार किया जाता है: एक अवांछनीय ई - मेल का प्रतिनिधित्व करता है और वैध ई-मेल (हैम) का प्रतिनिधित्व करता है। कल्पना कीजिए कि शब्दों से भरे दो शाब्दिक थैले हैं। बैग स्पैम संदेशों में पाए गए शब्दों से भरा है, और दूसरा वैध ई-मेल में पाए गए शब्दों से भरा है। जबकि किसी दिए गए शब्द के दोनों बैगों में कहीं न कहीं होने की संभावना है, स्पैम बैग में स्टॉक, वियाग्रा जैसे स्पैम-संबंधित शब्द होंगे, और काफी अधिक बार खरीदें, जबकि हैम बैग में उपयोगकर्ता के दोस्तों या कार्यस्थल से संबंधित अधिक शब्द होंगे।
किसी ई-मेल संदेश को वर्गीकृत करने के लिए, बायेसियन स्पैम फ़िल्टर मानता है कि संदेश शब्दों का ढेर है जिसे दो बैगों में से एक से बेतरतीब ढंग से डाला गया है, और यह निर्धारित करने के लिए बायेसियन संभाव्यता का उपयोग करता है कि किस बैग में इसके होने की अधिक संभावना है।
यह भी देखें
- योगात्मक चौरसाई
- कंप्यूटर विज़न में बैग-ऑफ़-वर्ड्स मॉडल
- दस्तावेज़ वर्गीकरण
- दस्तावेज़-अवधि मैट्रिक्स
- सुविधा निकालना
- हैशिंग ट्रिक
- यंत्र अधिगम
- मिनहैश
- एन-ग्राम
- प्राकृतिक भाषा प्रसंस्करण
- वेक्टर स्पेस मॉडल
- डब्ल्यू-शिंगलिंग
- TF-आईडीएफ
टिप्पणियाँ
- ↑ 1.0 1.1 Sivic, Josef (April 2009). "Efficient visual search of videos cast as text retrieval" (PDF). IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 31, NO. 4. opposition. pp. 591–605.
- ↑ 2.0 2.1 McTear et al 2016, p. 167.
- ↑ Harris, Zellig (1954). "Distributional Structure". Word. 10 (2/3): 146–62. doi:10.1080/00437956.1954.11659520.
And this stock of combinations of elements becomes a factor in the way later choices are made ... for language is not merely a bag of words but a tool with particular properties which have been fashioned in the course of its use
- ↑ Youngjoong Ko (2012). "A study of term weighting schemes using class information for text classification". SIGIR'12. 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. doi:10.1145/1553374.1553516. ISBN 9781605585161. S2CID 291713.
संदर्भ
- McTear, Michael (et al) (2016). The Conversational Interface. Springer International Publishing.