node-nlp
Version:
Library for NLU (Natural Language Understanding) done in Node.js
41 lines (28 loc) • 1.01 kB
JavaScript
/*
*/
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;
}
}