noiysDatabase.findStatusesBySearch(search_term, function(statuses) { if (statuses.length > 0) { var messages = new Array(); var finished = _.after(statuses.length, function() { messages.sort(function compare(a, b) { if (a.timestamp < b.timestamp) return -1; if (a.timestamp > b.timestamp) return 1; return 0; }); response.contentType('json'); response.send(messages); }); _.each(statuses, function(status) { statusMessageFactory.create(status, function(message) { messages.push(message); finished(); }); }); } else { response.send(404); } });
fs.readFile("./staticData/knowaan.json", function (err, data) { if (err) throw err; var archive = JSON.parse(data); var keywordsFromArchive = []; var tweets = []; _.each(archive.tweets, function(tweet){ if(!isReTweet(tweet.text)){ tweets.push(tweet.text); } }); var calcLater = _.after(tweets.length, function(){ fs.writeFile('compareKeywords.json', JSON.stringify(keywordsFromArchive), function (err) { if (err) throw err; console.log('It\'s saved!'); }); }); _.each(tweets, function(tweet){ send(_.strip(keywords.clearText(tweet, [regExUrls,regExHashtags,regExUsernames])), function(data){ keywordsFromArchive.push(data); calcLater(); }); }); });
_fs.readFile(filename, function(err, data){ if (err) throw err; var rawMessageObjs = JSON.parse(data); switch (type.toLowerCase()) { case "iphone": var onMessagesGenerated = _.after(rawMessageObjs.length, function(messageObjs){ self.corpus = self._generateCorpusFromMessageObjs(messageObjs); callback(self.corpus); }); var messageObjs = []; _.each(rawMessageObjs, function(rawMessageObjs){ var config = { source: "personal", to: rawMessageObjs.to, from: rawMessageObjs.from, timestamp: rawMessageObjs.date, text: rawMessageObjs.text }; _messageObjGenerator.getMessageObject(config, function(messageObj){ messageObjs.push(messageObj); onMessagesGenerated(messageObjs); }); }); break; } });
fs.readdir(dir, function(err, files){ if (err) return clbk(err); var done = _.after(files.length+1, function(){ clbk(null, result); }); done(); _.each(files, function(filename){ var file = dir+'/'+filename; fs.stat(file, function(err, stat){ if (err) return clbk(err); if (stat.isDirectory()) listDirectory(file, function(err, subResult){ if (err) return clbk(err); result = result.concat(subResult); done(); }); else if (filename == manifestFilename || /\.coffee$/.test(filename) || /\.tmpl$/.test(filename)) done(); else{ result.push(file); done(); } }); }); });
function run(data) { var opts = {stopwords: !program.withStopwords}, wordpos = new WordPos(opts), seek = cmd === 'seek', words = seek ? data.split(' ') : wordpos.parse(data), fns = optToFn(), plural = (cmd === 'get' ? 's':''), results = {}, finale = _.after(plural ? fns.length : words.length * fns.length, _.bind(output, null, results)), collect = function(what, result, word){ if (word) { // lookup results[word] = [].concat(results[word] || [], result); } else { // get results[what] = result; } finale(); }; nWords = words.length; if (cmd == 'parse') return output({words: words}); // loop over desired POS _(fns).each(function(fn){ var method = cmd + fn + plural, cb = _.bind(collect, null, fn); if (cmd === 'get') { wordpos[method](words, cb); } else if (cmd === 'rand') { if (words[0] === RAND_PLACEHOLDER) words[0] = ''; words.forEach(function(word){ wordpos[method]({startsWith: word, count: program.num || 1}, cb); }); } else if (seek) { words.forEach(function(offset){ wordpos.seek(offset, fn, function(err, result){ results[offset.trim()] = result; finale(); }); }); } else { words.forEach(function(word){ wordpos[method](word, cb); }); } }); }
exec: function() { info('Compiling...'); var sizes = {}; var variants = [ 'debug minified', 'debug simpcomp', 'debug advcomp', 'release advcomp min' ]; var done = _.after(variants.length, function() { info('Compile Succeeded.'); _.each(variants, function(variant, i) { var s = sizes[variant]; info('<<blue>>' + _.pad(variant.match(/\w+ \w+/), 18) + ': <<green>>' + _.pad(s.raw, 5) + '<<grey>> B, ' + (i === variants.length - 1 ? '<<*green*>>' : '<<green>>') + _.pad(s.gzipped, 4) + '<<grey>> B gzipped.'); }); }); _.each(variants, function(variant) { var parts = variant.split(' '); var debug = parts[0] === 'debug' ? 'TBONE_DEBUG=true ' : ''; var fileext = parts[2]; var opt_level = ({ minified: 'WHITESPACE_ONLY', simpcomp: 'SIMPLE_OPTIMIZATIONS', advcomp: 'ADVANCED_OPTIMIZATIONS' })[parts[1]]; var cmd = debug + 'OPTIMIZATION_LEVEL=' + opt_level + ' python compile.py'; exec('sh', ['-c', cmd], { cwd: './' }, function(err, data) { if (err) { warn('Compile failed for ' + variant + '.'); } else { if (fileext) { fs.writeFile('build/tbone.' + fileext + '.js', data); } zlib.gzip(data, function(err, gzipped) { sizes[variant] = { raw: data.length, gzipped: gzipped.length }; done(); }); } }); }); },
function send(text,callback){ var res = {}; res.text = text; var logLater = _.after(2, function(){callback(res)}); //A-SYNC rest.post('http://access.alchemyapi.com/calls/text/TextGetRankedKeywords', { data: { apikey: "2141aac411021f443955d8221cc726b549829462", outputMode: "json", text: text, sentiment:0, }, }).on('complete', function(data, response) { res.async = {"words": data.keywords, "lang":data.language}; logLater(); }); //SYNC var clearedText = text; //Detect the language. var words; var detectedlanguage = keywords.detectLanguage(clearedText); if(detectedlanguage.length !== 0){//Some language is detected //Improve detection by adding knowledge about the previous detections var lang = keywords.improveLanguageDetection(detectedlanguage, calcLanguage, languageStats); languageStats = lang.languagesSoFar;//Save statistic for next round detectedlanguage = lang.languagesFromText[0][0]; //Save improved results //Filter common stopwords for the detected language clearedText = _.strip(keywords.filterStopwords(detectedlanguage, clearedText)); //Extract Keywords words = keywords.extract(clearedText); }else{ words = keywords.extract(clearedText); tmpMetaInfo.words = words; } res.sync={"words":words, "lang":detectedlanguage}; logLater(); }
var F1 = 2*Precision*Recall/(Recall+Precision) console.log("TP"+TP) console.log("FP"+FP) console.log("FN"+FN) console.log("TP list") console.log(TPlistret) console.log("FP list") console.log(wrongpairs) console.log('Precision '+Precision) console.log('Recall '+Recall) console.log('F1 '+F1) process.exit(0) } var afterAll = _.after(seednum(seeds),callback) //afterAll's callback is a function which will be run after be called 10 times _.each(seeds, function(seed, key, list){ _.each(subst(seed), function(subseed, key, list){ client.smembers(subseed, function (err, replies) { if(!err){ retrieved = retrieved.concat(replies) afterAll(); } }) }, this) }, this) client.quit(); // console.log(natural.JaroWinklerDistance("I wont to offer you","offer"))