import re


def similar_strings(s1, s2):
    """
        Return true if at least half of the words in s1 are also in s2.

        >>> assert similar_strings('1 2 3', '2 1 4')
        >>> assert not similar_strings('1 2 3', '5 1 4')
    """
    w1 = set(re.split(r'\W+', s1))
    w2 = set(re.split(r'\W+', s2))
    threshold = len(w1) // 2 + 1
    return len(w1 & w2) >= threshold