1. A self-learning method for keyword based human machine interaction, comprising: predetermining a set of keywords in a database of a portable navigation device; performing an initialization operation to initialize the set of keywords; sorting and displaying the set of keywords on a screen of the portable navigation device according to results of the initialization operation; selecting at least one of the keywords; assigning a weighted score to the selected keyword and performing a first calculation to refresh a priority score of the selected keyword; generating a weighted factor for the selected keyword and transmitting the weighted score and the weighted factor of the selected keyword to the keywords related to the selected keyword; refreshing, according to the weighted score and the weighted factor of the selected keyword, priority scores of the keywords related to the selected keyword and accordingly re-sorting all keywords; displaying the keywords on the screen according to results of the re-sorting; pushing the selected keyword to a keyword buffer of the portable navigation device; performing a second calculation to strengthen linkage strengths between the keywords stored in the keyword buffer; refreshing priority scores of all keywords according to the linkage strengths; and performing a reset operation to remove the selected keyword out of the keyword buffer when the selected keyword stored in the keyword buffer has been stored over a predetermined time period.