मैं text2vec के साथ एक पूर्व प्रशिक्षित मॉडल का उपयोग करना चाहता हूं। मेरी समझ यह थी कि यहां लाभ यह है कि इन मॉडलों को पहले से ही बड़ी मात्रा में डेटा पर प्रशिक्षित किया गया है, उदा। Google समाचार मॉडल

Text2vec दस्तावेज़ीकरण पढ़ने से ऐसा लगता है कि शुरुआत हो रही है कोड टेक्स्ट डेटा में पढ़ता है और फिर इसके साथ एक मॉडल को प्रशिक्षित करता है:

library(text2vec)
text8_file = "~/text8"
if (!file.exists(text8_file)) {
  download.file("http://mattmahoney.net/dc/text8.zip", "~/text8.zip")
  unzip ("~/text8.zip", files = "text8", exdir = "~/")
}
wiki = readLines(text8_file, n = 1, warn = FALSE)

दस्तावेज़ीकरण तब यह दिखाने के लिए आगे बढ़ता है कि टोकन और शब्दावली कैसे बनाई जाती है:

# Create iterator over tokens
tokens <- space_tokenizer(wiki)
# Create vocabulary. Terms will be unigrams (simple words).
it = itoken(tokens, progressbar = FALSE)
vocab <- create_vocabulary(it)
vocab <- prune_vocabulary(vocab, term_count_min = 5L)
# Use our filtered vocabulary
vectorizer <- vocab_vectorizer(vocab)
# use window of 5 for context words
tcm <- create_tcm(it, vectorizer, skip_grams_window = 5L)

फिर, यह मॉडल को फिट करने के चरण की तरह दिखता है:

glove = GlobalVectors$new(word_vectors_size = 50, vocabulary = vocab, x_max = 10)
glove$fit(tcm, n_iter = 20)

मेरा सवाल यह है कि क्या मॉडल को प्रशिक्षित करने के लिए अपने स्वयं के शब्द या अपने स्थानीय उपकरण पर भरोसा किए बिना Google पूर्व प्रशिक्षित शब्द2vec मॉडल का उपयोग करने योग्य है? यदि हाँ, तो मैं इसे कैसे पढ़ सकता हूँ और r में इसका उपयोग कैसे कर सकता हूँ?

मुझे लगता है कि मैं यहाँ कुछ गलत समझ रहा हूँ या याद कर रहा हूँ? क्या मैं इस कार्य के लिए text2vec का उपयोग कर सकता हूं?

2
Doug Fir 28 मई 2018, 18:18

2 जवाब

सबसे बढ़िया उत्तर

फिलहाल text2vec पूर्व-प्रशिक्षित शब्द एम्बेडिंग को डाउनलोड/हेरफेर करने के लिए कोई कार्यक्षमता प्रदान नहीं करता है। मेरे पास अगली रिलीज में ऐसी उपयोगिताओं को जोड़ने के लिए एक ड्राफ्ट है।

लेकिन दूसरी तरफ आप इसे केवल मानक आर टूल्स के साथ आसानी से मैन्युअल रूप से कर सकते हैं। उदाहरण के लिए यहां fasttext पढ़ने का तरीका बताया गया है वैक्टर:

con = url("https://s3-us-west-1.amazonaws.com/fasttext-vectors/word-vectors-v2/cc.af.300.vec.gz", "r")
con = gzcon(con)
wv = readLines(con, n = 10)

फिर आपको इसे पार्स करने की आवश्यकता है - strsplit और rbind आपके मित्र हैं।

1
Dmitriy Selivanov 28 मई 2018, 20:52

यह थोड़ा देर से आता है, लेकिन अन्य उपयोगकर्ताओं के लिए रुचिकर हो सकता है। टेलर वैन ऐनी यहां टेक्स्ट2vec के साथ प्री-प्रशिक्षित ग्लोवी वेक्टर मॉडल का उपयोग करने का एक छोटा ट्यूटोरियल प्रदान करता है: https://gist.github.com/tjvananne/8b0e7df7dcad414e8e6d5bf3947439a9

0
thieled 17 सितंबर 2019, 21:33