diff options
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js')
-rw-r--r-- | bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js new file mode 100644 index 00000000..b5b07e6b --- /dev/null +++ b/bin/wiki/ImportarDesdeURL/node_modules/chrono-node/src/refiners/OverlapRemovalRefiner.js @@ -0,0 +1,41 @@ +/* + +*/ +var Refiner = require('./refiner').Refiner; + +exports.Refiner = function OverlapRemovalRefiner() { + Refiner.call(this); + + + this.refine = function(text, results, opt) { + + if (results.length < 2) return results; + + var filteredResults = []; + var prevResult = results[0]; + + for (var i=1; i<results.length; i++){ + + var result = results[i]; + + // If overlap, compare the length and discard the shorter one + if (result.index < prevResult.index + prevResult.text.length) { + + if (result.text.length > prevResult.text.length){ + prevResult = result; + } + + } else { + filteredResults.push(prevResult); + prevResult = result; + } + } + + // The last one + if (prevResult != null) { + filteredResults.push(prevResult); + } + + return filteredResults; + } +}
\ No newline at end of file |