Моя проблема, как показано ниже:
Если у меня есть строка с терминами, отсортированными по значимости (разделенных запятой ):
text = "свет, прибор, излучающий, светоизлучающий, оптический, светоизлучающий, диодный, электродный, фотопара, полупроводник, светоизлучающий прибор, фотопара устройства, смола, уплотнение, световой прибор, полупроводниковый прибор, светоизлучающий прибор, электрод устройства, компактный светоизлучающий светильник, компактное светоизлучающее устройство, герметизация компактного светоизлучающего устройства, светоизлучающий диод устройства, устройство фотопары устройства, уплотнение устройства, тип излучающего света, свет излучающего типа, излучающий свет типа светоизлучающего, светоотдача, уплотнение устройства светового излучателя, оптический передатчик, сборка упаковки, устройство фотопары , светочувствительный, электрод полупроводникового прибора, фотопреобразователь полупроводникового прибора, пропускающий излучатель, передатчик, тип света, тип света, тип светодиода "
Термины в переменной text могут быть разделены по функции strsplit
или по функции str_split
пакета stringr.
library(stringr)
str_split = strsplit(text[1], ", ")
Как мы видим, объект str_split
состоит из 40 отдельных терминов.
Теперь я хотел бы извлечь первые 10 неповторяющихся терминов.
Let pocket = {свет, прибор, излучающий, светоизлучающий, оптический, светоизлучающий, диодный, электродный, фотопара, полупроводник}
В 1-й итерации: свет , прибор, излучающий, свет, излучающий , оптический, светоизлучающий, диодный, электродный, фотопара, полупроводник.
Термин «свет» - это подмножество «светоизлучающего», поэтому мы удаляем термин «свет» и добавляем 11-е слагаемые в переменную текст , то есть светоизлучающее устройство.
Обновление: карман = {устройство, излучающее, излучающее свет, оптическое, излучающее свет, диод, электрод, фотопара, полупроводник, устройство, излучающее свет}
Во 2-й итерации: прибор , излучающий, светоизлучающий, оптический, светоизлучающий, диодный, электродный, фотопара, полупроводник, прибор светоизлучающий
Термин «устройство» является подмножеством «устройства, излучающего свет», поэтому мы удаляем термин «устройство» и добавляем 12-е слагаемые в переменную текст , то есть фотопара устройства.
Обновление: карман = {испускающий, светоизлучающий, оптический, светоизлучающий, диодный, электродный, фотопара, полупроводник, светоизлучающий прибор, фотопреобразователь устройства}
В 3-й итерации: испускающий , светоизлучающий , оптический, светоизлучающий, диодный, электродный, фотопара, полупроводник, прибор светоизлучающий, прибор фотопары
Термин «излучающий» является подмножеством «излучающего свет», поэтому мы удаляем термин «излучающий» и добавляем 13-е термины в переменную текст , т.е. смолу.
Обновление: карман = {светоизлучающий, оптический, светоизлучающий, диодный, электродный, фотопара, полупроводник, прибор светоизлучающий, фотопара устройства, смола}
В 4-й итерации: светоизлучающий , оптический, светоизлучающий, диодный, электродный, фотопара, полупроводниковый, прибор светоизлучающий , фотопара устройства, смола
Термин «светоизлучающий» является подмножеством «светоизлучающего устройства», поэтому мы удаляем термин «светоизлучающий» и добавляем 14-е слагаемые в переменную текст , т.е.
Обновление: карман = {оптический, светоизлучающий, диодный, электродный, фотопара, полупроводник, прибор светоизлучающий, прибор фотопара, смола, уплотнение}
В 5-й итерации: оптический, светодиодный, электродный, фотопара , полупроводниковый, светоизлучающий прибор, фотопара, прибор , смола, герметизирующая
Термин "фотопара" является подмножеством "фотопара устройства", поэтому мы удаляем термин "фотопара" и добавляем 15-е термины в переменную текст , то есть свет устройства.
Обновление: карман = {оптический, светоизлучающий, диодный, электродный, полупроводниковый, прибор светоизлучающий, фотопара устройства, смола, уплотнение, прибор световой}}
В 6-й итерации: оптический, светоизлучающий, диодный, электродный, полупроводниковый, прибор светоизлучающий , фотопара устройства, смола, уплотнение, прибор световой
Термин «свет устройства» является подмножеством «свет устройства», поэтому мы удаляем термин «свет устройства» и добавляем 16-е термины в переменную текст , т.е. полупроводниковое устройство.
Обновление: карман = {оптический, светоизлучающий, диодный, электродный, полупроводниковый, прибор светоизлучающий, фотопара устройства, смола, герметик, полупроводниковый прибор}
Остальное можно вывести по аналогии.
Мне трудно подразумевать такую идею под языком R.
Может ли кто-нибудь сделать мне одолжение?
Лучший