Скажем, у меня есть коллекция из 100 000 статей по 10 различным темам. Я не знаю, какие статьи действительно принадлежат к какой теме, но у меня есть вся новостная статья (можно анализировать их по ключевым словам). Я хотел бы сгруппировать эти статьи в соответствии с их темами. Любая идея, как я это сделаю? Любой двигатель (сфинкс, люцен) в порядке.PHP найти актуальность
ответ
можно использовать sphinix для поиска всех статей для всех 10 различных тем, а затем установить порог по количеству матчей, что делает статью, связанную с той или иной темой, и так далее
Дело в том, что я не знаю, какая тема будет. Это динамично. – Patrick
I рекомендуют книгу «Алгоритмы интеллектуальной сети» Хараламбоса Марманиса и Дмитрия Бабенко. Есть глава о том, как это сделать.
Я не могу полностью автоматизировать это, но вы могли бы сделать большую часть этого. Проблема в том, откуда взялись эти темы?
Извлеките список самых распространенных слов и фраз из каждой статьи и используйте их как теги.
Тогда я бы составил список тем и назначил слова и фразы, которые попадали бы в эту тему, а затем сопоставлять их с тегами. Проблема в том, что вы можете получить более одной темы для каждой статьи.
Возможно, лучшим способом было бы использовать некоторые формы байесовских классификаторов, чтобы определить, какая тема лучше всего описывает статью. Это потребует, чтобы вы сначала обучали систему.
Этот тип техники используется при определении того, является ли сообщение СПАМ или нет.
Это article might некоторой помощи
В перспективе машинного обучения добычи/данных, мы назвали такого рода проблемы, как проблема классификации . Самый простой подход заключается в использовании прошлых данных для предсказания будущего, то есть статистические ориентированные: http://en.wikipedia.org/wiki/Statistical_classification, в которой вы можете начать с помощью наивного байесовского классификатора (обычно используются в обнаружении спама)
Я хотел бы предложить вам прочитать книга (хотя написана для Python): программирование коллективного интеллекта (http://www.amazon.com/Programming-Collective-Intelligence-Building-Applications/dp/0596529325), у них есть хороший пример.
Dirt простой способ создать классификатор:
Рука чтения и ведро N Примеры документов из 100K в каждый из ваших 10 тем. Как правило, чем больше примеров документов, тем лучше.
Создайте индекс Lucene/Sphinx с 10 документами, соответствующими каждой теме. Каждый документ будет содержать все примеры документов для этой темы, объединенные вместе.
Чтобы классифицировать документ, отправьте этот документ в качестве запроса, сделав каждое слово термином OR. Вы почти всегда получите все 10 результатов. Lucene/Sphinx назначит оценку каждому результату, который вы можете интерпретировать как «подобие» документа для каждой темы.
Не может быть суперточным, но это легко, если вы не хотите испытывать трудности с обучением реального классификатора Наивного Байеса. Если вы хотите пройти этот маршрут, вы можете использовать Google для WEKA или MALLET, две хорошие библиотеки для машинного обучения.
Хорошо, что проект Apache, предоставляющий библиотеки обучения математике, - Mahout. Его функции включают в себя возможность:
[...] Кластеризация принимает, например. текстовых документов и группирует их в группы тематически связанных документов. Классификация учится на основе представления категоризированных документов, какие документы конкретной категории выглядят и могут назначать немаркированные документы в категорию (надеюсь) правильной. [...]
Вы можете найти Mahout под http://mahout.apache.org/
Хотя я никогда не использовал Mahout, просто считал это ;-), это всегда seemd требовать приличное количество теоретических знаний. Поэтому, если вы планируете потратить некоторое время на эту проблему, Махут, вероятно, станет хорошей отправной точкой, тем более, что ее хорошо документировано. Но не стоит ожидать, что это будет легко ;-)
Ui, я совсем забыл упомянуть еще одну альтернативу. Если вы ищете что-то вроде mahout, но быть проще в реализации, попробуйте Bobo-Browse: http://sna-projects.com/bobo/ На самом деле я считаю, что Bobo-Browse может отлично поработать в вашем случае. – ftiaronsem
привет друг Мне нужна помощь в sphinx. Я новичок в Sphinx. Настройте сфинкс в сегменте wamp на локальном хосте. – Karthik
Отрывок из главы 7 «Алгоритмы интеллектуального Web» (Manning 2009):
«Другими словами, мы будем обсуждать принятие нашего алгоритмы в контексте гипотетического веб-приложений. В частности, наш пример относится к новостному порталу, который вдохновлен веб-сайтом Google News ».
Итак, содержание главы 7 этой книги должно предоставить вам код и понять проблему, которую вы пытаетесь решить.
- 1. Актуальность полипол и прокладок
- 2. Актуальность темы темы
- 3. Актуальность Quicksort, Heapsort и Bubblesort
- 4. «gradle publish» ошибочно сообщает актуальность
- 5. Том получить актуальность страницы Javascript
- 6. Актуальность ссылок на локальные адреса?
- 7. Какова актуальность шаблонов проектирования J2EE?
- 8. Актуальность реле Blacklight: как повысить поле?
- 9. Сохраняйте переменную актуальность при добавлении к dom
- 10. Какова актуальность размера базы данных SQL Azure?
- 11. maven - Помогите мне понять актуальность именования тегов
- 12. Solr бустер по дате диапазон актуальность
- 13. Актуальность использования SonnarQube на coffeescript скомпилирована JS
- 14. Какова актуальность папок в проекте дарт?
- 15. SQL Группировка данных и актуальность установки
- 16. Какова актуальность -sticky в случае меню
- 17. Solr установил большую актуальность в позиции строки
- 18. freebase api для сортировки по городу актуальность
- 19. GitHub: создание репозитория из существующего и его актуальность с оригиналом
- 20. Почему Vision дает мне эту актуальность для текста на картинке?
- 21. Актуальность вопроса о возврате const в случаях NRVO
- 22. Именованное распознавание сущностей с использованием NLTK. Актуальность извлеченных ключевых слов
- 23. Какова актуальность этого утверждения в 7.1.6.1/1 в стандарте C++?
- 24. Rails Thinking sphinx добавить значение рейтинга в актуальность
- 25. Какова актуальность * .resx-файла в Windows Forms/controls?
- 26. аргумента по умолчанию акции и актуальность «% С» в Printf
- 27. Какова актуальность параметра первой строки в методе mongoose.model?
- 28. Какова актуальность упоминания об отсутствии задач в шторме
- 29. Использование определения предварительно разобранного протокола в скрипте и его актуальность
- 30. Найти обратной функции PHP
Это похоже на то, что Google, вероятно, использует 300 первоклассных людей в отделе новостей Google ... Не уверен, существуют ли доступные варианты категоризации статей, особенно в мире PHP. Но вы никогда не знаете; интересно узнать, что происходит. –
Я предполагаю, что это то, на что написана академическая статья :) – Ross
Сначала вам нужно определить критерии, по которым вы говорите, что статья X относится к теме Y. Это просто «слова A, B , C, связанные с темой Y, все существуют в статье X "? –