Общий подход к сокращению текста с использованием машинного обученияPython

Программы на Python
Ответить
Гость
 Общий подход к сокращению текста с использованием машинного обучения

Сообщение Гость »


У меня есть требование сократить текст так, чтобы получилось длинное предложение, например:

В отличие от двухмерных объектов, трехмерные объекты имеют третье измерение, глубина и поэтому не плоские. Кубики, Сферы и пирамиды — примеры трехмерных объектов.

с помощью следующих шагов:
[*]Возьмите длинное предложение и разбейте его на осмысленные предложения по 3–5. слова. [*]Разбейте выбранные слова на слоги. [*]Удалить слоги (необязательный шаг) (это может быть случайным образом для каждого человека, и каждый человек может выбрать удаление по-разному на другой экземпляр). Я застрял на этом этапе, в алгоритме и изучаю для этого Soundex. [*]Объедините или сократите оставшиеся слоги, чтобы создать единое слово или жаргон.
После описанных выше шагов приведенное выше предложение разбивается на подобные предложения и после удаления слогов сокращается до чего-то похожего, например:
[*]В отличие от двухмерных объектов --> Untdimaljects [*]трехмерные объекты имеют --> трехмерные объекты [*]третье измерение, глубина и суть --> Thirdimdepar [*]поэтому не плоский. Кубы, сферы и пирамиды --> флубесфорфемиды [*]примеры трехмерных объектов. --> plesthreemaljects
Использование моделей машинного обучения. Я пытался найти соответствующие источники данных, но не нашел.

Я также создал последовательную модель Keras, вручную сократив 25 предложений, разбив их на предложения и для каждого предложения самостоятельно создав аббревиатуру, но точность обученной модели удручающе низка ~0,2

Поэтому у меня остается единственный вариант — создать набор данных с помощью алгоритма, в котором я буду использовать 1000 случайных предложений для создания набора данных и, в свою очередь, создам свою модель машинного обучения.

Я использовал библиотеку spaCy и nltk, чтобы разбить предложение на noun_chunks и создать фразы, так что приведенное выше предложение имеет вид:< /п> ['в отличие от двухмерных объектов', 'трехмерные объекты', 'третьи глубина измерения», «поэтому не плоские», «кубы сферы пирамиды примеры», «трехмерные объекты»]

Затем я использую nltk SyllableTokenizer, чтобы разбить приведенные выше фразы на слоги, например

['не нравится двухмерный объект', 'трехмерный объект', 'третий di mens глубина», «там не плоская», «куба сферическая пирамида xampl', 'трехмерный объект']

Сейчас я застрял здесь, чтобы отбросить слоги, используя фиксированный подход, чтобы оставшаяся часть по-прежнему была запоминающейся и читабельной.

Любая помощь в направлении:
[*]мой общий подход к обучению окончательной модели. [*]любые доступные в общедоступной базе данных [*]Любые существующие подобные работы.
Будем признательны.

Примечание Я нашел эту работу, которая делает противоположное, то есть находит исходное предложение из аббревиатуры. Чтобы двигаться вперед, я также изучаю алгоритм soundex и fasttext.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»