class_docstr: Intent parser using pattern matching in a deterministic manner
  
  This intent parser is very strict by nature, and tends to have a very good
  precision but a low recall. For this reason, it is interesting to use it
  first before potentially falling back to another parser.
class_docstr_tok: ["Intent","parser","using","pattern","matching","in","a","deterministic","manner","This","intent","parser","is","very","strict","by","nature",",","and","tends","to","have","a","very","good","precision","but","a","low","recall",".","For","this","reason",",","it","is","interesting","to","use","it","first","before","potentially","falling","back","to","another","parser","."]
docstr: Returns the list of intents ordered by decreasing probability
  
  The length of the returned list is exactly the number of intents in the
  dataset + 1 for the None intent
docstr_tok: ["Returns","the","list","of","intents","ordered","by","decreasing","probability","The","length","of","the","returned","list","is","exactly","the","number","of","intents","in","the","dataset","+","1","for","the","None","intent"]
code: def get_intents(self, text):
      """Returns the list of intents ordered by decreasing probability
  
      The length of the returned list is exactly the number of intents in the
      dataset + 1 for the None intent
      """
      nb_intents = len(self.regexes_per_intent)
      top_intents = [
          intent_result[RES_INTENT]
          for intent_result in self._parse_top_intents(
              text, top_n=nb_intents
          )
      ]
      matched_intents = {res[RES_INTENT_NAME] for res in top_intents}
      for intent in self.regexes_per_intent:
          if intent not in matched_intents:
              top_intents.append(
                  intent_classification_result(intent, 0.0)
              )
  
      # The None intent is not included in the regex patterns and is thus
      # never matched by the deterministic parser
      top_intents.append(intent_classification_result(None, 0.0))
      return top_intents
  
imports: from __future__ import unicode_literals
  import json
  import logging
  import re
  from builtins import str
  from collections import defaultdict
  from pathlib import Path
  from future.utils import iteritems, itervalues
  from snips_nlu.common.dataset_utils import get_slot_name_mappings
  from snips_nlu.common.log_utils import log_elapsed_time, log_result
  from snips_nlu.common.utils import check_persisted_path, deduplicate_overlapping_items, fitted_required, json_string, ranges_overlap, regex_escape, replace_entities_with_placeholders
  from snips_nlu.constants import DATA, END, ENTITIES, ENTITY, INTENTS, LANGUAGE, RES_INTENT, RES_INTENT_NAME, RES_MATCH_RANGE, RES_SLOTS, RES_VALUE, SLOT_NAME, START, TEXT, UTTERANCES, RES_PROBA
  from snips_nlu.dataset import validate_and_format_dataset
  from snips_nlu.dataset.utils import get_stop_words_whitelist
  from snips_nlu.entity_parser.builtin_entity_parser import is_builtin_entity
  from snips_nlu.exceptions import IntentNotFoundError, LoadingError
  from snips_nlu.intent_parser.intent_parser import IntentParser
  from snips_nlu.pipeline.configs import DeterministicIntentParserConfig
  from snips_nlu.preprocessing import normalize_token, tokenize, tokenize_light
  from snips_nlu.resources import get_stop_words
  from snips_nlu.result import empty_result, extraction_result, intent_classification_result, parsing_result, unresolved_slot
label_desc: Use image node_id 14 for calling the DeterministicIntentParser obj's underlying member method code with example usage: obj.get_intents(text) and returns: top_intents