class_docstr: Create a doc instance of text, obtain cleaned, readable text and
  metadata from this doc.
  
  Properties:
  raw: incoming, unedited text
  language: 2-letter code for the language of the text
  is_detected_language: is the language detected or specified beforehand
  is_reliable_language: is the language specified or was it reliably detected
  hint_language: language you expect your text to be
  _spacy_nlps: nested dictionary {lang: {model_id: model}} with loaded spacy language modules
docstr: returns a textrank summary of the document (extractive summary) generated with gensim
  returns an empty summary if the text could not be compressed
  if both ratio and word_count are provided, ratio is ignored
docstr_tok: ["returns","a","textrank","summary","of","the","document","(","extractive","summary",")","generated","with","gensim","returns","an","empty","summary","if","the","text","could","not","be","compressed","if","both","ratio","and","word_count","are","provided",",","ratio","is","ignored"]
code: def generate_textrank_summary(self, ratio=0.2, word_count=None):
      """
      returns a textrank summary of the document (extractive summary) generated with gensim
      returns an empty summary if the text could not be compressed
      if both ratio and word_count are provided, ratio is ignored
      """
      try:
          return summarize(
              self._spacy_doc.text,
              ratio=ratio,
              word_count=word_count,
              split=True,
          )
      except ValueError:
          return []
  
imports: import functools
  import re
  import unicodedata
  from collections import Counter
  from urllib.parse import urlparse
  import cld2
  import numpy
  import spacy
  import spacy.matcher
  import textacy
  import textacy.ke
  import textacy.text_utils
  from bs4 import BeautifulSoup
  from datasketch import MinHash
  from gensim.models.keyedvectors import KeyedVectors
  from gensim.summarization.summarizer import summarize
  from textpipe.data.emoji import EMOJI_TO_UNICODE_NAME, EMOJI_TO_SENTIMENT
  from textpipe.wrappers import RedisKeyedVectors
  from textpipe.util import getattr_
label_desc: Use image node_id 32 for calling the Doc obj's underlying member method code with example usage: obj.generate_textrank_summary(ratio, word_count) and returns: summarize, list