CS 344: Artificial Intelligence Presented by: 1)Nikunj Saunshi (100050007) 2)Aditya Bhandari (100050008) 3)Sameer Kumar Agrawal (100050021 ) Postal Address.

Slides:



Advertisements
Similar presentations
Parsing V: Bottom-up Parsing
Advertisements

Heuristic Search techniques
Constraint Satisfaction Problems
Review: Constraint Satisfaction Problems How is a CSP defined? How do we solve CSPs?
CS305: HCI in SW Development Evaluation (Return to…)
©2005, Pearson Education/Prentice Hall CHAPTER 5 Experimental Strategies.
Best-First Search: Agendas
Expert System Human expert level performance Limited application area Large component of task specific knowledge Knowledge based system Task specific knowledge.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Amirkabir University of Technology Computer Engineering Faculty AILAB Efficient Parsing Ahmad Abdollahzadeh Barfouroush Aban 1381 Natural Language Processing.
Artificial Intelligence Constraint satisfaction Chapter 5, AIMA.
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
Constraint Satisfaction Problems
Document and Query Forms Chapter 2. 2 Document & Query Forms Q 1. What is a document? A document is a stored data record in any form A document is a stored.
Data Mining, Information Theory and Image Interpretation Sargur N. Srihari Center of Excellence for Document Analysis and Recognition and Department of.
GRANULARITY OF LOCKS IN SHARED DATA BASE J.N. Gray, R.A. Lorie and G.R. Putzolu.
MAE 552 – Heuristic Optimization Lecture 5 February 1, 2002.
Chapter 5 Outline Formal definition of CSP CSP Examples
Linear Programming Applications
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Constraint Satisfaction Not all problems are solved by a sequential series of steps. How do we solve other types of problems?
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
Survival Analysis for Risk-Ranking of ESP System Performance Teddy Petrou, Rice University August 17, 2005.
Lecture 5 Geocoding. What is geocoding? the process of transforming a description of a location—such as a pair of coordinates, an address, or a name of.
Learning Table Extraction from Examples Ashwin Tengli, Yiming Yang and Nian Li Ma School of Computer Science Carnegie Mellon University Coling 04.
Constraint Satisfaction Problems
Background on USPS mail forwarding operations Overview of PARS
Copyright © 2005 Brooks/Cole, a division of Thomson Learning, Inc Chapter 24 Statistical Inference: Conclusion.
Copyright R. Weber Search in Problem Solving Search in Problem Solving INFO 629 Dr. R. Weber.
بسم الله الرحمن الرحيم * this presentation about :- “experimental design “ * Induced to :- Dr Aidah Abu Elsoud Alkaissi * Prepared by :- 1)-Hamsa karof.
Quantum Error Correction Jian-Wei Pan Lecture Note 9.
Called as the Interval Scheduling Problem. A simpler version of a class of scheduling problems. – Can add weights. – Can add multiple resources – Can ask.
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
Mail merge I: Use mail merge for mass mailings Perform a complete mail merge Now you’ll walk through the process of performing a mail merge by using the.
1 2. Independence and Bernoulli Trials Independence: Events A and B are independent if It is easy to show that A, B independent implies are all independent.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Avoiding Segmentation in Multi-digit Numeral String Recognition by Combining Single and Two-digit Classifiers Trained without Negative Examples Dan Ciresan.
CS 484 – Artificial Intelligence1 Announcements Homework 2 due today Lab 1 due Thursday, 9/20 Homework 3 has been posted Autumn – Current Event Tuesday.
Constraint Satisfaction Read Chapter 5. Model Finite set of variables: X1,…Xn Variable Xi has values in domain Di. Constraints C1…Cm. A constraint specifies.
Review 1.Lexical Analysis 2.Syntax Analysis 3.Semantic Analysis 4.Code Generation 5.Code Optimization.
Presenter: Shanshan Lu 03/04/2010
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Schreiber, Yevgeny. Value-Ordering Heuristics: Search Performance vs. Solution Diversity. In: D. Cohen (Ed.) CP 2010, LNCS 6308, pp Springer-
Chapter 5 Constraint Satisfaction Problems
Review Test1. Robotics & Future Technology Future of Intelligent Systems / Ray Kurzweil futurist Ray Kurzweil / A Long Bet A Long Bet / Robot Soccer.
16.7 Completing the Physical- Query-Plan By Aniket Mulye CS257 Prof: Dr. T. Y. Lin.
CPSC 252 Hashing Page 1 Hashing We have already seen that we can search for a key item in an array using either linear or binary search. It would be better.
Robust Planning using Constraint Satisfaction Techniques Daniel Buettner and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science.
Optimization in Engineering Design 1 Introduction to Non-Linear Optimization.
Lecture 12 Huffman Algorithm. In computer science and information theory, a Huffman code is a particular type of optimal prefix code that is commonly.
Refined Online Citation Matching and Adaptive Canonical Metadata Construction CSE 598B Course Project Report Huajing Li.
COMP 3438 – Part II-Lecture 5 Syntax Analysis II Dr. Zili Shao Department of Computing The Hong Kong Polytechnic Univ.
Sequential Processing to Update a File Please use speaker notes for additional information!
Submitted by: Siddharth Jain (08EJCIT075) Shirin Saluja (08EJCIT071) Shweta Sharma (08EJCIT074) VIII Semester, I.T Department Submitted to: Mr. Abhay Kumar.
Perform a complete mail merge Lesson 14 By the end of this lesson you will be able to complete the following: Use the Mail Merge Wizard to perform a basic.
Designing Cross-Language Information Retrieval System using various Techniques of Query Expansion and Indexing for Improved Performance  Hello everyone,
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Parsing IV Bottom-up Parsing
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
4 (c) parsing.
Computer Science cpsc322, Lecture 14
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Program Design Introduction to Computer Programming By:
Logic: Top-down proof procedure and Datalog
Artificial Intelligence
Zip Codes and Neural Networks: Machine Learning for
2012 AP® Preadministration Session
COMPUTER NETWORKS PRESENTATION
Constraint Satisfaction
A handbook on validation methodology. Metrics.
Presentation transcript:

