create table table_speech as
select regexp_substr(speech_text, '[^ ]+', 1,1) as speech_text
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,2)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,3)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,4)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,5)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,6)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,7)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,8)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,9)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,10)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,11)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,12)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,13)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,14)
from speech
union all
select regexp_substr(speech_text, '[^ ]+', 1,15)
from speech;
select speech_text, count(speech_text)
from table_speech
where speech_text is not null
group by speech_text
order by 2 desc
fetch first 5 rows only;