Actually I started working on this and I am going in the similar directions that you mentioned.... In fact I am extracting words and their positions into other...
Second option seems better. I have started working on this. While displaying how to transform rows to columns and how to write insert stored procedure to insert fields dynamically.