def GetDescription(key_list, key_count):
  """Generates a description from readings.

  We simply add 1) the most general reading and 2) the most specific reading.
  1) and 2) are simply approximated by checking the frequency of the readings.

  Args:
    key_list: a list of key strings.
    key_count: a dictionary of key to the number of key's occurence in the data
      file.
  Returns:
    the description string.
  """
  if len(key_list) == 1:
    return key_list[0]

  sorted_key_list = sorted(key_list, key=lambda key: (key_count[key], key))
  return '%s %s' % (sorted_key_list[-1], sorted_key_list[0])