CS 344: Artificial Intelligence Presented by: 1)Nikunj Saunshi ( ) 2)Aditya Bhandari ( ) 3)Sameer Kumar Agrawal ( ) Postal Address Interpretation

Introduction Postal address interpretation is a problem of central importance in developing an address recognition system. Given an envelope with a handwritten or printed address written on it, the main aim of postal address interpretation is to perfectly match that address to an entry of an existing address database. In the USA, an expanded ZIP code system is used for efficient mail sorting and delivery called the ZIP+4. Postal address interpretation aims at automated conversion of an address to the corresponding ZIP+4 code.

ZIP+4 Codes A ZIP+4 code uses the basic five-digit code plus four additional digits to identify a geographic segment within the five-digit delivery area, such as  a city block  a group of apartments  an individual high-volume receiver of mail The add-on code (+4 digits) is generally the last four digits of the box number. For example  PO Box , Defreestville NY  PO Box 77, Juneau AK

Goal of Postal Address Interpretation The goal of postal address interpretation is, given an image of an address, to identify the nine-digit ZIP Code that matches the address, even though the address does not contain a nine- digit ZIP Code. The finite list of possible interpretations for this problem is given in the form of a database of nine-digit ZIP Codes, called the ZIP+4 database. The national ZIP+4 database of the USA consists of 28 million records, each of which corresponds to a different nine-digit ZIP Code.

A simple OCR approach Optical character recognition (OCR) is the mechanical or electronic conversion of scanned images of handwritten, typewritten or printed text into machine-encoded text. So, why not simply use an OCR for the postal address interpretation problem? There are several problems in this method like  The text might be obscured  The author of the address can make an error  Due to poor image quality, the automated recognition system may fail to correctly recognize the text

