Группировка похожих слов в питоне - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь извлечь ключевые слова / имена объектов из текста, используя spacy.

Я могу извлечь все имена объектов, но получаю много дубликатов.

Например,

def keywords(text): 
    tags = bla_bla(text)
    return tags
article = "Donald Trump. Trump. Trump. Donald. Donald J Trump."
tags = keywords(article)

Вывод, который я получаю: ['Дональд Трамп', 'Трамп', 'Трамп', 'Дональд', 'Дональд Дж Трамп']

Как мне сгруппировать все эти теги под мастер-тегом «Дональд Дж Трамп»?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

С тщательно составленным словарем.

Не существует неконтролируемой / кластеризованной системы, которая могла бы сделать это надежно.

Примите во внимание следующее предложение:

Президент Трамп встретилсяс его сыном Дональдом Трампом младшим

0 голосов
/ 01 марта 2019

1) Простой способ: сохранить только самые длинные объекты, которые содержат меньшие 2) Больше времени: создать словари объектов 3) ML: векторизовать объекты с сумкой слов и кластеризовать их, самый длинный объект в кластере будет «основным»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...