Я хочу создать n-грамм из текстового столбца в PostgreSQL. В настоящее время я разделяю (на пробел) данные (предложения) в текстовом столбце в массив.
enter code here
выберите regexp_split_to_array (круглые данные, E '\ s +') из tableName
Как только я получу этот массив, как мне поступить:
- Создание цикла для поиска n-граммов и записи каждого в строку в другой таблице
Используя unnest, я могу получить все элементы всех массивов в отдельных строках, и, возможно, тогда я смогу придумать, как получить n-грамм из одного столбца, но я бы потерял границы предложений, которые мне бы хотелось сохранение.
Пример кода SQL для PostgreSQL для эмуляции вышеуказанного сценария
create table tableName(sentenceData text);
INSERT INTO tableName(sentenceData) VALUES('This is a long sentence');
INSERT INTO tableName(sentenceData) VALUES('I am currently doing grammar, hitting this monster book btw!');
INSERT INTO tableName(sentenceData) VALUES('Just tonnes of grammar, problem is I bought it in TAIWAN, and so there aint any englihs, just chinese and japanese');
select regexp_split_to_array(sentenceData,E'\\s+') from tableName;
select unnest(regexp_split_to_array(sentenceData,E'\\s+')) from tableName;