class_docstr: Implements the *TextRank* algorithm defined by
  [[mihalcea04textrank]](https://derwen.ai/docs/ptr/biblio/#mihalcea04textrank),
  deployed as a `spaCy` pipeline component.
  
  This class does not get called directly; instantiate its factory
  instead.
      
class_docstr_tok: ["Implements","the","*","TextRank","*","algorithm","defined","by","[","[","mihalcea04textrank","]","]","(","https",":","\/\/derwen.ai\/docs\/ptr\/biblio\/","#","mihalcea04textrank",")",",","deployed","as","a","`","spaCy","`","pipeline","component",".","This","class","does","not","get","called","directly",";","instantiate","its","factory","instead","."]
docstr: Skip tokens that are either in the stop word list or don't have a part
  of speech tag suitable for vertices in the lemma graph.
  Otherwise, track this token in the `seen_lemma` dictionary.
  
      token:
  a parsed `spaCy` [`Token`](https://spacy.io/api/token) to be evaluated
  
      returns:
  boolean value for whether to keep this token as a node in the lemma graph
          
code: def _keep_token(
      self,
      token: Token,
  ) -> bool:
      """
      Skip tokens that are either in the stop word list or don't have a part
      of speech tag suitable for vertices in the lemma graph.
      Otherwise, track this token in the `seen_lemma` dictionary.
  
          token:
      a parsed `spaCy` [`Token`](https://spacy.io/api/token) to be evaluated
  
          returns:
      boolean value for whether to keep this token as a node in the lemma graph
      """
      lemma = token.lemma_.lower().strip()
  
      if self._is_stopword(lemma, token):
          return False
  
      if token.pos_ not in self.pos_kept:
          return False
  
      # also track occurrence of this token's lemma, for later use
      key = Lemma(
          lemma,
          token.pos_,
      )
  
      if key not in self.seen_lemma:
          self.seen_lemma[key] = set([token.i])
      else:
          self.seen_lemma[key].add(token.i)
  
      return True
  
imports: from collections import Counter, defaultdict, OrderedDict
  from dataclasses import dataclass
  import json
  import math
  import pathlib
  import time
  import typing
  from icecream import ic
  from spacy.tokens import Doc, Span, Token
  import graphviz
  import networkx
  from .util import groupby_apply, default_scrubber
label_desc: Use image node_id 6 for calling the BaseTextRank obj's underlying member method code with example usage: obj._keep_token(token) and returns: True, False, False