similar word concatination (merge)
From your question it's unclear whether you only want to search for common text only at the end of strings, or anywhere in the strings. Nonetheless, at the core this seems to build on the Longest Common Substring Problem (wikipedia) in computer science.

I don't know of a readily-available function in PostgreSQL to find longest common substrings; so I suspect that the best solution will be to implement what you need in a procedural language similar to https://stackoverflow.com/questions/30315934/sql-find-longest-common-string-between-rows.

Doing it purely in (set-based) SQL will be rather complicated - ending up something like https://blogs.oracle.com/sql/finding-the-longest-common-starting-substring-using-sql. That particular solution only searches on substrings at the beginning of the field but could probably be modified to do what you want. The idea of using ts_vector to solve this more efficiently in SQL is interesting too - I hope you report back if you find anything useful!