Remove "almost" duplicate rows (may or may not start with plus sign)
WITH cte AS(
SELECT rowid, name, 
CASE WHEN surname NOT LIKE '+%'
THEN '+' + surname
ELSE surname
END AS surname
FROM your_table)

DELETE FROM your_table
WHERE rowid NOT IN
(SELECT MIN(rowid)
 FROM cte
 GROUP BY name, surname
)