Information processing apparatus, control method, and storage medium

An obtainment unit obtains a first input value set corresponding to a first input item set that includes at least a part of a plurality of input items. A selection unit selects at least one RPA robot from among a plurality of RPA robots that are each associated with a respective input item set based on at least a part of the first input value set. Each of the plurality of RPA robots is configured to obtain a respective input value set corresponding to the respective input item set. A launching unit launches the at least one RPA robot. A control unit performs control so that each of the at least one RPA robot obtains, as the respective input value set, an input value set corresponding to the respective input item set among the first input value set.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims priority to and the benefit of Japanese Patent Application No. 2020-049462 filed on Mar. 19, 2020, the entire disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an information processing apparatus, a control method, and a storage medium.

Description of the Related Art

Nowadays, in various scenes (e.g., when getting a reimbursement for travel expenses during business trips), users of such information processing apparatuses as personal computers (PCs) are requested to perform input with respect to various input items (e.g., the places visited, accommodation expenses, and so forth) requested by an input system (e.g., an accounting system). Japanese Patent Laid-Open No. 2019-023833 discloses a technique to support such input.

Also, in recent years, a technique called RPA (Robotic Process Automation) has become widespread. RPA is a technique whereby various tasks that have been conventionally performed by humans are automated by a robot that is implemented using software (program). For example, an input operation for the aforementioned input system can be executed by an RPA robot.

Input items requested by an input system are not necessarily the same. For example, there is a possibility that input items requested by an accounting system vary between the case of domestic business trips and the case of international business trips. When one RPA robot is configured to be capable of covering a large number of patterns related to input items, software (program) becomes bloated, and a processing load on the RPA robot increases.

SUMMARY OF THE INVENTION

The present invention has been made in view of the aforementioned situation, and provides a technique to reduce a processing load on an input operation performed by an RPA robot for an input system.

According to an aspect of the present invention, there is provided an information processing apparatus, comprising: an obtainment unit configured to obtain a first input value set corresponding to a first input item set that includes at least a part of a plurality of input items; a selection unit configured to select at least one RPA robot from among a plurality of RPA robots that are each associated with a respective input item set based on at least a part of the first input value set, each of the plurality of RPA robots being configured to obtain a respective input value set corresponding to the respective input item set, and perform an input operation related to the respective input item set based on the respective input value set on an input screen of an input system; a launching unit configured to launch the at least one RPA robot; and a control unit configured to perform control so that each of the at least one RPA robot obtains, as the respective input value set, an input value set corresponding to the respective input item set among the first input value set.

DESCRIPTION OF THE EMBODIMENTS

FIG.1is a functional block diagram of an information processing apparatus100. The information processing apparatus100is an electronic device, such as a personal computer (PC), a smartphone, and a tablet. In the following description, it is assumed that the information processing apparatus100is a PC that is equipped with Windows® as an operating system (OS).

InFIG.1, a control unit101includes, for example, a CPU, a ROM, a RAM, and the like, and controls the entirety of the information processing apparatus100by executing various types of programs including the OS. An operation unit102includes, for example, such input devices as a keyboard and a mouse, and accepts an input operation performed by a user. A storage unit103includes, for example, a recording medium, such as an HDD and an SDD, and stores various types of programs including the OS. A display unit104includes, for example, a liquid crystal display, and displays user interfaces, various types of information, and so forth. A network I/F105is an interface that is intended to allow the information processing apparatus100to communicate with an external apparatus.

The information processing apparatus100can communicate with input systems via the network I/F105, and input values for predetermined input items on the input screens provided by the input systems. Although it is assumed in the following description that an attendance system151and an accounting system152are used as examples of the input systems, no particular limitation is intended regarding the number and the types of the input systems. Also, each input system may be system that requests a login. Furthermore, each input system may be configured to enable a login with use of the shared user ID and password (user identification information and authentication-purpose knowledge information).

The attendance system151is a system that accepts an application related to attendance pertaining to a user's business trip (e.g., input values for input items related to attendance, such as working hours). The accounting system152is a system that accepts an application related to accounting pertaining to a user's business trip (e.g., input values for input items related to accounting, such as accommodation expenses).

