input: Write a python function to match the parts of speech between two sentences and return the matching words.
  assert match_pos('She is the best player.', 'He is the worst player.') == ['She:He', 'is:is', 'the:the', 'player.:player.']
  assert match_pos('The cat sat on the mat.', 'A dog stood by the door.') == ['the:the']
  assert match_pos('I love programming.', 'You enjoy coding.') == ['I:You', 'love:enjoy', 'programming.:coding.']
output: def match_pos(sentence1, sentence2):
      import nltk
      from nltk import pos_tag, word_tokenize
  
      nltk.download('averaged_perceptron_tagger', quiet=True)
      
      words1 = word_tokenize(sentence1)
      words2 = word_tokenize(sentence2)
      
      pos1 = pos_tag(words1)
      pos2 = pos_tag(words2)
      
      pos_dict1 = {word: pos for word, pos in pos1}
      pos_dict2 = {word: pos for word, pos in pos2}
      
      matching_words = []
      
      for word1 in pos_dict1:
          for word2 in pos_dict2:
              if pos_dict1[word1] == pos_dict2[word2]:
                  matching_words.append(f"{word1}:{word2}")
      
      return matching_words