Example There are 3 problems in the above postal address image: 1)The city name is not visible. 2)The suffix is not recognizable due to poor image quality. 3)The author has made an error in the ZIP code (the given ZIP code does not correspond to the street address).

A constraint satisfaction problem (CSP) consists of n variables, X 1, X 2,..., X n, each having an associated domain, d 1, d 2,..., d n. Each variable can take on any value in its domain but constraints are imposed on the legal combinations of values that two or more variables can take on. A solution to the constraint satisfaction problem consists of a set of values for the X i such that all the constraints are simultaneously satisfied. Constraint-based approach (1/2)

Constraint-based approach (2/2) Postal address interpretation can be formulated as a CSP. In such a formulation, segmented words from the address are treated as variables. These words are then recognized to create their respective domains. The constraints are provided by the ZIP+4 database which lists all valid addresses in the country. This database can tell whether the values assigned to one or more variables are part of a legal address.

Solving the CSP (1/4) The words are first segmented and recognized, and the top recognition choice is instantiated for each variable. A conflict between two variables occurs when their values are not compatible according to the constraints. The constraint satisfaction problem is then solved using the informed backtracking algorithm and the min-conflicts heuristic. The min-conflicts heuristic dynamically orders the values in each variable's domain.

Solving the CSP (2/4) If the instantiated values of all the variables satisfy all the constraints, then a solution has been found. Otherwise, a backtracking routine chooses a variable for repair that participates in the most conflicts. This repair process consists of re-sorting that variable's domain in increasing number of conflicts with the instantiated values of the other variables. If two values in the domain have the same number of conflicts, the one with the higher recognition confidence is placed first.

Solving the CSP (3/4) The informed-backtracking routine then iterates, instantiating top choice of all variables, checking for consistency among all instantiated values and repairing the variable that participates in the most conflicts. If the informed-backtracking algorithm fails to find a solution to the CSP, the system uses the max-conflicts heuristic to determine the variable(s) that caused the failure. The failure inducing variables are termed culprits. The max-conflicts heuristic indicates the variable(s) that initially had the most conflicts among the top recognition choices (i.e. the one that was repaired first).

Solving the CSP (4/4) The results of the failure analysis are either to delete the culprits or modify their domains using contextual knowledge derived from the informed-backtracking routine. This process of backtracking and failure analysis continues until a solution is found or all variables have been modified or deleted. Once a consistent set of values is found, the interpretation is made based on those values. If, in solving the problem, some variables were removed or if some objects were missing, their values can be inferred from the determined solution.

How does failure analysis work? Why does deleting the culprits in failure analysis work?  When an incomplete address is input to the system, it is able to use partial information to make an interpretation.  Many addresses contain redundant information so the loss of some words will not prevent a correct interpretation from being found.  Once a consistent set of values are identified, values for the missing or removed objects can be inferred from the available information and a complete interpretation can be made.

Correction of recognition errors Recognition errors can be corrected during failure analysis by modifying a variable's domain or deleting it and inferring the correct choice later. By removing it, the other variables may form a consistent solution from which the value for the removed variable can be inferred. Even if this is not the case, this partial solution may limit the number of choices that the removed variable can assume. The word can be re-recognized with the set of possible choices limited to what the partial solution predicts.

Postal Image Interpretation (1/2) The words in the address block images are segmented using low-level image processing techniques. Once the words are segmented, the system uses a hierarchical recognition process that first identifies the class that the object belongs to and then recognizes the object within that class. The first level is referred to as parsing and the second level as word recognition. The parser uses a statistical method to assign a type to each word, and the various words are then recognized within their respective types. Then, a ranked list of choices for each word is obtained. This list of choices becomes the domain for that variable.

Example Word recognition and parsing Word Categories

Postal Image Interpretation (2/2) Initially the domains are sorted by the recognition confidence. Each variable is then instantiated with its top choice. The informed backtracking procedure then tries to find a consistent set of values from the recognition choices for all the variables that satisfy the constraints imposed by the ZIP+4 database. For example, given a particular ZIP Code (Z5), only certain street suffixes (SS) occur within that ZIP Code (i.e. those suffixes are compatible with that ZIP Code).