The input systems can be implemented by an arbitrary number of computers. Although the attendance system151is illustrated as one block in the example ofFIG.1, the attendance system151can be implemented by a plurality of computers that can communicate with one another. Similarly, the accounting system152can be implemented by a plurality of computers that can communicate with one another. Also, at least one computer may be involved with the implementation of both of the attendance system151and the accounting system152.

The information processing apparatus100can actuate a chatbot. The chatbot is a program that has a function of interacting with a user in accordance with programs, and is stored in the storage unit103. The information processing apparatus100can display a chat screen on the display unit104by launching the chatbot in response to a user instruction issued via, for example, the operation unit102, and execute processing for interacting with the user (chat processing). The information processing apparatus100can obtain at least one input value (input value set) to be input to at least one of the attendance system151and the accounting system152via interaction with the user.

Furthermore, the information processing apparatus100can actuate an RPA robot (input robot) that automates at least a part of an input operation for the input systems. Programs, data, and the like for implementing the RPA robot are stored in, for example, the storage unit103. The details of the RPA robot will be described later.

FIG.2is a flowchart of the chat processing executed by the information processing apparatus100. In step S201, the control unit101displays a question on the chat screen in accordance with context (questions and responses thereto up to this point).

FIG.3is a diagram showing an example of the chat screen. For example, a question that is displayed first after the start of the chat processing is a message301shown inFIG.3, which prompts a user to input an application type (application category).

In step S202, the control unit101waits until user input is performed via the operation unit102. User input is inputting of a response to the question that was displayed in step S201, such as a message302ofFIG.3, for example. Alternatively, user input may be inputting of a message representing an instruction for ending the chat, such as “quit”. Once user input has been performed, processing proceeds to step S203.

In step S203, the control unit101determines whether user input performed in step S202is inputting of a message representing an instruction for ending the chat. When user input is inputting of the message representing the instruction for ending the chat, the chat processing of the present flowchart is ended; otherwise, processing proceeds to step S204. Note that when the chat processing is ended, the control unit101may display a message309.

In step S204, the control unit101determines whether there is a next question based on context (questions and responses thereto up to this point). Where there is a next question, processing returns to step S201; when there is no next question, processing proceeds to step S205.

As a result of repeating the display of a question in accordance with context in step S201and user input in step S202(inputting of a response to the question), various messages including, for example, messages301to305are displayed on the chat screen. Furthermore, each question is associated with an input item for at least one of the attendance system151and the accounting system152. The control unit101obtains an answer to each question as an input value corresponding to the input item associated with the question.

FIGS.4A and4Bare diagrams showing examples of input items. An ID (item ID) and a name (item name) are allocated to each input item. Also, each input item has an input rule, and the control unit101displays a message that prompts input compliant with the input rule in the chat processing.

Furthermore,FIGS.4A and4Balso show examples of the selection of questions in accordance with context in the chat processing (i.e., the selection of input items for which input values are to be obtained). Specifically, a table ofFIG.4Ashows examples of input items that are selected when a response to an input item “application category” is “1” (domestic business trip application). That is to say, the message301ofFIG.3corresponds to item ID1, and when the message302has been input as a response to the message301, questions for requesting input values corresponding to input items with item IDs2to7are made in the repetition of processing of step S201thereafter.

A table ofFIG.4Bshows examples of input items that are selected when a response to the input item “application category” is “2” (domestic business trip reimbursement). That is to say, the message301ofFIG.3corresponds to item ID1, and when “2” has been input as a response to the message301, questions for requesting input values corresponding to input items with item IDs2to4,8, and11are made in the repetition of processing of step S201thereafter. In addition, when a response to the input item “application category” is “2” (domestic business trip reimbursement), subsequent questions vary depending on a response to item ID8(whether there is unstamped time). That is to say, when a response to item ID8(whether there is unstamped time) is “1” (there is unstamped time), questions for requesting input values corresponding to item IDs9and10are also made. Note that “unstamped time” denotes time related to working hours that was not stamped on a timesheet. For example, there is “unstamped time” when the user was not able to stamp the end time of work because he/she went straight home from the destination of a business trip.

Note that the selection of questions in correspondence with context in the chat processing of the present embodiment (i.e., the selection of input items for which input values are to be obtained) is not limited to the examples ofFIGS.4A and4B, and a selection method that suits the intended use of the input systems can be adopted as appropriate. Also, although exemplary illustrations of input items are omitted with respect to a case where a response to the input item “application category” is “3” (international business trip application) or “4” (international business trip reimbursement), a selection method that suits the intended use of the input systems can be adopted as appropriate in this case as well.

