A Tag-Based Blog Recommendation Systemfor Smart-M3 Multi-Blogging
Diana V. Zaiceva, Dmitry G. Korzun
Petrozavodsk State UniversityDepartment of Computer Science
10th FRUCT Conference, November 11th, Tampere, Finland
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 1 / 13
Table of Contents
1 Multiblogging with SmartScribo
2 Blog Recommendation
3 Tags Ranking
4 Conclusion
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 2 / 13
Multiblogging with SmartScribo
SmartScribo: Smart-M3 Application
Distributed multi-agentarchitectureBlogosphere is sharedin the smart space
I partiallyI dynamically
Interaction withmultiple blogs atmany blog servicesAgents are KPs:
I clientsI processorsI mediators
Synchronization by notification (subscription)Proactive blog retrieval, e.g., based on recommendationIndividual and collaborative activity
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 3 / 13
Multiblogging with SmartScribo
Personal Smart Spaces
PersonI personal (long-term) interests
Blog dataI post starts discussionI discussion evolves with
commentariesI tags describe post semantics
ContextI coordinates & surroundingsI . . .
I post read&write: post statusI given post p and user u,
Tpu is the latest post access time
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 4 / 13
Multiblogging with SmartScribo
Objective: Proof-of-the-ConceptSearching personally-interesting discussions in the blogosphere
Are smart spacesan appropriateparadigm?
user u contextfor post p
I read or send:post status
I latest postaccesstime Tpu
Our testbed: Smart-M3 and SmartScribo
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 5 / 13
Blog Recommendation
Basic Steps
1 User u activity:post access timeand other attributes
2 Tracking poststatus
3 Tag index data(t ,u)and rank Rtu
4 Blog discovery fortop-ranked tags
5 Publishing blogrecommendation
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 6 / 13
Blog Recommendation
Blog Search EnginesExamples
TechnoratiGoogle Blog SearchLjSeek.com
BlogScopeBlogPulseRegator.com
Search querieshttp://www.blogpulse.com/search?boolean=false&operator=and&
keywords=cat+mouse+milk&...
http://api.regator.com/posts/search?searchTerm=cat&...
Blog mediator provides input for search queries
A simple case is query for blogs containing given tags:
p ∈ blogosphere s.t. t ∈ p for some t ∈ T
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 7 / 13
Blog Recommendation
Some Known Classes of Recommendation Methods
Content-based algoritmI Decision trees and rule inductionI Nearest neighbour methodsI Relevance Feedback and Rocchios AlgorithmI Linear ClassifiersI Probabilistic Methods and Naive Bayes
Collaborative filteringI user based collaborative filteringI item based collaborative filtering
Demographic recommendationUtility-based recommendationKnowledge-based recommendation
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 8 / 13
Tags Ranking
Simple ModelUser u, post p, tag t
np ≥ 1 is the sum number of tags in p
np is a post attribute kept in the blogosphere smart space
Blog mediator tracks status of p and updates tags index
δt is the time elapsed from the latest update (discrete: 0,1, 2, . . . )
Rtu shows importance of blogs with t to u
Rtu =
1/np, if δt = 0 (i.e., t is new)
(1− α)Roldtu +
α
δtnp, if δt ≥ 1
(1)
1/np is topic-focus level of p1/δt is freshness of t (tag relevance)0 < α < 1 is a tradeoff parameter
Dmitry Korzun Blog Recommendation System for Smart-M3 FRUCT10 7–11.11.2011 9 / 13
Tags Ranking
Tag RelevanceSimple popularity parameter of t personalized for u
δt = F({Tqv}t∈q,v∼u
)Factor 1/δt shows access activity for posts with t
The higher δt the less interest to u in such posts
Individual activity of u
δt = δt(u) = T0 − maxt∈q,q 6=p
Tqu
Collective activity: group C influences u’s decisions
δt = δt(C) = T0 −max{
maxt∈q,q 6=p
Tqu, maxv∈C\{u}
maxt∈q
Tqv
}where T0 is the current time at blog mediator
Dmitry Korzun Blog Recommendation System for Smart-M3FRUCT10 7–11.11.2011 10 /
13
Tags Ranking
Architectural Design
Blog mediator
subscribe to poststatus
tags indexing andranking
query to blogsearch engine
Blog client
subscribe to recommenderproactively receive recommendationsaccept and enjoy
Dmitry Korzun Blog Recommendation System for Smart-M3FRUCT10 7–11.11.2011 11 /
13
Conclusion
Current Status and Results
Ongoing research in proof-of-the-concept style
Usecase scenario and architectural designI Smart-M3 features for smart applicationsI SmartScribo multi-agent architectureI SmartScribo synchronization mechanismI SmartScribo GUI design rules
In-progress implementationI Simple modelI Use of available servicesI http://oss.fruct.org/wiki/SmartScriboI http://gitorious.org/smart-scribo/smart-scribo
Dmitry Korzun Blog Recommendation System for Smart-M3FRUCT10 7–11.11.2011 12 /
13
Conclusion
Our Plans
1 Evaluation experiments2 From simple model to usable solutions3 Benefits from known recommendation methods4 Adaptation to function variety of existing blog search engines
SmartScribo project wiki (in Russian)http://oss.fruct.org/wiki/SmartScribo
Open sourcehttp://gitorious.org/smart-scribo/smart-scribo
Mailing [email protected]
Q&A
Dmitry Korzun Blog Recommendation System for Smart-M3FRUCT10 7–11.11.2011 13 /
13