«А» относится к «В» и «С». Как я могу показать, что «B» и «C» могут в этом контексте также быть связаны?
Пример:
Вот несколько заголовков о недавней бродвейской пьесе:
- «Гленгарри Глен Росс» Дэвида Мамета, в главной роли Аль Пачино, открывается на Бродвее
- Аль Пачино в «Гленгарри Глен Росс»: что думают критики?
- Аль Пачино зарабатывает слабые обзоры для Бродвейского поворота
- Театральное обозрение: Гленгарри Глен Росс твердо продает свои звезды
- Гленгарри Глен Росс; Эй, кто убил Klieg Lights?
Проблема:
Выполнение нечеткого совпадения строк над этими записями установит некоторые отношения, но не другие, даже если читатель может выбрать их из контекста в гораздо больших наборах данных.
Как мне найти отношения, которые предполагают, что № 3 связан с № 4? Оба они могут быть легко связаны с # 1, но не друг с другом.
Есть ли (Googlable) имя для такого рода данных или структуры? Какой алгоритм я ищу?
Цель:
Учитывая 1000 заголовков, система, которая автоматически предполагает, что эти 5 пунктов, вероятно, все об одном и том же.
Честно говоря, я так давно запрограммировал, что не могу правильно сформулировать эту проблему. (Я не знаю, что я не знаю, если это имеет смысл).
Это личный проект, и я пишу его на Python. Заранее спасибо за любую помощь, советы и советы!
Ответы:
Это называется кластерный анализ , который в основном группирует объекты в кластеры с похожими свойствами. Это огромная тема, но это должно дать вам место для начала.
источник
Вы входите в мир семантики. Существуют публичные сервисы, которые будут анализировать текст и извлекать основные понятия (быстрый поиск по семантическому API). показал несколько), которые будут анализировать документ в свободной форме и возвращать основные встреченные темы, включая людей, места, вещи, даты и концепции. , Некоторые из лучших вернутся в формате, известном как [RDF]
Если вы хотите создать свою собственную систему, которая может сделать это, то поле « Обработка естественного языка», и это очень интригующая кроличья нора, чтобы нырнуть вниз.
источник
Если это вообще возможно, получите историю вместе с заголовком. Заголовки могут иногда становиться «симпатичными» и делать лишь косвенную ссылку на то, что обсуждается. Это хорошо работает с людьми (потому что они имеют глобальный контекст ), но не так хорошо с НЛП.
Как упоминалось в ответе Карла Билефельда, кластеризация - это хороший подход, но дьявол кроется в деталях. Вам нужно не только выбрать подход к кластеризации, который соответствует вашей проблеме / пользовательскому пространству, вы также должны выяснить, что кластеризуется.
Я работал в области поиска информации (IR) с 80-х по 90-е годы, и мы сосредоточились на поиске сходств и кластеризации на основе центроидов . Наши документы были представлены взвешенными векторами атрибутов , которые в основном представляют собой список терминов и их относительную важность в документе. Этот подход может работать (хотя и лучше с некоторыми коллекциями, чем с другими), но у него есть проблемы с короткими симпатичными заголовками, потому что у них нет ключевых словарных терминов, чтобы связать вещи вместе. Но если вы используете весь документ, тогда вы получите гораздо более богатый список терминов (и, возможно, лучшее понимание важности), и этот список терминов, вероятно, облегчит обнаружение соединения (т.е. вычисление), когда у вас есть заголовки, которые "милый".
Мой адрес электронной почты находится в моем профиле, если вы хотите заняться проблемами генерации векторов и т. Д.
источник