From e6e8f5fa56826b709142d623ce0689889673c1f1 Mon Sep 17 00:00:00 2001 From: Owen Date: Thu, 31 Jul 2014 22:15:39 +0300 Subject: All new text analysis engine, multiple nodes "and" triplets new graph creation wheel new rhizicore functions --- scripts/textanalysis.js | 172 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 132 insertions(+), 40 deletions(-) (limited to 'scripts/textanalysis.js') diff --git a/scripts/textanalysis.js b/scripts/textanalysis.js index 4996f80d..31e6cd43 100644 --- a/scripts/textanalysis.js +++ b/scripts/textanalysis.js @@ -12,6 +12,7 @@ var newlink = ""; var ExecutionStack = []; +var lastnode; $('#textanalyser').autocompleteTrigger({ triggerStart: '#', @@ -20,47 +21,57 @@ $('#textanalyser').autocompleteTrigger({ }); $('#textanalyser').submit(function () { - if (previousorder === "EDITNODE") { - $('#textanalyser').val(text + " "); - } + //finalize text input, empty + text=$('#textanalyser').val(); + + $('#textanalyser').val(""); + TextAnalyser2(text,true); return false; }); $(document).keydown(function (e) { //RIGHT - if (e.keyCode == 37 && (previousorder === "EDITNODE" || previousorder === "NEWNODE")) { - changeType(null, "up"); + if (e.keyCode == 37 ) { + e.preventDefault(); + changeType("up",lastnode); return false; } //LEFT - if (e.keyCode == 39 && (previousorder === "EDITNODE" || previousorder === "NEWNODE")) { - changeType(null, "down"); + if (e.keyCode == 39 ) { + e.preventDefault(); + changeType("down",lastnode); return false; } - //DELTE - if (e.keyCode == 46 || e.keyCode == 8) { - if (previousorder === "CLOSENODE" || previousorder === "NEWNODE") return false; + if (e.keyCode == 13) { + text=$('#textanalyser').val(); + + $('#textanalyser').val(""); + TextAnalyser2(text,true); + + return false; + } }); -function changeType(arg, id) { +function changeType(arg,id) { if (arg === 'up') { if (typeindex < 4) typeindex++; else typeindex = 0; - graph.editType(id, "temp", nodetypes[typeindex]); + graph.editType(id, null, nodetypes[typeindex]); $('.typeselection').html('
' + "Chosen Type: " + nodetypes[typeindex] + '
'); } else { if (typeindex > 0) typeindex--; else typeindex = 4; - if (previousorder === "EDITNODE") graph.editType(id, "temp", nodetypes[typeindex]); + graph.editType(id, null, nodetypes[typeindex]); $('.typeselection').html('
' + "Chosen Type: " + nodetypes[typeindex] + '
'); } + graph.updateGraph(); } @@ -72,9 +83,7 @@ window.setInterval(function () { $('.typeselection').css('left', 0); // text changed text = $('#textanalyser').val(); - //console.log(text); - ExecutionStack.push(text); - TextAnalyser(text); + TextAnalyser2(text,false); } }, 5); @@ -85,13 +94,17 @@ window.setInterval(function () { var sentenceStack = []; -function TextAnalyser2(newtext) { +var nodeindex,linkindex; + +function TextAnalyser2(newtext,finalize) { var states = ["NOTHING", "NEWNODE", "EDITNODE", "CLOSENODE", "NEWLINK", "EDITLINK" , "SPECIAL" , "QUARTET"]; var segment = [], subsegment = [], sentence = []; - var links=[],linkindex=0; - var nodes=[],nodeindex=0; + var newlinks=[];linkindex=0; + var newnodes=[];nodeindex=0; var orderStack = []; var quoteword=""; + var ANDcase=false; + var prefix=""; //Sentence Sequencing //Build the words and cuts the main elements @@ -99,6 +112,9 @@ function TextAnalyser2(newtext) { for(var j=0;j2) if(!links[linkindex]){links[linkindex]=sentence[m]; }else{ links[linkindex]+=sentence[m]; } + orderStack.push("NODE"); + newnodes.push(sentence[m]); linkindex++; - } - if(!links[linkindex]){links[linkindex]=sentence[m]+" "; }else{ links[linkindex]+=sentence[m]+" ";} - orderStack.push("DEFAULT"); + }else if(orderStack[orderStack.length-1]==="NODE"){ + orderStack.push("LINK"); + + if(!newlinks[linkindex]){newlinks[linkindex]=sentence[m]+" "; } + else{ newlinks[linkindex]+=sentence[m]+" ";} + }else{ + if(!newlinks[linkindex]){newlinks[linkindex]=sentence[m]+" "; } + else{ newlinks[linkindex]+=sentence[m]+" ";} + } + if(newnodes.length===0)prefix+=sentence[m]+" "; break; } } + if(prefix)newlinks[1]+="("+prefix+")"; - console.log(orderStack); - console.log(nodes); - console.log(links); - + //WRITE COMPLETE SENTENCE linkindex=0; nodeindex=0; - var word; + var word=""; + var completeSentence=""; for(var m=0; m "; + completeSentence+=newlinks[linkindex]; } } - console.log(word); - //graph engine - graph.removeNode(null,"temp"); - for(var n=0;n0)graph.addNode("","bubble","temp"); + //0-N ORDER STACK + for(var m=0; m=4){ + for(var l=1;l