While the specification concludes with claims that particularly point out and distinctly claim that which is regarded as the presentation, details of embodiments of the invention may be more readily ascertained from the following detailed description when considered in conjunction with the following drawings wherein;
A specific embodiment of the invention will be described to help explain the invention. The description of the specific embodiment should not be construed as limiting the scope of the invention. The scope of the invention is to be determined by the claims. In addition, every feature described in the embodiment is not always indispensable to use of the present invention.
Each user terminal 30 is associated with one of a plurality of users and includes a screen reader for generating an audible representation of the contents of a document page. Each user terminal 30 generates an evaluation value for each page in a document specified by a user using the functionality of the calculation program and the evaluation program made available by the server apparatus 20 and outputs the evaluation value for each page to the terminal user. Thus, before the document is actually read aloud, the user can find out how difficult it is likely to be to understand the contents of each page if the screen reader is used for that page, and can choose whether a page is to be actually read aloud.
The delivery section 210 makes an evaluation function stored in the first function recording section 200 available to each of the user terminals 30. The evaluation function delivered to a certain user is one associated with the user profile of the user. Moreover, each time the first update section 240 updates an evaluation function, as will be described below, the delivery section 210 delivers the updated evaluation function to each of the plurality of user terminals 30, and thus causes a second function recording section 320 in the user terminal 30 (see
The collection section 220 collects user feedback; namely, the user's evaluation of the actual difficulty in understanding a page and the feature amount on the page, in association with the user profile of the user. Specifically, the collection section 220 may either collect actual user difficulty evaluation values and feature amounts when the number of the user's difficulty evaluation values recorded in the user terminal 30 reaches a predetermined level or collect them periodically regardless of the number of the evaluation values generated during the time period.
The evaluation value database 230 records user difficulty evaluations and feature amounts collected from the user by the collection section 220 in association with the user profile. In the first function recording section 200, the first update section 240 updates the evaluation function associated with each of the user profiles. Here, the evaluation function is updated on the basis of the evaluation value and the feature amount collected in association with the user profile.
In addition, the server apparatus 20 may include a performance evaluation section 250. The performance evaluation section 250 evaluates the performance level of each type of screen reader by using the user feedback evaluation values collected by the collection section 220. For example, in a case where the evaluation values corresponding to a certain type of screen reader are higher on the average than those corresponding to each of the other types of screen readers, the performance evaluation section 250 may rate the performance of the certain type of screen reader at a high level.
In response to an instruction from a user specifying a page, the feature amount computation section 310 computes the feature amount representing a feature of the specified page. This feature amount may be computed by scanning a plurality of display objects included in the specified page in a predetermined order; i.e., along a predetermined trajectory. The second function recording section 320 acquires and records the evaluation function from the first function recording section 200 in the server. The difficulty evaluation section 330 computes an evaluation value for the page by passing the feature amount computed by the feature amount computation section 310 to the evaluation function. The difficulty evaluation section 330 outputs the computed evaluation value for the user It is preferable that, the evaluation value be provided to the user before the document is read aloud by the screen reader. If the evaluation value computed by the difficulty evaluation section 330 is inconsistent with the user's evaluation of the difficulty, the input section 340 receives an input of the user's difficulty evaluation value.
The evaluation value database 350 records the user's difficulty evaluation value in association with the feature amount of the page. Here, the evaluation value database 350 is only one example of a page recording section of the present invention. The evaluation value database 350 may record each of a plurality of pages whose computed evaluation value is inconsistent with the user's own evaluation of the difficulty. On the basis of the inputted user's difficulty evaluation value of the pages and the feature amounts of the pages, the second update section 360 updates the evaluation function stored in the second function recording section 320 with the goal of the evaluation function generating evaluation values more consistent with the user's evaluation.
In addition, the feature amount recorded in the evaluation value database 230 may be vector data including a plurality of elements. The elements in one piece of vector data respectively show different features of one page. Furthermore, the evaluation value recorded in the evaluation value database 230 may be expressed, for example, by using a scale, that indicates the relative ease of understanding by listening to a voice. Alternatively, the evaluation value may be expressed by using one of continuous values based on a scale of 100. The version of a calculation program shows whether a new calculation program or an old calculation program was used for evaluating the feature amount during a transition period in which the calculation program is being updated. A process of referring to the version information will be described below by using
The first update section 240 updates the evaluation function recorded in the first function recording section 200 on the basis of the feature amount and the user's difficulty evaluation value collected in association with the user profile so that the evaluation values generated by the updated evaluation function will hopefully be more consistent with the user's evaluation (S830). An example of details of a processing procedure will be described below. Firstly, the first update section 240 classifies the collected feature amounts and the collected user's difficulty evaluation values into groups of the respective user profiles. Subsequently, the first update section 240 generates an evaluation function for each of the groups thus classified by using a technique such as multiple regression analysis or machine learning (a neural network, decision tree learning, a support vector machine or the like). The generated evaluation function is the most likely function that would return the collected user's difficulty evaluation value by using the collected feature amount. The first update section 240 updates the existing evaluation function to the newly generated evaluation function.
The delivery section 210 determines whether the calculation program for computing the feature amount has been updated (S840). If the calculation program has been updated (S840: YES), the delivery section 210 delivers the updated calculation program to the user terminal 30 (S850), and then the processing is returned to step S810. In this way, a new evaluation function is delivered to the user terminal 30 every time the evaluation function is updated.
Each of
For the purpose of detecting the inconsistency, as illustrated above, between the order of reading aloud and the display structure as a feature amount, the feature amount computation section 310 computes the feature amount by using a scan trajectory along which a plurality of display objects are scanned in the Z-order. For example, the feature amount may be computed according to the distance and angles in the trajectory. The details of this process will be described below. In one example thereof, the feature amount computation section 310 computes the distance between a first display object and a second display object scanned after the first display object. Here, the feature amount computation section 310 makes such a computation for each of the display objects. Then, in a case where the total or average distance thus computed is longer, the feature amount computation section 310 computes the feature amount as being larger than that in a case where the total or average distance is shorter. In other words, where the scan trajectory in a certain page is complicated, and thus long, the feature amount computation section 310 rates the page as one having a feature in which the contents of the page may not be easily understood.
In another example, the feature amount computation section 310 computes an angle of a line connecting first and second sequentially scanned display objects to another line connecting to second and third sequentially scanned display objects. Here, the feature amount computation section 310 makes such a computation for each triplet of the display objects. If the absolute value of the total or average angle thus computed is small (meaning the trajectory makes sharp turns between overlapping objects, the feature amount computation section 310 computes the feature amount higher than that in a case where the absolute value of the total or average angle is smaller. For example, a formula for computing the feature amount is shown as Formula 1 below. By using this formula, the feature amount computation section 310 can compute a large feature amount in a case such as
The process illustrated by referring to
The feature amount computation section 310 classifies display objects included in a page as being of a plurality of types. This classification is made according to criteria, such as whether or not each of the display objects includes text data and/or alternative text data, and whether or not the display object is a placeholder indicating either a page title and an outline text. Thereafter, the feature amount computation section 310 computes, as a feature amount, either the number of the display objects in each of the criteria, or a ratio value that reflects the area occupied by the display objects in each of the criteria relative to the size of the whole page. In this way, it is possible to express, as a feature amount, whether or not a display object has a certain kind of feature, and if any, what kind of feature a display object with a large area (i.e., it is highly likely to be important) has.
The feature amount computation section 310 may compute, as a feature amount, the total number of letters included in a page, or the average or total number of letters included in each display object. Moreover, the feature amount computation section 310 may compute, as a feature amount, the number of times font types or font colors are changed as display objects are read aloud to the end of the Z-order. This is because it is generally difficult for a sight-impaired person to understand a sentence including a small number of letters in addition, it is also difficult to translate information expressed by using font colors and font type changes into audio data.
In some cases, a display object has a structure formed by grouping a plurality of display objects. To be more precise, if a document creator performs an operation for grouping a plurality of display objects, then the document creator can treat (change the position of, enlarge or reduce the size of, or the like) the plurality of display objects as if they were one display object. In addition, a display object may have a structure including nested groups of display objects.
The feature amount computation section 310 may compute the number of hierarchy levels of a group included in a certain page, or may compute any of the average and the variance of the number of display objects or letters included in each hierarchy level of a group, and then may output the computed result as a feature amount. This is because, in general, a sight-impaired person often has a difficulty in understanding the contents of a page in a case where the page has an excessively deep hierarchy or has no hierarchy at all.
In another example, the feature amount computation section 310 may compute information on whether or not a page includes animation as a feature amount. In a case where display objects are displayed overlapping one another, the feature amount computation section 310 may compute the feature amount on the basis of the area where the display objects overlap one another. The reason for this is that it is often difficult for a sight-impaired person to understand the contents of a page that includes heavy use of animation or significant overlapping of display objects.
Referring back to
If the input section 340 receives the input of the user's difficulty evaluation value (S930: YES), the second update section 360 updates the evaluation function recorded in the second function recording section 320 using the user's difficulty evaluation value of each page and the feature amount of the page (S940). With this update, the evaluation function is modified so that the evaluation function would provide an evaluation value more consistent with the user's evaluation. In association with the feature amount of the page, the evaluation value database 350 stores the evaluation values provided by the user (S950). In addition, the evaluation value database 350 may store each of a plurality of pages, of which the computed evaluation value is inconsistent with the user's evaluation of the difficulty, in association with the user's difficulty evaluation value of the page input to the input section 340.
The feature amount computation section 310 judges whether or not a second version of a calculation program has been received (S1100). If a second version has been received (S1100: YES), the feature amount computation section 310 judges whether the reference period has elapsed since the second version was received (S1110). If a second version has not been received, or if the reference time has already elapsed following delivery of the second version, the feature amount computation section 310 computes the feature amount by using the latest version of the calculation program, and then terminates the process (S1105).
If the reference period has not elapsed (S1110: NO), the feature amount computation section 310 performs the following process. Incidentally, if a newer second calculation program is delivered before the reference period elapses, the feature amount computation section 310 nullities the process performed with the existing second calculation program, and performs the following process for the new second calculation program.
Firstly, the feature amount computation section 310 computes a feature amount by using the first calculation program (S1120). Then, the difficulty evaluation section 330 computes the evaluation value from the feature amount computed by using the first calculation program in step S910 as described above. Next, the feature amount computation section 310 computes a feature amount by using the second calculation program (S1130). The feature amount computation section 310 stores, in the document database 300, the feature amount, computed by using the second calculation program in association with both of the evaluation value computed by using the first calculation program in step S910, and information indicating the version of the second calculation program (S1140). Note that, in a case where an input of a new user's difficulty evaluation value is received due to the inconsistency between the computed evaluation value and the user's evaluation, the feature amount is stored in association with the new user's difficulty evaluation value.
The server apparatus 20, for example, periodically collects the feature amounts, the evaluation values and information indicating the versions, that are stored in the document database 300. Specifically, the collection section 220 collects, from the document database 300, the evaluation values computed by the difficulty evaluation section 330 or the user's difficulty evaluation values input to the input section 340; and the feature amounts which the feature amount computation section 310 generates using the second version of the calculation program. In response to this, the first update section 240 generates a second evaluation function corresponding to the second version of the calculation program on the basis of the collected evaluation values and the collected feature amounts. In this way, the evaluation accuracy of the second evaluation function corresponding to the new calculation program can be enhanced from the point where the new calculation program is delivered to the point where the reference period elapses.
In addition to the foregoing process, the server apparatus 20 may make use of each page stored in the document database 300 (that is, the page for which an evaluation value computed by using the first evaluation function is inconsistent with the user's evaluation) in order to enhance the evaluation accuracy of the second evaluation function. To be more precise, by using the second calculation program, the feature amount computation section 310 computes the feature amount of each page already stored in the document database 300. It is desirable that this computation process be performed only while the processing load of the user terminal 30 is lower than a predetermined reference load. Then, the collection section 220 collects the feature amount of each page stored in the document database 300, where the feature amount is computed by using the second calculation program, so that the feature amount associated with the evaluation value (computed by using the first evaluation function or the user's difficulty evaluation value) is stored in association with the page in the document database 300. Thus, for the purpose of enhancing the evaluation accuracy of a new evaluation function, the foregoing process makes it possible to utilize a page of which evaluation value computed by using the first evaluation function is previously inconsistent with the user's evaluation.
The evaluation value may be computed every time the page is updated. This allows the document creator to edit the page while watching the effect on the evaluation value, making it easier for the document creator to create a document which a sight-impaired person can more easily understand. Note that other techniques relating to the document creation for a sight-impaired person can be additionally incorporated in the user terminal 30. For example, the user terminal 30 can store requirements to be satisfied so that a document can be more easily understood by a sight-impaired person. The requirements can include, for example, the designation of a character string to be read aloud instead of an image. Another example of stored requirements may be that a plurality of display objects constituting a table are recorded in association with information (a tag or the like) indicating the table structure instead of table contents apparently dispersed at random being described. Another requirement may be that a character string representing a title is recorded in association with information (a placeholder or the like) indicating that the character string represents the title. Then, every time a page is updated, the user terminal 30 judges whether or not the updated page satisfies the requirements. In a case where the requirements are not satisfied, the user terminal 30 identifies the currently unsatisfied requirements to the document creator, which encourages the document creator to improve the document.
The host controller 1082 connects both the RAM 1020 and the graphics controller 1075 to the CPU 1000. The CPU 1000 is used to execute programs stored in the BIOS 1010 and the RAM 1020 and controls each of the components. The graphics controller 1075 obtains image data generated by the CPU 1000 or the like in a frame buffer provided to the inside of the RAM 1020, and displays the obtained image data on a display device 1080. Alternatively, the graphics controller 1075 may internally include a frame buffer which stores the image data generated by the CPU 1000.
The input/output controller 1084 connects the host controller 1082 to the communication interface 1030, the hard disk drive 1040 and the CD-ROM drive 1060, all of which are higher-speed input/output devices. The communication interface 1030 communicates with external devices via a network. The hard disk drive 1040 stores programs and data to be used by the information processing apparatus 500. The CD-ROM drive 1060 reads a program or data from a CD-ROM 1095, and provides the read-out program or data to the RAM 1020 or the hard disk 1040.
Moreover, the input/output controller 1084 is connected to the BIOS 1010 and to lower-speed input/output devices such as the flexible disk drive 1050 through the input/output chip 1070. The BIOS 1010 stores programs, such as a boot program executed by the CPU 1000 at a start-up time of the information processing apparatus 500 and a configuration program for the hardware components of the information processing apparatus 500. The flexible disk drive 1050 reads a program or data from a flexible disk 1090, and provides the read-out program or data to the RAM 1020 or the hard disk drive 1040 via the input/output chip 1070. The input/output chip 1070 is connected to the flexible disk drive 1050 and may also support various kinds of input/output devices through various ports, for example, parallel, serial, keyboard, mouse, USB, Firewire, etc. ports.
A program to be provided to the information processing apparatus 500 is provided by a user with the program stored in a recording medium such as flexible disk 1090, CD-ROM 1095 and possibly on a solid state memory device such as a memory key. The program is read from the recording medium via the input/output chip 1070 and/or the input/output controller 1084, and is installed in the information processing apparatus 500. Thus, the program is executed. Since an operation in which the program causes the information processing apparatus 500 to execute is identical to the operation of the server apparatus 20 or of the user terminal 30 as already described by reference to
The program described above may be stored in an external storage medium. In addition to the flexible disk 1090 and the CD-ROM 1095, examples of suitable storage media include an optical recording medium such as a DVD, a magneto-optic recording medium, a tape medium, and a semiconductor memory such as an IC card. Alternatively, the program may be provided to the information processing apparatus 500 via a network, by using, as a recording medium, a storage device such as a hard disk and a RAM, which is provided to a server system connected to a private communication network or a public network such as the Internet.
As has been described above, the information processing system 10 of this embodiment makes it possible to properly evaluate the degree of difficulty in understanding a document which includes graphics, and for which evaluation on the degree of difficulty in understanding has been difficult. In this system, the function for evaluating the degree of difficulty is appropriately updated on the basis of evaluations collected from a plurality of users. Accordingly, the degree of difficulty can be properly evaluated even for a user who has just begun to use a screen reader. In addition, users' evaluations are collected in a state where the users'evaluations are classified by user profile including information on a type of screen reader and the like. Using the collected users' evaluations makes it possible to further enhance the evaluation accuracy of the degree of difficulty. Furthermore, in a case where the calculation program for computing the feature amounts is updated, the transition period for an update is set up, so that the evaluation accuracy can be maintained and even improved after the update.
The present invention has been described by reference to a specific embodiment. However, the scope of the present invention is not limited to the above-described embodiment. It may be obvious to one skilled in the art that various modifications and improvements can be made to the embodiment. Therefore it is intended that both the described embodiment, and ail variations and modifications that may occur to those skilled in the art shall be within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2006-74222 | Mar 2006 | JP | national |