if we need to develop quality assessment /rating algorithms based on likes, user connectivity and some other values for future larger data sets, no one should be counted twice.
nobody can prevent someone from writing an action in the blockchain several times ... but it should be ignored by the algorithm. Either I like or dislike something or I'm neutral.
That is a bad idea. If anything it is nice to be able to quantify how much you like something. Adding the tip is one way and multiple likes is another. Cost is a metric.