Patent Publication Number: US-9886627-B2

Title: Document analysis server for recommending a storage destination of image data to an image processing apparatus

Description:
BACKGROUND 
     Field 
     Aspects of the present invention generally relate to a document analysis system, a document analysis apparatus, and a document analysis method for analyzing a document and presenting a storage destination candidate of the document and a storage medium. 
     Description of the Related Art 
     Recently, fields such as law farms which handle a large amount of paper documents use multifunction. peripherals including scanners and scanning functions to classify and store electronic documents obtained by scanning paper documents in related storage destinations. Regarding storage destinations of electronic data of paper documents obtained by scanning, methods have been discussed. in which operators select the storage destinations by manually specifying and/or using histories storage destinations used in the past and bookmarks registered in advance. 
     U.S. Patent Application Publication No. 201/0002863 discusses a method for printing information for specifying a storage destination in advance on a paper document as a scanning target using a bar code and the like, reading the information at the time of scanning, and storing a scanned image in the specified storage destination. 
     U.S. Patent Application Publication No. 2003/0061221 discusses a technique for analyzing a text included in a document to search. for folders appropriate for the document and storing the document in a folder selected by a user from among the searched storage destination. candidates. More specifically, a feature of the text included in the document is compared with an average of features of documents stored in the folder to enumerate storage destination candidates appropriate for storage destinations. 
     On the other hand, there are following issues in a system in which an image processing apparatus (or a scanner) transmits electronic data of a scanned document to an analysis server, and the analysis server searches storage destination candidates by analyzing the received electronic data of the document. When a scanned document includes many pages, it takes a long time to transmit. electronic data from the image processing apparatus to the analysis server. Further, when the electronic data of the document includes many pages, it takes a long time for analysis processing of the electronic data, and it also takes a long time to present storage destination candidates appropriate for the document to a user. 
     SUMMARY 
     According to an aspect of the present invention, a document analysis system includes an image processing apparatus and an analysis server. The image processing apparatus includes a first transmission. unit configured to divide image data obtained by scanning a document including a plurality of pages for each page and transmit the divided image data to the analysis server, a reception unit configured to receive a storage destination candidate of the image data from the analysis server, a selection unit configured to present the storage destination candidate received by the reception unit and enable selection of a storage destination, and a second transmission unit configured to transmit the image data obtained by scanning the document including the plurality of pages as one file to the storage destination selected by the selection unit so as to be stored therein. The analysis server includes an analysis unit configured to sequentially analyze, page-by-page, the image data transmitted from the first transmission unit, and a reply unit configured to, when the analysis unit determines a storage destination candidate of the image data, return the determined storage destination candidate of the image data to the image processing apparatus. 
     Further features of aspects of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates an example of a configuration of a document analysis system according to an aspect of the present invention. 
         FIG. 2  illustrates an example of a hardware configuration of an image processing apparatus  101 . 
         FIG. 3  illustrates an example of a hardware configuration of an analysis server  102  and a file server. 
         FIG. 4  illustrates an example of a software configuration of the analysis server  102 . 
         FIG. 5  illustrates an example of a software configuration of the file server  103 . 
         FIG. 6  illustrates an example of a software configuration of an application  600 . 
         FIG. 7  illustrates an example of a main menu screen displayed by an operation display unit  212 . 
         FIG. 8  illustrates an example of an application. screen displayed by the operation display unit  212 . 
         FIG. 9  (including  FIGS. 9A and 9B ) is a sequence diagram of the document analysis system according to an aspect of the present invention. 
         FIG. 10  illustrates an example of a screen for causing a user to select a storage destination from among storage destination candidates. 
         FIG. 11  is a flowchart illustrating analysis processing executed in the analysis server  102 . 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
       FIG. 1  illustrates an example of a configuration of a document analysis system. The document analysis system includes an image processing apparatus (a scanner or a multifunction peripheral including a scanner unit)  101 , an analysis server (a document analysis apparatus)  102 , and a file server  103  which are connected with each other via a network  100 . The network  100  is a basis for each apparatus to communicate with each other and may be an intranet, the Internet, and other network systems. 
     The analysis server  102  has a function of obtaining a file stored in a plurality of folders (a plurality of storage destinations) in the file server  103 , extracting a text from the file, and storing the extracted text in a database (DB). In other words, the analysis server extracts and stores text information of a file stored in each of a plurality of storage destinations as feature information of each storage destination. When data to be classified is received from the image processing apparatus, the analysis server analyzes the received data to extract a text, compares the extracted text with the feature information of each storage destination stored in the DB, and returns a storage destination storing a file similar to the received data as a storage destination candidate. 
     The image processing apparatus  101  transmits image data obtained by scanning a document to the analysis server  102  and obtains information of the storage destination candidates from the analysis server. Then, the image processing apparatus  101  stores the image data in a storage destination. selected from among the storage destination candidates based on a user instruction. The file server  103  has a function of storing a file of image data and the like transmitted from the image processing apparatus in a folder in the storage destination specified by the image processing apparatus. 
       FIG. 2  is a block diagram illustrating a hardware configuration of the image processing apparatus  101 . In  FIG. 2 , a control unit  218  includes a central processing unit (CPU)  220 , a read-only memory (ROM)  221 , and a random access memory (RAM)  222  and controls operations of the entire image processing apparatus  101 . The CPU  220  reads and executes a control program stored in the ROM  221  to perform. various control processing such as reading control and transmission control. The RAM  222  is used as a main memory and a temporary storage area such as a work area of the CPU  220 . The control unit  218  is connected to a function unit  211  and controls operations of the operation display unit  212 , a scanner unit  213 , a printer unit  214 , and a transmission unit  215 . 
     On the operation display unit  212 , a liquid crystal display and the like having a touch panel function, a keyboard, and others are arranged. The operation display unit  212  displays an operation screen on the display. The scanner unit  213  reads a document (a paper document) to generate image data and outputs the image data to the control unit  218 . The scanner unit  213  includes an auto document feeder (ADF). When scanning is instructed in a state in which a document including a plurality of sheets (a plurality of pages) is placed on the ADF, the scanner unit  213  automatically scans the document page-by-page in order and generates image data. The printer unit  214  prints the image data output from the control unit  218  on a sheet. The transmission unit  215  transmits the image data read and stored by the scanner unit  213  to a specified transmission destination. 
     An interface unit  216  is connected to the network  100  to receive image data to be printed and screen data to be displayed by the operation display unit from an external information processing apparatus (not illustrated). A hard disk drive (HDD)  219  is a storage apparatus for storing image data and various programs. Various programs regarding the present exemplary embodiment are stored in the HDD  219 . The image data to be printed received from the external information processing apparatus is temporarily stored in an image memory  217  and printed by the printer unit  214  via the control unit  218 . 
       FIG. 3  illustrates an example of a hardware configuration of the analysis server  102  and the file server  103  according to the present exemplary embodiment. Each server includes a CPU  301 , a RAM  302  providing a work area of the CPU  301 , a storage apparatus  303  storing a computer program and a setting for implementing a function as the respective server, a network apparatus  304  for communicating with other apparatuses via the network  100 , a main bus  300 , and the like. 
       FIG. 4  illustrates an example of a software configuration of the analysis server  102 . The CPU of the analysis server  102  executes the computer program and thus functions as each of function units  401  to  407  illustrated in  FIG. 4 . 
     The analysis server  102  includes a communication unit  401 , an analysis request reception processing unit  402 , an analysis request processing unit  403 , a crawler unit  404 , a crawled result processing unit  405 , a text extraction unit  406 , and a file information DE unit  407 . 
     The crawler unit  404  collects information of a file stored in the file server  103  (stored electronic data) and information of a storage destination (a folder) of the file via the communication unit  401 . It is desirable that the crawler unit  404  collects a new file stored in the file server  103  or an updated file and does not collect a file of which information has been already collected in the past. The crawler unit  404  transmits the collected file and the storage destination information to the crawled result processing unit  405 . 
     The crawled result processing unit  405  transmits the file received from the crawler unit  404  to the text extraction unit  406  and receives therefrom information of a text extracted from the file (a text extraction result) as a response. Then, the crawled result processing unit  405  stores storage destination information corresponding to the text extraction result received from the text extraction unit  406  as file information (feature information of the storage destination) in the file information DB unit  407 . 
     On the other hand, when an analysis request of a scanned image is received from the image processing apparatus  101  via the communication unit  401 , the analysis request reception processing unit  402  receives image data of the analysis target (image data obtained by scanning the document) from the image processing apparatus  101 . The analysis request reception processing unit  402  also performs processing for transmitting a result (analysis result) of analyzing the image data by the analysis request processing unit  403 , which is described below, to the image processing apparatus  101  as a response. 
     The analysis request processing unit  403  transmits the image data of the analysis target received by the analysis request reception processing unit  402  to the text extraction unit  406  and receives therefrom a text extracted by performing optical character recognition (OCR) processing on the image data (data of a character recognition result) as a response. Further, the analysis request processing unit  403  obtains the file information stored in the file information DB unit  407  and performs comparison processing for comparing the file information with the text data (the data of the character recognition result) received from the text extraction unit. The analysis request processing unit  103  specifies one or a plurality of storage destinations storing a file similar to the received image data of the analysis target based on the result of the comparison processing and transmits the specified storage destinations to the analysis request reception processing unit  402  as the storage destination candidates. 
     The text extraction unit  406  extracts text information from the scanned image data received from the image processing apparatus  101  by performing the OCR processing and the like and extracts text information from a file received from the file server. The text extraction unit  406  further performs processing for dividing the extracted text information into appropriate clauses and tallying the number of appearances of a keyword and the like. 
       FIG. 5  illustrates an example of a software configuration of the file server  103  according to the present exemplary embodiment. The CPU of the file server  103  executes the computer program and thus functions as each of function units (a communication unit  501 , a file processing unit  502 , and a file storage unit  503 ) illustrated in  FIG. 5 . 
     The file processing unit  502  receives a request from the image processing apparatus  101  and the analysis server  102  via the communication unit  501 . Types of requests to be received may include a file storage request to the file storage unit  503  and an obtainment request of a file stored in the file storage unit. The file processing unit  502  stores and obtains a file in and from the file storage unit  503  in response to the received request. The file storage unit  503  serves a role for storing an entity of a file in a storage apparatus according to an instruction from the file processing unit. 
       FIG. 6  illustrates an example of a software configuration of an application  600  to be executed by the image processing apparatus  101 . The application  600  is stored in the ROM  221  and functions as each of function units (a communication unit  601 , a processing unit  602 , and a screen display unit  603 ) by being executed by the CPU  220  in the control unit  218  of the image processing apparatus. 
     The processing unit  602  communicates with the analysis server  102  and the file server  103  via the communication unit  601 . Main processing of the processing unit  602  is to instruct the scanner unit  213  to execute scanning via the control unit  218  of the image processing apparatus  101 . Further, the processing unit  602  transmits the image data obtained by scanning by the scanner unit  213  to the analysis server  102  and receives an analysis result as a response therefrom. Furthermore, the processing unit  602  transmits the image data file obtained by scanning by the scanner unit  213  and the storage destination of the image data file to the file server  103  and instructs the file server  103  to store the file. A series of processing sequences centered on the processing unit  602  is described below with reference to  FIG. 9  (including  FIGS. 9A and 9B ). 
     The screen display unit  603  performs processing for displaying a screen to a user via the operation display unit  212 . More specifically, the screen display unit  603  displays the operation screen and makes a request to the processing unit  602  for performing processing corresponding to a user operation. 
       FIG. 7  illustrates an example of a screen displayed on the display by the operation display unit  212  of the image processing apparatus  101 . On a main menu screen  700 , buttons are displayed each of which is accessible to each function (each application) available in the image processing apparatus  101 . When a user presses a button, an application corresponding to the pressed button is started up. A button  701  is used to start a “scan and send” application. The main menu screen is displayed when a main menu key (not illustrated) included in the image processing apparatus  101  is pressed. 
       FIG. 8  illustrates an example of a screen displayed by the operation display unit  212  of the image processing apparatus  101  according to the present exemplary embodiment, namely, a screen  800  displayed by the application  600  started up in response to pressing of the “scan and send” button  701  by a user. When a user sets a document on the scanner unit and presses a start key  801  on the screen  800 , the image processing apparatus executes scanning of the set document and transmits the scanned image to the analysis server  102  and the file server  103 . 
       FIG. 9  (including  FIGS. 9A and 9B ) is a sequence diagram illustrating processing from when a user uses the operation screen of the application  600  illustrated in  FIG. 8  to scan a document to when the image data is stored in the file server  103 . 
     In step S 9001 , when the image processing apparatus  101  detects that the main menu key (not illustrated) is pressed by a user, the operation display unit  212  displays the main menu screen  700  illustrated in  FIG. 7  on the display. When it is detected that the button  701  for starting up the application  600  is pressed on the main menu screen  700 , in step S 9002 , the operation display unit  212  notifies the application  600  that the application  600  is selected and starts the application  600 . When receiving the notification, in step S 9003 , the application  600  transmits initial screen information thereof to the operation display unit  212  and instruct the operation display unit  212  to display the screen. In step S 9004 , the operation display unit  212  displays the received screen  800 . 
     On the screen  800 , scanning conditions (reading settings such as color/monochrome, one side reading/two sides reading, and the like) can be set based on a user instruction. When the start key  801  of the application  600  is pressed by a use in a state in which a document including a plurality of sheets is placed on the ADF of the scanner unit, in step S 9005 , the operation display unit  212  notifies the application  600  of pressing of the start key. 
     In response to the notification of pressing of the start button, in step S 9006 , the application  600  instructs the scanner unit  213  to execute scanning. In step S 9007 , the scanner unit  213  sequentially scans the document including the plurality of sheets and creates electronic data including image data pieces of a plurality of pages. When scanning of all of the plurality of sheets in the document is complete, in step S 9008 , the scanner unit  213  notifies the application  600  of completion of scanning. When receiving the scan completion notification, in step S 9009 , the application  600  instructs the transmission unit  215  to transmit the electronic data (the image data) created by the scanner unit  213  by dividing for each page. The transmission unit  215  which receives the instruction divides the electronic data created by the scanner unit  213  for each page and sequentially transmits the electronic data divided for each page to the analysis server  102 . 
     When receiving a first page of the electronic data divided for each page, in step S 9011 , the analysis server  102  starts analysis processing of the electronic data in the order of reception. The analysis processing of data by the analysis server  102  is described in detail below with reference to  FIG. 11 . When determining that the storage destination candidates are determined while sequentially analyzing the pages, in step S 9012 , the analysis server  102  returns a response including the information of the storage destination candidates obtained as an analysis result. 
     In step S 9013 , the transmission unit  215  which receives the response from the analysis server  102  returns a response to the application  600  together with the analysis result (the information of the storage destination candidate). In step S 9014 , the application  600  instructs the transmission unit  215  to stop page division transmission. This is because the analysis result by the analysis server  102  is received as the response, and thus further transmission of data is not necessary. In step S 9015 , the transmission unit  215  returns a result of cancellation of a transmission job as a response. 
     In step S 9016 , the application  600  creates screen information for presenting the storage destination candidates for a user to select the storage destination of the electronic data based on the analysis result obtained in step S 9013 . In step S 9017 , the application  600  transmits a screen display instruction to the operation display unit  212  to display the created screen information. In step S 9018 , the operation display unit  212  displays the screen information for selecting the storage destination on the display. An example of the screen information including the analysis result (the information of the storage destination candidate) is described with reference to  FIG. 10 . 
       FIG. 10  is an example of a screen  1000  for causing a user to select the information of the storage destination candidate which is determined as appropriate for the storage destination of the scanned image data as a result of analysis by the analysis server  102 . When a user selects a desired storage destination from among the storage destination candidates displayed on a storage destination candidate display portion  1001  and presses a transmission button  1002 , the application  600  transmits the scanned data to the selected storage destination of the file server  103 . 
     Returning to  FIG. 9B , the sequence is described. When the storage destination is selected by a user operation and the transmission button is pressed, in step S 9019 , the operation display unit  212  notifies the application  600  of the selected storage destination and pressing of the transmission button. In step S 9020 , the application  600  which receives the notification instructs the transmission unit  215  to transmit a file. In this regard, the application  600  instructs transmission without dividing a file. In step S 9021 , the transmission unit  215  which receives the instruction transmits to the file server  103  the electronic data created by the scanner unit  213  as a single file without dividing into pages. 
     In step S 9022 , the file server which receives the file stores the data in a folder of the specified storage destination, and in step S 9023 , returns a response indicating completion of storage processing of the file. In step S 9024 , the transmission unit  215  returns a response of completion of storage processing to the application  600 . In step S 9025 , the application  600  instructs the operation display unit  212  to display a transmission completion screen. In step S 9026 , the operation display unit  212  displays the completion screen, and the processing is terminated. 
       FIG. 11  is a flowchart illustrating processing that the analysis server  102  analyzes the electronic data received from the transmission unit  215  in step S 9011  in  FIG. 9B . 
     When starting reception of the electronic data divided for each page, in step S 1101 , the analysis server  102  initializes an internal variable N to 1. In step S 1102 , the analysis server  102  analyzes data up to an N-th page and determines the storage destination candidate based on the data up to the N-th page. In the case of N=1, namely, a first page, the first page is analyzed. As described above, the analysis processing is to extract text data by executing character recognition processing on the received page and compare file information (feature information obtained by analyzing a file stored in each storage destination in the file server) stored in advance in the file information DB unit  407  with the extracted text data to determine the storage destination candidate. 
     In step S 1103 , the analysis server  102  checks whether next page data is received. If it is determined that a next page is received (YES in step S 1103 ), the processing proceeds to step S 1104 , and the analysis server  102  further analyzes data of the next page, i.e., a (N+1)-th page and determines the storage destination candidate based on the analyzed data (data from the first page to the (N+1)-th page). In step S 1105 , the analysis server  102  compares the analysis result (the storage destination candidate) an to the N-th page with the analysis result (the storage destination candidate) up to the (N+1)-th page newly analyzed in step S 1104 . In step S 1106 , the analysis server  102  determines whether a similarity between these two analysis results is equal to or greater than a predetermined threshold value by a comparison result in step S 1105 . When the similarity is equal to or greater than the predetermined threshold value (YES in step S 1106 ), it is determined that the similarity is high (the storage destination candidate is determined), and the processing proceeds to step S 1107 . The analysis server  102  returns the analysis result up to the (N+1)-th page (namely, the information of the storage destination candidate) to the image processing apparatus. After returning the analysis result in step S 1107 , in step S 1108 , the analysis server  102  deletes the received electronic data and terminates the processing. When the similarity is less than the predetermined threshold value (NO in step S 1106 ), it is determined that the similarity is low (the storage destination candidate is still possible to vary), and the processing returns to step S 1103 . 
     As described above, when starting reception of the scanned data, the analysis server starts analysis from the first page in order and returns the storage destination candidate when determining that the storage destination candidate is determined. In other words, the analysis server performs analysis of the document page-by-page, and thus the analysis server can return a response (reply) when determining that the storage destination candidate is determined (the storage destination candidate no longer varies) before receiving all pages of the scanned data. Therefore, a time period until the storage destination candidate appropriate for the document is presented to a user can be shortened. 
     According to the first exemplary embodiment, the application  600  transmits scanned data sequentially from the first page, an analysis result up to the N-th page is compared with an analysis result up to the (N+1)-th page, and the analysis result is returned when a similarity therebetween exceeds a predetermined threshold value. However, depending on composition of each page in a document, there may be a case that, for example, main pages representing features of the document are concentrated on 10th to 15th pages. In such a case, the application  600  may be configured to cause a user to specify that from which page to which page are the characteristic pages on the operation screen displayed by the operation display unit  212  and prioritizes transmission of the specified page. 
     Further, according to the first exemplary embodiment, it is determined whether the storage destination candidate is determined every time analysis of one page is performed, however, aspects of the present invention are not limited to this configuration, and the storage destination candidate may be determined every time a predetermined number of pages (for example, two pages) is analyzed. 
     Embodiments of aspects of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiments and/or that includes one or more circuits (e.g., application specific integrated. circuit (ASIC)) for performing the functions of one or more of the above-described embodiments, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiments and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiments. The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like. 
     While aspects of the present invention have been described with reference to exemplary embodiments, it is to be understood that the aspects of the invention are not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. 
     This application claims the benefit of Japanese Patent Application. No. 2015-017891, filed Jan. 30, 2015, which is hereby incorporated by reference herein in its entirety.