Referring back toFIG.2, in step S205, the control unit101displays a message for starting automatic input processing, such as a message306shown inFIG.3, for example. The details of the automatic input processing will be described later with reference toFIG.6toFIG.9.

In step S206, the control unit101displays the input values that were obtained through the repetition of processing of steps S201and S202on the display unit104in a predetermined format (e.g., an HTML table format shown inFIG.5).

In step S207, the control unit101waits until the automatic input processing is completed. Once the automatic input processing has been completed, processing returns to step S201. In this case, the control unit101displays, for example, a message307shown inFIG.3in step S201. The user can end the chat by inputting a message308as a response to the message307.

FIG.6is a main flowchart of the automatic input processing executed by the information processing apparatus100. In the example ofFIG.6, the automatic input processing is realized by processes which are executed in parallel with the chat processing and which are different from the chat processing. For example, the control unit101may realize processing of each step ofFIG.6by launching an RPA robot which is configured to execute processing of each step ofFIG.6and which is different from an input robot.

In step S601, the control unit101waits until the input values obtained through the chat processing are displayed on the display unit104in the predetermined format (e.g., the HTML table format shown inFIG.5). Once the input values have been displayed on the display unit104in the predetermined format, processing proceeds to step S602.

In step S602, the control unit101obtains at least one input value (input value set) displayed in step S601.

In step S603, the control unit101selects an input robot based on at least a part of the input value set obtained in step S602. As stated earlier, an input robot is an RPA robot that automates at least a part of an input operation for the input systems.

FIG.7is a diagram showing examples of criteria for selecting an input robot. According to the examples ofFIG.7, at least one input robot is selected from among six input robots based on input values corresponding to the application category and whether there is unstamped time. For example, when the application category is 1 (domestic business trip application), an input robot to which ID1is allocated, as well as an input robot to which ID2is allocated, is selected.

Each input robot is associated with a respective input item set (at least one input item). Also, each input robot is configured to obtain a respective input value set corresponding to the respective input item set, and perform an input operation related to the respective input item set based on the respective input value set on an input screen of an input system. For example, the input robot with ID1is associated with an input item set that is requested by the attendance system151at the time of domestic business trip application (e.g., the seven input items shown in the table ofFIG.4A). This input robot obtains an input value set corresponding to these seven input items (e.g., the seven input values shown inFIG.5), and performs an input operation related to the respective input item set based on these seven input values on an input screen of the attendance system151. Similarly, the input robot with ID2is associated with an input item set that is requested by the accounting system152at the time of domestic business trip application (e.g., the seven input items shown in the table ofFIG.4A). This input robot obtains an input value set corresponding to these seven input items (e.g., the seven input values shown inFIG.5), and performs an input operation related to the respective input item set based on these seven input values on an input screen of the accounting system152.

Note, although the input robot with ID1and the robot with ID2are associated with the same input item set in the foregoing examples, each input robot is associated with a respective input item set as stated earlier. Therefore, the input robot with ID1and the robot with ID2may be associated with different input item sets. For example, the accounting system152may not request input related to the departure time and the return time, and the robot with ID2may be associated with five input items other than the departure time and the return time among the seven input items shown in the table ofFIG.4A.

Furthermore, according to the examples ofFIG.7, the input robots corresponding to ID1and ID3are configured to perform an input operation for the attendance system151, whereas other input robots are configured to perform an input operation for the accounting system152. That is to say, each input robot is associated with a respective system. However, the number of input systems accessed by the information processing apparatus100may be one, and all input robots may be configured to perform an input operation for the same input system.

Returning toFIG.6, in step S604, the control unit101launches the first input robot (e.g., the input robot corresponding to ID1) among at least one input robot selected in step S603(e.g., the input robots corresponding to ID1and ID2). At this time, the control unit101provides the input robot with the input value set to be used by the input robot in the input operation as launching parameters for the input robot. For example, when the input robot is associated with the seven input items shown in the table ofFIG.4A, the control unit101provides the input robot with the seven input values shown inFIG.5. The details of processing executed by the launched input robot will be described later with reference toFIG.8.

