2013-11-26 2 views
0

Как я могу найти отношения между двумя совершенно разными, но связанными фразами. Например: 1) «Социальные медиа-сайты сегодня ...» 2) «Facebook - чрезвычайно популярный сайт социальных сетей ...»Как найти связь между двумя фразами?

Хотя эти две фразы на самом деле не имеют много общего, они (поскольку Facebook сегодня является веб-сайтом социальных сетей). Как я могу количественно определить это отношение (если это возможно)?

+0

Все еще не уверены в проблеме.Правильно ли, если я предполагаю, что вы ищете, чтобы найти сходства или связи между сущностями? Или даже фразы должны быть приравнены? – rishi

+0

@ rishi Извините за отсутствие ясности. Я пытаюсь найти связь между двумя фразами, которая не обязательно является сходством или физической связностью на основе точных совпадающих терминов. Скорее, идея состоит в том, чтобы найти связь между фразами, как человек может: на основе внешней информации и вывода ... –

ответ

4

Простой, неэффективный способ: вычислить количество общих слов (и/или самих слов) или отредактировать расстояние между двумя предложениями, но используя слова, а не символы. В этом случае он подберет, что слово «social» появляется в обоих предложениях. Вы также можете найти способ обнаружения синонимов, таких как «сайты» и «сайт», используя некоторые данные тезауруса. Это может занять некоторую работу. Обычные слова («и», «the», ...) можно игнорировать, чтобы уменьшить вероятность совпадений матчей.

Уточнение: Поддерживайте своего рода граф связей между словами (например, «Facebook» и «сетей»), основывают вес связи между словами о том, как часто они встречаются вместе, и основывать свою метрику связанности на что. Ведите список слов, которые происходят слишком часто, и игнорируйте их. Очевидно, это зависит от наличия некоторых определенных «данных обучения» для вашего алгоритма.

Сложный, эффективный способ: читать на машинах.

3

Это очень общая проблема, и вам придется использовать несколько подходов для получения респектабельных результатов. На самом деле то, о чем вы говорите, является конечной целью НЛП. Я предлагаю вам разбить проблему на части и разослать каждую часть по одному.

Первый кусок головоломки должен понимать, если два предложения говорят о тех же/подобных сущностях. Это можно сделать, идентифицируя предметы, объекты, глаголы, ссылки на места, инструментальные ссылки, дательные ссылки и т. Д. В разных предложениях. Эти ссылки затем можно сравнить друг с другом. Один из способов, который приходит мне на ум, - взглянуть на расстояние по слову. Вам придется строить свой словарный запас в течение определенного периода времени.

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

Как я уже сказал, это ОЧЕНЬ общая проблема и поэтому довольно сложно решить за один раз. Если бы я был вами, я бы рассмотрел проблему следующим образом:

Шаг 1. Начните с ограничения моего решения на один домен. Это поможет мне построить лучшую онтологию/лексику, лучше обучить мои модели.

Шаг 2: Устраните сущности близости и попытаться понять, какие предложения говорят о подобных предметов или указывают на аналогичные объекты и т.д. Этот шаг является более лингвистическая проблема

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

Шаг 4: Перейдите к следующему домену и повторите шаги.

Надеюсь, это поможет.

Смежные вопросы