Final Presentation V3

Post on 28-Nov-2014

747 views 0 download

description

 

Transcript of Final Presentation V3

WEB RECOMMENDER FINAL REPORTWei Chen

Yue (Jenny) Cui

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

MOTIVATION

Background People use the web to browse information There are too much information on the web To facilitate this web-browsing process

Fast Accurate

Existing solution: search engines User types in a query Search engine returns relevant pages

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

PROBLEM STATEMENT

What is a Web Recommender? A web-browsing tool Recommends relevant web pages to the user

while he/she is reading a page on the web. Why is it important?

Provides a convenient way to browse the web Automatically recommends relevant information Less effort to make and type in queries Reserves the benefit from the state-of-the-art search

engine

PROBLEM STATEMENT (CONT.)

Why is it hard? Making queries from a web page: keyword

summarization Search engines are not perfect: post-processing People have different reading goals: how to

define relevance?

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

GOALS FOR 2009 SPRING SEMESTER

Provide a software framework for Web Recommendation

Provide basic recommendation algorithms Basic services Baselines for future research on Web

Recommendation A tutorial: how to develop your own algorithm

based on our framework? Propose an evaluation prototype

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

REQUIREMENTS

Functional Requirements Given a web page as input, the system should be

able to find a list of relevant web pages Provide three recommendation algorithms

Baseline HTML-Structure-based Semantic-based

A simple GUI for evaluation

REQUIREMENTS (CONT.)

Non-functional Requirements Results can be retrieved in 5 seconds

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

DESIGN: CLASS DIAGRAM

<<interface>>SearchEngine

search(Query q) : List<Page>

StructureFeatureRecommender

recommend(Page p): List<Page>

SemanticFeatureRecommender

recommend(Page p): List<Page> YahooSearch

search(Query q) : List<Page>

BasicRecommender

recommend(Page p): List<Page>

<<interface>>WebRecommender

recommend(Page p): List<Page>

GoogleSearch

search(Query q) : List<Page>

<<interface>> Stemmer

stem(String s) : String

<<interface>> HTMLStripper

strip(Page p) : String

<<interface>> HTMLParser

parse(Page p) : ParseTree

Util

<<interface>> StopwordRemover

remove(String s) : String

<<interface>>QueryTermFilter

filterQueryTerms(List<String> keyTerms) : List<String>

FrequencyFilter

filterQueryTerms(List<String> keyTerms) : List<String>

Classes in Util package are singletons

QueryFormulator

form(List<String> finalTerms) : Query

<<interface>>

OrQueryFormulator

form(List<String> finalTerms) : Query

PorterStemmer

stem(String s) : String

NaiveHTMLStripper

strip(Page p) : String

SmartParser

parse(Page p) : ParseTree

GenericStopwordRemover

remove(String s) : String

DESIGN: SEQUENCE DIAGRAM

:StructureFeatureRecommender

:YahooSearch

create(YahooSearch ys)

recommend(p)

search(q)

List<Page> pages

Extract features to form key terms.

:EvaluationGUI

:QueryFormulator

create()

create()

and(List<String> finalTerms)

Query q

:HTMLParser

:Stemmer

parse(p)

ParsingResult pr

stem(pr)

Stemming Result sr

List<Page> pages

:FrequencyFiltercreate()

filterQueryTerms(List<String> keyTerms)

requestRecommends(Page p)

List<String> finalTerms

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

ALGORITHM: BASELINE

Algorithm Strip off HTML tags (e.g. </html>) Remove non-word tokens (e.g. “/**/”) Remove stop words (e.g. “the”)

Example Input page:

http://en.wikipedia.org/wiki/Entropy Output query:

Entropy, free, encyclopedia, Jump, search, article

ALGORITHM: HTML STRUCTURE

Algorithm Parse HTML page Extract text content from node <title> and <a> Remove stop words (e.g. “the”) Select the 10 most frequent words

Example Input page:

http://en.wikipedia.org/wiki/Entropy Output query:

ISBN, edit, entropy, thermodynamics, Entropy, energy, system, law, heat, thermodynamic

ALGORITHM: SEMANTIC FEATURES

Algorithm Baseline + named entities with highest

frequency (top 5) Example

Input page: http://en.wikipedia.org/wiki/Entropy

Output query: ISBN, University, Press, Boltzmann, John

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

EVALUATION Evaluation form:

Evaluation criteria:Modified Average Precision

Example: AveP = (0+1/2+2/3) /3 = 0.389

N

