code: def extract_ngram_filter(pos_seq, regex=SimpleNP, minlen=1, maxlen=8):
  	
  	ss = coarse_tag_str(pos_seq)
  
  	def gen():
  		for s in xrange(len(ss)):
  			for n in xrange(minlen, 1 + min(maxlen, len(ss) - s)):
  				e = s + n
  				substr = ss[s:e]
  				if re.match(regex + "$", substr):
  					yield (s, e)
  
  	return list(gen())
docs: The "FilterFSA" method in Handler et al. 2016.
  	Returns token position spans of valid ngrams.