In step S605, the control unit101obtains, from the input robot launched in step S604, a user ID and a password (user identification information and authentication-purpose knowledge information) for logging into the input system. The details of processing in which the input robot provides the control unit101(processes of the automatic input processing) with the user ID and password will be described later with reference toFIG.8.

In step S606, the control unit101determines whether there is a next input robot (an input robot that has not been launched yet). When there is a next input robot, processing proceeds to step S607; otherwise, processing proceeds to step S608.

In step S607, the control unit101launches the next input robot. At this time, the control unit101provides the input robot with the input value set to be used by the input robot in the input operation as launching parameters for the input robot. In addition, the control unit101provides the input robot with the user ID and password obtained in step S605as launching parameters for the input robot. Thereafter, processing returns to step S606. Remaining input robots are launched in the processing loop of steps S606and S607.

Note, it is assumed here that it is after the completion of processing of one input robot when the next input robot is launched. However, when the OS and user interfaces of the information processing apparatus100are configured to enable simultaneous operations by a plurality of input robots, the control unit101can launch the next input robot without waiting for the completion of processing of the input robot that was launched first.

In step S608, the control unit101discards the user ID and password obtained in step S605. This can inhibit the fraudulent reuse of the user ID and password by processes that are not intended by the user. Thereafter, processing returns to step S601.

FIG.8is a flowchart of input processing executed by the input robot launched in step S604or S607ofFIG.6. Note, as the input robot is implemented using software (program), processing of each step ofFIG.8is executed by the input robot under control of the control unit101.

In step S801, the input robot obtains an input value set to be used in an input operation. Furthermore, when the input robot has been launched in step S607, the input robot also obtains a user ID and a password. As stated earlier, the input value set, user ID, and password can be obtained as, for example, launching parameters for the input robot.

In step S802, the input robot performs an operation of causing a login screen of the input system associated with itself (e.g., the attendance system151) to be displayed.

In step S803, the input robot determines whether the user ID and password are present (whether the user ID and password were obtained in step S801). When the user ID and password are absent, processing proceeds to step S804; when the user ID and password are present, processing proceeds to step S806.

In step S804, the input robot waits for the completion of a login operation performed by the user.FIG.9is a diagram showing an example of the login screen. When the user ID and password were not obtained in step S801, the user needs to perform the login operation by him/herself. The input robot may display a message that prompts the user to perform the login operation, such as a message901. Once the user has completed the login operation (inputting of the user ID and password, as well as pressing of a login button), processing proceeds to step S805.

In step S805, the input robot provides processes of the automatic input processing ofFIG.6with the user ID and password that were input by the user in the login operation (see step S605ofFIG.6).

On the other hand, in step S806, the input robot performs an operation of inputting the user ID and password obtained in step S801on the login screen (i.e., the user ID and password that were input by the user in the login operation corresponding to the input robot that was launched first). In addition, the input robot may also perform an operation of pressing the login button. Therefore, when each input system is configured to enable a login with use of the shared user ID and password, it is sufficient for the user to input the user ID and password only once even when a login to a plurality of input systems is requested.

In step S807, on an input screen of the input system to which the input robot has logged in (omitted in the drawings), the input robot performs an input operation related to the input item set associated with itself based on the input value set obtained in step S801.

As described above, the control unit101selects and launches at least one input robot (seeFIG.6), and each input robot performs processing ofFIG.8, thereby realizing automatic input for the input systems based on the input value set obtained through a chat operation (e.g., the input value set shown inFIG.5).

Note, it is assumed in the foregoing description that the display of the input values obtained through the chat processing in the predetermined format (e.g., the format shown inFIG.5) triggers (step S601ofFIG.6) processes of the automatic input processing to start the obtainment of the input values and the like (step S602onward). However, the present embodiment is not limited to this configuration. For example, processes of the chat processing may store the input values into a predetermined storage area (a clipboard or a specific file). In this case, the storage of the input values into this storage area in step S601ofFIG.6can trigger processes of the automatic input processing to proceed to step S602. In this case, processes of the automatic input processing obtain the input value set from this storage area in step S602.

