Как определить, похоже ли два веб-содержимого?

Учитывая 2 html-источника, я хочу сначала извлечь из него основной контент, используя что-то вроде этого . Есть ли другие лучшие библиотеки – я специально ищу Python / Javascript?

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

В вашем вопросе есть много вещей. Я постараюсь предоставить вам библиотеку или же предложит вам алгоритмы, которые могут решить ваши задачи (что вы можете использовать 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. В последнем случае вам не нужно заранее определять количество кластеров. ИЛИ, как отмечает Ларсман в своих комментариях, вы можете просто использовать TF-IDF (http://www.miislita.com/term-vector/term-vector-3.html)

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

В основном я ищу комбинацию автоматического обобщения, извлечения ключевых слов, распознавания имен и сущностей и анализа настроений

Для автоматического суммирования используйте Non Negative Matrix Factorization

Для извлечения ключевого слова используйте NLTK

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

Для анализа настроений используйте NLTK