Example #1
0
			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);
				}
			});
Example #2
0
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;
		}
	});
Example #4
0
 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();
       }
     });
   });
 });
Example #5
0
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);
      });
    }
  });
}
Example #6
0
File: run.js Project: nvdnkpr/tbone
 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();
         });
       }
     });
   });
 },
Example #7
0
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();
}
Example #8
0
    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"))