Turning a sentence from first to second person

前端 未结 2 477
盖世英雄少女心
盖世英雄少女心 2021-01-29 10:35

I\'m trying to write a script in Python using nltk which changes a sentence from second person to first person. Example: the sentence

I went to see Avatar and yo         


        
2条回答
  •  粉色の甜心
    2021-01-29 10:52

    There shouldn't be too many forms of personal and possessive pronouns in English. If you create a dictionary of correspondence between 1st and 2nd person forms, you can then tokenize the original sentence and replace the words that are in the dictionary:

    forms = {"am" : "are", "are" : "am", 'i' : 'you', 'my' : 'yours', 'me' : 'you', 'mine' : 'yours', 'you' : 'I', 'your' : 'my', 'yours' : 'mine'} # More?
    def translate(word):
      if word.lower() in forms: return forms[word.lower()]
      return word
    
    sent = 'You went to see Avatar, and I came with you.'
    result = ' '.join([translate(word) for word in nltk.wordpunct_tokenize(sent)])
    print(result.caputalize())
    # I went to see avatar , and you came with i .
    

    Because of the ambiguity of you you probably cannot get any better results.

提交回复
热议问题