3

Учитывая, что 2 источника html, я хочу извлечь из него основной контент, используя что-то вроде this. Есть ли other better libraries - Я специально ищу Python/Javascript?Как определить, похоже ли два веб-содержимого?

Как только у меня есть два извлеченных содержимого, я хочу вернуть оценку между 0 и 1, обозначая, как они похожи, например. статьи новостей по той же теме из CNN и BBC будут иметь более высокие оценки сходства, поскольку они находятся на одной и той же теме или веб-страницах, относящихся к одному и тому же продукту на Amazon.com, и Walmart.com будет иметь высокий балл. Как я могу это сделать? Существуют ли уже существующие библиотеки? Какие хорошие библиотеки я могу использовать? В основном я ищу сочетание automatic summarization, keyword extraction, named-entity recognition и sentiment-analysis.

ответ

5

В вашем вопросе есть много вещей. Я попробую предоставить вам библиотеку или предложит вам алгоритмы, которые могут решить ваши задачи (что вы можете использовать Google, и вы получите много реализаций python)

Точка 1. Чтобы извлечь основной контент из html (http://nltk.googlecode.com/svn/trunk/doc/book/ch03.html) & для других материалов, связанных с НЛП, вы можете проверить NLTK. Его написано на Python. Вы также можете проверить библиотеку под названием BeautifulSoup, ее удивительную (http://www.crummy.com/software/BeautifulSoup/)

Пункт 2. Когда вы говорите:

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

Для этого я предлагаю вам может группироваться свой набор документов с помощью любой неконтролируемый метод обучения кластеризации. Поскольку ваша проблема подпадает под кластеризацию на основе расстояния, поэтому вам должно быть очень легко сгруппировать похожие документы, а затем назначить оценку для них на основе их сходства с центроидом кластеров. Попробуйте либо K-Means, либо Adaptive Resonance Theory. В последнем случае вам не нужно заранее определять количество кластеров. Или как larsman указывает в своих комментариях вы можете просто использовать TF-IDF (http://www.miislita.com/term-vector/term-vector-3.html)

Пункт 3 .Когда вы говорите :

в основном я ищу сочетание автоматического реферирования, извлечение ключевого слов, распознавание именованной сущности и настроение анализ

для автоматического реферирования использовать неотрицательную факторизацию матриц

для использования извлечения ключевого слов NLTK

Для Named-Entity Recognition использовать NLTK

Для Настроения использования Анализ NLTK