rrelrPAveP

N

r))()((

1

Input page Recommended page Relevancehttp://en.wikipedia.org/wiki/Natural_language_processing

http://research.microsoft.com/jump/50176 0

http://nlp.stanford.edu/ 1

http://www.aaai.org/aitopics/html/natlang.html 1

TEST DATA SELECTION Input pages from 5 topics:

“Harry Porter” “Waterboarding” “Wei Chen@CMU homepage” “Entropy (thermodynamics)” “How to make Sushi”

Dimensions Popular vs. Unpopular (“Harry Porter”, “Wei Chen”) Ambiguous vs. Unambiguous (“Entropy”, “Sushi”) New vs. Old (“Waterboarding”, “Entropy”) Procedural vs. Conceptual (“How to”, “Entropy”) Technological vs. Mass media (“Entropy”, “Harry

Porter”)

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

TEST DATA

We evaluate on 5 topics and 3 algorithms. We have total of 15 categories. Each category has 5 recommended WebPages.

We have total of 5 evaluators. Each of them scored 75 web pages.

Entropy Harry Potter waterboarding Wei Chen Make Sushi Average on AlgorithmBaseline 0.519 0.9032 0.507 0.7444 0.1274 0.5602Semantic 0.6926 0.9686 0.1738 0.457 0 0.4584Structure 1 0.982 0.8564 0.713 0.7444 0.85916Average on Topic 0.7372 0.951266667 0.5124 0.638133333 0.2906

AVERAGE PRECISION

AVERAGE ON ALGORITHMS

AVERAGE ON TOPICS

KAPPA

Anthony Hideki Jenny Shilpa WeiAnthony 1 0.761905 0.839744 0.86688 0.784483Hideki 0.76191 1 0.656085 0.731183 0.568528Jenny 0.83974 0.656085 1 0.813632 0.676724Shilpa 0.86688 0.731183 0.813632 1 0.709609Wei 0.78448 0.568528 0.676724 0.709609 1

•We can achieve very good inter-coder agreement, if we revise our score criteria. •We all seem to agree with Anthony (maybe we should ask him to revise our score criteria).

CONCLUSION Topics play an important role in the evaluation

results. The more popular and resourceful the topic is the better the evaluation results are. The time sensitive topic has the highest invalid page rate.

At this point we cannot make any conclusion about our algorithms. Only Structure algorithm seems better.

We don’t know what makes the difference in the evaluation results of the three algorithms. We need to design a new experiment to analyze query terms which the three algorithms generated in order to answer this question.

We should include the condition in which it uses the human generated query terms as our control condition in our new experiment.

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

SE TECHNIQUES Iterative Process at each stage Design

Iteration 1: Initial design of framework Composite-pattern based evaluation design

Iteration 2: Added query formulator and query filter Simplified evaluation design

Implementation: Iteration 1:

Initial implementation of framework Implemented evaluation component based on composite

pattern Iteration 2:

Implemented query formulator and query filter Implemented simplified version of evaluation GUI

SE TECHNIQUES (CONT.)

Evaluation: Iteration 1:

Pilot study Weighted average relevance score

Iteration 2: 5 raters, 5 input pages Modified average precision

Used Wiki to coordinate Test-driven method for implementation

OUTLINE

Motivation Problem Statement Goals for this project (solution) Requirements Design

Framework design Algorithm design Evaluation design

Results SE Techniques used in this project Lessons Learned

WHAT CHANGED OVER THE SEMESTER

Our evaluation GUI went through several rounds of changes. Relation database composite pattern Excel

We planned to use our evaluation GUI in our final evaluation, but we were unable to do it because the speed of loading a webpage is too slow in the GUI. We switched to use Excel files for the evaluation.

WHAT WOULD WE CHANGE IN OUR APPROACH IN THE FUTURE We want to improve our risk analysis: one

tricky thing about risk analysis is that it is unexpected. We didn’t expect that speed will be a problem of our GUI.

Evaluation took more time than we had thought. We want to allow more time for evaluation, because we need time for pilot study before we conduct the experiment. Then we can have detailed and systematic analysis of the algorithms and improve our algorithms based on the analysis.

Time management: We should start evaluation early so that we can improve our algorithms based on evaluation results.

ACKNOWLEDGEMENTS

Thanks Dr. Nyberg, Dr. Tomasic, Shilpa and Hideki for valuable comments and suggestions on our project through out the semester

Thanks our raters for the evaluation task Thanks our classmates for helpful discussions