Furthermore, it is assumed in the foregoing description that processes of the automatic input processing wait for the display of the input values obtained through the chat processing in the predetermined format (e.g., the format shown inFIG.5) (step S601ofFIG.6). However, the present embodiment is not limited to this configuration. For example, processes of the chat processing may invoke processes of the automatic input processing at a timing when the obtainment of the input values through the chat processing has been completed.

Summary of Embodiments

The foregoing embodiments disclose at least the following information processing apparatus, control method, and storage medium.

An information processing apparatus (100), comprising:

an obtainment unit (101) configured to obtain a first input value set corresponding to a first input item set that includes at least a part of a plurality of input items;

a selection unit (101) configured to select at least one RPA robot from among a plurality of RPA robots that are each associated with a respective input item set based on at least a part of the first input value set, each of the plurality of RPA robots being configured to obtain a respective input value set corresponding to the respective input item set, and perform an input operation related to the respective input item set based on the respective input value set on an input screen of an input system (151,152);

a launching unit (101) configured to launch the at least one RPA robot; and

a control unit (101) configured to perform control so that each of the at least one RPA robot obtains, as the respective input value set, an input value set corresponding to the respective input item set among the first input value set.

According to this embodiment, a processing load on an input operation performed by an RPA robot for the input system can be reduced.

The information processing apparatus (100) according to item1, wherein each of the plurality of RPA robots is configured to be associated with a respective input system (151,152), and perform the input operation on an input screen of the respective input system (151,152).

According to this embodiment, an input operation by an RPA robot can be realized in an environment where there are a plurality of input system options on which the input operation is to be performed.

The information processing apparatus (100) according to item2,

wherein each of the plurality of RPA robots is configured to perform an operation of causing the input screen of the respective input system (151,152) to be displayed.

According to this embodiment, as an RPA robot performs an operation of displaying an input screen in addition to an input operation for an input value for an input item, an operation load on a user can be further reduced.

The information processing apparatus (100) according to item1, further comprising

a chat unit (101) configured to, via interaction with a user using a chatbot, select at least one input item from among the plurality of input items, and obtain at least one input value corresponding to the at least one input item,

wherein the obtainment unit (101) obtains the at least one input value corresponding to the at least one input item as the first input value set corresponding to the first input item set.

According to this embodiment, a user can prepare, through an intuitive operation, an input value set that is used by an RPA robot in an input operation.

A control method for an information processing apparatus (100), comprising:

obtaining (S602) a first input value set corresponding to a first input item set that includes at least a part of a plurality of input items;

selecting (S603) at least one RPA robot from among a plurality of RPA robots that are each associated with a respective input item set based on at least a part of the first input value set, each of the plurality of RPA robots being configured to obtain a respective input value set corresponding to the respective input item set, and perform an input operation related to the respective input item set based on the respective input value set on an input screen of an input system (151,152);

launching (S604, S607) the at least one RPA robot; and

performing (S604, S607) control so that each of the at least one RPA robot obtains, as the respective input value set, an input value set corresponding to the respective input item set among the first input value set.

According to this embodiment, a processing load on an input operation performed by an RPA robot for the input system can be reduced.

Anon-transitory computer-readable storage medium which stores a program for causing a computer of an information processing apparatus (100) to execute a control method comprising:

obtaining (S602) a first input value set corresponding to a first input item set that includes at least a part of a plurality of input items;

selecting (S603) at least one RPA robot from among a plurality of RPA robots that are each associated with a respective input item set based on at least a part of the first input value set, each of the plurality of RPA robots being configured to obtain a respective input value set corresponding to the respective input item set, and perform an input operation related to the respective input item set based on the respective input value set on an input screen of an input system (151,152);

launching (S604, S607) the at least one RPA robot; and

performing (S604, S607) control so that each of the at least one RPA robot obtains, as the respective input value set, an input value set corresponding to the respective input item set among the first input value set.

According to this embodiment, a processing load on an input operation performed by an RPA robot for the input system can be reduced.

Note that no particular limitation is intended regarding the specific configurations of software and hardware for implementing various types of functions that have been described in the foregoing embodiments. Arbitrary software, arbitrary hardware, and an arbitrary combination of arbitrary software and arbitrary hardware are encompassed within the scope of the foregoing embodiments, as long as they are technically possible.

Although the embodiments of the invention have been described above, the invention is not limited to the foregoing embodiments, and various variations/changes are possible within the spirit of the invention.