I may have thought so once ,but I don't now.= I may have thought he was lazy once ,but I don't now.我可能曾经认为他很懒,但是我现在认为他不懒。so once不是短语,在你的问题中so 和 once都是副词。在think 后面可以用 so 来避免重复前面说过的想法,例如:“Do you think she will come here ? ”“I think so .”(吕志士、袁锡兴主编《英语惯用法大词典》p.1725)