Detailed example (1/6) Assume the following variables and recognition choices: X l = 4555 for the street number X 2 = Beltline for the street name X 3 = Dr, St for the street suffix X 4 = REJECT for the city name X 5 = TX, TN for the state name, and X 6 = for the ZIP Code

Detailed example (2/6) Each variable is instantiated with its top choice. When informed-backtracking is called with these variables and values, it is found that they are not consistent so the number of conflicts each variable is participating in is counted. X 4 is left out of this since it has no values. This process is done by querying the ZIP+4 database on the various combinations of variables, taken two at a time. For example, the street number(X 1 ) agrees with the street name, but disagrees with the street suffix(X 3 ). This means is that there is at least one record in the ZIP+4 database with a street number of “4555” and a street name of “Beltline”, but there is no record that has a suffix of “Dr” and a street number of “4555”.

Detailed example (3/6) In terms of constraints, “4555” and “Beltline” satisfy the constraint between the street number and the street name, but “4555” and “Dr” do not satisfy the constraint between the street number and the street suffix. The same process is repeated for all the other variables. Instantiated values and their conflicts

Detailed example (4/6) The suffix or the ZIP Code can be repaired first, since they are both tied with the highest number of conflicts. If the ZIP Code is chosen for repair, since there is only one choice, 75001, it is again instantiated. The process of testing a solution and repairing a variable continues until a solution is found or the informed- backtracking returns without finding one. The latter happens in this example due to the errors on the address block.

Detailed example (5/6) Since no solution was found, failure analysis looks at the ZIP Code and the suffix because they had the most initial conflicts. Both of these are removed and the informed-backtracking is repeated, this time with only the street number, street name and state name. In this second trial, the top choices for these three variables combine to form a consistent solution. From this we are able to resolve the various uncertainties in this image.

Detailed example (6/6) The city word(X 4 ) can be inferred from the partial solution as "Addison" since there is only one city in Texas with a street name of Beltline and a street number of The ZIP Code can also be inferred from the partial solution as "75244", so we have corrected the error made by the patron. Finally, we can constrain the choices for the suffix using the partial solution. In this case, there is only one choice, "Rd", so we have corrected our own recognition error. The final interpretation for this address is: 4555 Beltline Rd., Addison, Texas

Experimental Results (1/2) The performance of the CSP system is compared to an optical character reader (OCR) system. The input for this test consisted of 1200 address block images. These images were biased towards poor quality and difficulty in interpretation by a human. In addition, many of the images contained author errors also. Out of the 1200 addresses, the human could find ZIP+4 Codes for 92% of them. Of the 1200 images, the OCR was able to encode 28% to nine digits with an 15% error rate, while the CSP system was able to encode 82% to nine digits with a 17% error rate.

Experimental Results (2/2) It is also possible to encode only to the five-digit ZIP Code. In such a case the specific ZIP+4 record cannot be determined, but there exists enough contextual knowledge on the mail piece to develop an interpretation for the five-digit ZIP Code. The OCR was able to encode 67% of the images to at least five digits with a 12% error rate. The CSP system encoded 98% to at least five digits with a 17% error rate.

Conclusions Incomplete addresses, patron errors and recognition errors make address interpretation a challenging problem. The CSP approach can be used for dealing with these uncertainties which combines the constraint satisfaction paradigm and failure analysis on the results of informed backtracking. By formulating the problem in this way, we are able to  generate partial solutions and infer the missing information,  leave out words from the address and infer values for them later, and  overcome recognition errors

References 1) A Constraint-based Approach to Postal Address Interpretation Peter B. Cullen, Jonathan J. Hull, Sargur N. Srihari, CEDAR, SUNY, Buffalo 2) Information Theoretic Analysis of Postal Address Fields for Automatic Address Interpretation Sargur N. Srihari, Wen-Jann Yang, and Venugopal Govindaraju, CEDAR, SUNY, Buffalo 3) ZIP Code System in the USA

THANK YOU !