class_docstr: Reader for the Customer Review Data dataset by Hu, Liu (2004).
  Note: we are not applying any sentence tokenization at the moment, just word
  tokenization.
  
      >>> from nltk.corpus import product_reviews_1
      >>> camera_reviews = product_reviews_1.reviews('Canon_G3.txt')
      >>> review = camera_reviews[0]
      >>> review.sents()[0] # doctest: +NORMALIZE_WHITESPACE
      ['i', 'recently', 'purchased', 'the', 'canon', 'powershot', 'g3', 'and', 'am',
      'extremely', 'satisfied', 'with', 'the', 'purchase', '.']
      >>> review.features() # doctest: +NORMALIZE_WHITESPACE
      [('canon powershot g3', '+3'), ('use', '+2'), ('picture', '+2'),
      ('picture quality', '+1'), ('picture quality', '+1'), ('camera', '+2'),
      ('use', '+2'), ('feature', '+1'), ('picture quality', '+3'), ('use', '+1'),
      ('option', '+1')]
  
  We can also reach the same information directly from the stream:
  
      >>> product_reviews_1.features('Canon_G3.txt')
      [('canon powershot g3', '+3'), ('use', '+2'), ...]
  
  We can compute stats for specific product features:
  
      >>> n_reviews = len([(feat,score) for (feat,score) in product_reviews_1.features('Canon_G3.txt') if feat=='picture'])
      >>> tot = sum([int(score) for (feat,score) in product_reviews_1.features('Canon_G3.txt') if feat=='picture'])
      >>> mean = tot / n_reviews
      >>> print(n_reviews, tot, mean)
      15 24 1.6
docstr: Return all sentences in the corpus or in the specified files.
  
  :param fileids: a list or regexp specifying the ids of the files whose
      sentences have to be returned.
  :return: the given file(s) as a list of sentences, each encoded as a
      list of word strings.
  :rtype: list(list(str))
docstr_tok: ["Return","all","sentences","in","the","corpus","or","in","the","specified","files",".",":","param","fileids",":","a","list","or","regexp","specifying","the","ids","of","the","files","whose","sentences","have","to","be","returned",".",":","return",":","the","given","file","(","s",")","as","a","list","of","sentences",",","each","encoded","as","a","list","of","word","strings",".",":","rtype",":","list","(","list","(","str",")",")"]
code: def sents(self, fileids=None):
      """
      Return all sentences in the corpus or in the specified files.
  
      :param fileids: a list or regexp specifying the ids of the files whose
          sentences have to be returned.
      :return: the given file(s) as a list of sentences, each encoded as a
          list of word strings.
      :rtype: list(list(str))
      """
      return concat(
          [
              self.CorpusView(path, self._read_sent_block, encoding=enc)
              for (path, enc, fileid) in self.abspaths(
                  fileids, True, True
              )
          ]
      )
  
imports: import re
  from nltk.corpus.reader.api import *
  from nltk.tokenize import *
label_desc: Use image node_id 4 for calling the ReviewsCorpusReader obj's underlying member method code with example usage: obj.sents(fileids) and returns: concat