WO2021112102A1 - 状態判定システム、状態判定方法および状態判定プログラム - Google Patents

状態判定システム、状態判定方法および状態判定プログラム Download PDF

Info

Publication number
WO2021112102A1
WO2021112102A1 PCT/JP2020/044750 JP2020044750W WO2021112102A1 WO 2021112102 A1 WO2021112102 A1 WO 2021112102A1 JP 2020044750 W JP2020044750 W JP 2020044750W WO 2021112102 A1 WO2021112102 A1 WO 2021112102A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
event
comments
class
progress
Prior art date
Application number
PCT/JP2020/044750
Other languages
English (en)
French (fr)
Inventor
数馬 武内
光徳 藤間
親史 有田
Original Assignee
Arithmer株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arithmer株式会社 filed Critical Arithmer株式会社
Priority to JP2021500247A priority Critical patent/JP6923864B1/ja
Publication of WO2021112102A1 publication Critical patent/WO2021112102A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism

Definitions

  • the present invention relates to a state determination system, a state determination method, and a state determination program.
  • Patent Document 1 discloses a technique intended to accurately predict station congestion using social media information.
  • the technique described in Patent Document 1 may be unsuitable for predicting the progress of a target event from a large number of comments sent to social media.
  • the present invention has been made to solve such a problem, and uses comments sent to social media to determine the progress of a target event with both immediacy and accuracy. It provides a state determination system and the like.
  • the state determination system includes a classification unit that classifies comments sent to social media into one of a plurality of classes determined according to the progress state of an event, and a plurality of classes. It is provided with a determination unit that calculates the determination result of the progress state of the event in the present or future based on the ratio of the specific comments classified into the specific class of interest.
  • the state determination method includes a classification step of classifying comments sent to social media into one of a plurality of classes defined according to the progress state of an event, and a plurality of classes. It has a determination step of calculating the determination result of the progress state of the event in the present or future based on the ratio of the specific comments classified into the specific class of interest.
  • the state determination program has a classification step of classifying comments sent to social media into one of a plurality of classes defined according to the progress state of an event, and a plurality of classes.
  • the computer is made to perform a judgment step of calculating the judgment result of the progress state of the event in the present or future based on the ratio of the specific comments classified into the specific class of interest.
  • FIG. 1 is a diagram illustrating an overall environment in which the state determination system according to the present embodiment is used and a flow of information related to the state determination.
  • the state determination system in this embodiment is realized by the state determination server 100.
  • the state determination server 100 is connected to the Internet 900, and directly or indirectly exchanges information with the user's smartphone 210, the comment sender's smartphone 910, and the media server 920 via the Internet 900.
  • comments such as tweets sent by comment senders operating their smartphones 910 are sent to the media server 920 via the Internet 900 and sent to the comment storage unit 921 connected to the media server 920. Accumulate.
  • the comment storage unit 921 is composed of, for example, a large-capacity HDD.
  • An application released by the operator who operates the media server 920 is installed on the comment sender's smartphone 910, and the comment sender can enter text of the comment via the application.
  • the comment may be a text converted by recognizing the utterance of the comment sender.
  • the comments of the comment sender accumulated in the comment storage unit 921 can be viewed according to the access authority.
  • a social network service SNS
  • the social media in the present embodiment is not limited to the SNS, and may include a service in which the caller unilaterally transmits information.
  • the state determination system in this embodiment uses one or more social media that are arbitrarily operated in this way. Specifically, when the state determination server 100 determines the event to be analyzed, the comment regarding the event is defined as a specific comment, the media server 920 is accessed via the Internet 900, and the specific comment is collected from the comment storage unit 921. To do. When using a plurality of social media, the media server 920 of each social media is accessed. The state determination server 100 executes arithmetic processing for determining the current or future progress state of the event based on the collected comments. Then, when a request for status determination is received from the user's smartphone 210, the determination result of the determination is transmitted to the smartphone 210. The user can imagine the progress state of the event of concern from the determination result displayed on the smartphone 210.
  • FIG. 2 is a diagram showing a hardware configuration of the status determination server 100.
  • the state determination server 100 is mainly composed of a processing unit 110, a storage unit 120, a communication unit 130, and an input unit 140.
  • the processing unit 110 is a processor (consisting of a CPU and / or GPU or the like) that controls the state determination server 100 and executes a program.
  • the processing unit 110 reads the state determination program stored in the storage unit 120 and executes various processes related to the state determination.
  • the processing unit 110 executes the processing as the collection unit 111, among the comments accumulated in the comment storage unit 921, a specific comment regarding "resumption of operation of the Toyoko Line", which is an event designated as an analysis target, is collected. To do.
  • the collecting unit 111 accesses the comment accumulating unit 921 via the communication unit 130, and extracts a specific comment from the comments accumulated in the comment accumulating unit 921 within a certain period of time by keyword search. Then, the comment extracted by the keyword search is taken into the state determination server 100 as a specific comment.
  • the keyword search for example, a plurality of keywords related to the route name (“Toyoko Line”, “Tokyu Toyoko Line”, etc.) are set in advance, and comments including the set keywords are extracted.
  • extraction conditions such as making it an extraction candidate when it is included together with other keywords may be defined.
  • the target comment for executing the keyword search may be limited to a comment having position information along the Toyoko Line as tag information, for example.
  • a specific comment is sent to the progress state of restarting the operation of the Toyoko Line by using the neural network 121 (hereinafter referred to as "NN121") read from the storage unit 120.
  • N121 the neural network 121
  • the processing unit 110 executes the processing as the determination unit 113 the operation of the Toyoko Line is resumed now or in the future based on the ratio of the specific comments classified into the specific class of interest among the set plurality of classes. Determine the progress. Specific processing of the classification unit 112 and the determination unit 113 will be described in detail later.
  • the storage unit 120 is a non-volatile storage medium, and is composed of, for example, a large-capacity HDD.
  • the storage unit 120 not only stores a program that executes control and processing of the status determination server 100, but also temporarily stores a specific comment collected by the collection unit 111. It also stores the learning model NN121.
  • the input specific comment is set as the progress state of the event, "restarted”, “likely to resume”, “stopped”, and “stopped”. It is classified into one of four classes, "irrelevant and indistinguishable”.
  • the communication unit 130 is responsible for connecting to the Internet 900 and exchanging data with an external device, and is configured by, for example, a LAN.
  • the communication unit 130 also functions as an output unit that outputs the determination result determined by the determination unit 113 to the user's smartphone 210.
  • the input unit 140 includes an input device for the system administrator to instruct the execution and stop of the program, set the menu, and adjust the parameters.
  • the configuration in which the status determination server 100 includes the main configuration of the status determination system will be described, but for example, the storage unit 120 may be configured by a network HDD directly connected to the Internet 900. .. In such a case, the state determination system is constructed by the whole of the distributed devices.
  • FIG. 3 is a diagram illustrating classification of specific comments into classes.
  • the progress status of the event "Resume train operation on the Toyoko Line”
  • there are four classes “Resumed (Class A)”, “Let's resume (Class B)”, “Stopped (Class C)”, "Unrelated, unidentifiable (Class D) ”is preset.
  • Specific comments collected by the collection unit 111 are classified into one of these four classes.
  • the assumed state with the passage of time is divided into three classes, but the present invention is not limited to this, and more information is extracted, for example, when many specific comments are likely to be collected. Since it is obtained, the division may be subdivided. For example, “restarted” may be divided into “restarted with a temporary timetable” and "returned to a normal timetable". On the contrary, if the number of comments cannot be expected, the number of categories may be reduced.
  • the classification unit 112 classifies such classes.
  • the classification unit 112 inputs a specific comment to the NN 121, and receives the classification probability for each class as an output.
  • the class with the largest classification probability value is determined to be the class of the specific comment.
  • the classification unit 112 converts the comment into an integer sequence and inputs it to the NN 121.
  • FIG. 4 is a diagram illustrating conversion of a comment into an integer sequence.
  • the classification unit 112 performs morphological analysis on the input comment and divides it into word units. Then, after decomposing each word, the inflected words are converted into the imperfect form. As a result, the input comment is decomposed into "'Tokyu',' Toyoko Line',' is',' moving',' issuing',' ta',' seems','.'". If the target language is English, the word delimiters using space characters are used as they are.
  • NN121 inputs an integer sequence obtained by converting a specific comment into an integer for each word, and outputs the classification probability into the plurality of classes.
  • the NN 121 is composed of a plurality of layers.
  • a numerical matrix is obtained from an integer sequence.
  • each word of the input comment decomposed in this way is converted into a distributed expression.
  • the distributed representation of each word is represented as a d-dimensional row vector. Therefore, one input comment that is decomposed into n words is represented by a numerical matrix of n rows and d columns.
  • the comment sent by the comment sender is not always one sentence. It is also uncertain how many words a sentence consists of. Also, depending on the social media, the number of characters that can be commented may be limited. If all the words are numerically vectorized for each sent comment, the content contained in the comment can be used to the maximum extent, but when the comment is numerically matrixed, the size of the matrix will be different for each comment.
  • the present inventors have obtained the finding that the main content of a comment is referred to in the comment at a relatively early stage.
  • the present inventors have found that in the case of social media in which comments are limited to 140 characters or less, 80% or more of the content can be accommodated by fixing the length of 30 words. Therefore, the present inventors have come up with the idea of applying a fixed lengthening process to an arbitrary comment based on such findings.
  • the classification unit 112 performs a fixed lengthening process so that the specific comments collected by the collection unit 111 have a predetermined number of words. Specifically, if the number of words exceeds 30 as a result of dividing the collected specific comments, the excess words are rejected. In addition, if the number of words is less than 30 as a result of dividing the collected specific comments, the shortage is supplemented with a 0 vector. By processing in this way, any specific comment can be converted into a numerical matrix of 30 rows and d columns.
  • the fixed length processing enables batch parallel processing of a plurality of comments, and realizes a speedup of 100 times or more as compared with the case of processing one by one.
  • FIG. 5 is a conceptual diagram illustrating the processing of the NN 121.
  • the characteristics of a group of several words (n-gram) in the comment are extracted.
  • a pooling process is performed to generate a feature amount for each comment. For example, global maximum pooling is performed.
  • the classification probabilities into four classes are calculated by the fully connected layer having the softmax operation in the activation function.
  • the four classes correspond to class A, class B, class C, and class D, respectively.
  • a weight filter corresponding to the number of dimensions d of the word distributed expression is used when performing the convolution process. Specifically, a weight filter represented by a numerical matrix of f rows and d columns is used with the width of the filter as f (see FIG. 5). By using such a weight filter, the NN 121 can learn the information reflecting the concept included in the comment.
  • the NN121 is a learning model that can classify comments containing the same word into different classes, and enables class classification according to a concept.
  • the NN121 it is possible to execute the learning of the parameters used in the process for converting the word into a numerical vector and the learning of the parameters used in the process from the convolution process to the calculation of the classification probability by a series of backpropagation. As a result, the accuracy of class classification can be improved because the word distribution expression and the characteristics of n-gram specialized for the classification of comments of a specific genre are acquired. It is possible to obtain the same effect by using a multi-layer RSTM or a Transformer instead of the above-mentioned convolution layer and pooling layer.
  • the NN121 is not limited to the above, and any NN121 can be adopted as long as it can be classified.
  • FIG. 6 is a diagram showing the verification results of the classification.
  • the number of verification comments not used for learning is 649.
  • the number of comments that the worker judges as class A (that is, class A is correct) is 143, and NN121 judges that 125 of them are classified as class A.
  • the number of comments that the worker judges to be class B is 292, and NN121 judges that 258 of them are classified into class B.
  • the number of comments that the worker judges as class C is 92, and NN121 judges that 70 of them are classified as class C.
  • the number of comments that the worker judges to be class D is 122, and NN121 judges that 102 of them are classified into class D. That is, the number of comments that could be correctly classified was 555, and the correct answer rate of the classification by NN121 was about 85%. If this level of correct answer rate can be achieved, it is considered that the classification by NN121 is sufficiently practical.
  • each class is classified with respect to the total number of comments. You can calculate the percentage of comments that belong to.
  • the determination unit 113 calculates the determination result of the progress state of the target event at present or in the future by paying attention to the ratio of each class.
  • the classification unit 112 classifies the specific comment into one of a plurality of classes A to D at regular intervals, and classifies each comment into one of the classes every minute, for example.
  • the ratio of the number of comments in each of class A, class B, and class C which defines the assumed status with the passage of time, should be the target of calculation. desirable. That is, when calculating the respective ratios of class A, class B, and class C, the number of comments in class D in which comments irrelevant to the progress state and indistinguishable comments are classified is excluded. Specifically, when the number of collected class A comments is n A, the number of class B comments is n B, the number of class C comments is n C, and the number of class D comments is n D.
  • FIG. 7A is a graph showing the time transition of the class ratio and the state judgment result in the event of "resumption of operation of the Toyoko Line".
  • the horizontal axis represents the time.
  • the left vertical axis represents the ratio (%) of each class, and the right vertical axis represents the determination result as 0, 1, 2.
  • the determination result "0" represents the prediction of "stopped", “1” represents the prediction of "likely to resume”, and "2" represents the prediction of "restarted”.
  • the graph shown by the dotted line shows the transition of the proportion of class A.
  • the graph represented by the broken line shows the transition of the proportion of class B. Since the ratio of class C is 100- (the ratio of class A + the ratio of class B), it is omitted.
  • a noise removal filter that reduces sudden changes is applied to the transition of each ratio.
  • the graph shown by the solid line shows the transition of the determination result determined by the determination unit 113.
  • the judgment result of "current progress” during the period when class C occupies a large proportion is “stopped”, and the “current progress” during the period when class B occupies a large proportion.
  • the judgment result of "state” is “likely to resume”, and the judgment result of "current progress state” during the period in which class A occupies a large proportion is “restarted”.
  • this embodiment is not limited to the one in which the progress state corresponding to the class that occupies the largest proportion at that time is set as the "current progress state”.
  • the determination unit 113 may determine the progress state of the event at the present time by adding the progress state determined immediately before to each ratio at that time. By such a process, it is possible to prevent the progress state to be determined from frequently changing with the passage of time.
  • the determination unit 113 performs a state estimation calculation.
  • the total cost C i is It is represented by.
  • ⁇ i is the fitting cost
  • ⁇ i is the transition cost.
  • the fitting cost ⁇ i is an index of the difficulty of fitting the observed value (classification of collected comments) and the state (progress state of the event). The fitting cost decreases as the observed value and the state match, and increases as the distance increases.
  • time t number of comments of classification j collected at time t, n t, j , at time t
  • Q is a matrix of the number of excited states ⁇ the number of excited states, Q [0] [0], Q [0] [1], If it has elements of Q [1] [0] and Q [1] [1].
  • the value of each element is a hyper parameter.
  • the fitting cost ⁇ i for the state i is Is calculated by.
  • the numbers in parentheses of the log are the probability mass functions of the multinomial distribution.
  • the fitting cost ⁇ i is calculated using the ratio (%) T t, j of the classification j. Will be.
  • ⁇ (s) is a gamma function, It is represented by.
  • p i and j are the probability of occurrence of the comment classification j in the state i, and when expressed in a matrix, Will be.
  • the transition cost ⁇ i is conceptually the cost to be paid for the state transition, and the larger the calculated transition cost ⁇ i is, the more difficult it is to move from one state to another. Specifically, it is calculated as follows.
  • the transition cost ⁇ i from the immediately preceding state i is It is calculated by.
  • is a matrix that defines the difficulty of transition between the immediately preceding state and the current state, and is a hyperparameter.
  • is named a transition matrix.
  • the log section is introduced to match the fitting cost and scale. In this embodiment, the transition matrix ⁇ is Was set.
  • the progress state of the state number i indicating the smallest value among the total costs C i obtained by the above calculation is used as the current progress state determination result.
  • the determination unit 113 determines that it is "stopped” until about 20:50, then determines that it is “likely to restart” until about 22:10, and then "restarts". ".
  • the time when the railway company officially announced the resumption of operation was 22:30. Since it is considered that the operation was actually restarted before that, it can be inferred that the judgment result of the judgment program in the present embodiment roughly corresponds to the actual transition. From such verification results, it can be said that the user of the state determination system according to the present embodiment can quickly know the progress state regarding the resumption of operation with a certain degree of accuracy.
  • the calculation method for determining the current progress state is not limited to the burst detection method described above. Various other methods can be adopted in which the progress state determined immediately before is taken into consideration so that the determination result does not change frequently with the passage of time.
  • the ratio of each class may be multiplied by a weighting coefficient prepared in advance, and the one showing a large value may be used as the determination result.
  • the weighting coefficient when transitioning from one state to another is set to a large value so that the transition is easy.
  • the determination unit 113 determines the progress state of the event every predetermined determination period. For example, as shown in FIG. 7B, the determination period is 1 minute. Assuming that the present time is t, the progress state of the current event is determined based on the classification result of the comment in the determination period D1 which is the closest in time to the current time t. Further, the immediately preceding determination period D2 is a determination period that is continuous in the opposite direction with respect to the current determination period D1.
  • determination unit 113 determines the current fitting based on the calculated probability of occurrence (pi, j ) that each class can take and the number of comments (nt, j ) for each class collected during the determination period D1. Calculate the cost ⁇ i.
  • the determination unit 113 is between the progress state of the event determined during the determination period D2 before the determination period D1 for determining the progress state of the current event and the progress state of the event that can be taken in the determination period D1.
  • the transition cost ⁇ i is calculated based on the transition matrix ⁇ .
  • the determination unit 113 calculates the total cost C i from these fitting costs ⁇ i and the transition cost ⁇ i , and determines the current progress state of the event.
  • the total cost C i does not necessarily have to be calculated from both the fitting cost ⁇ i and the transition cost ⁇ i, and may be calculated from either one.
  • FIG. 8 is a display example of the state determination result displayed on the user's smartphone 210 for the event of FIG. 7A.
  • the event display 221 and the state determination display 222 are mainly displayed on the display 211 of the smartphone 210.
  • the event display 221 displays information on the target event.
  • the target event is an event selected by the user, and is selected from, for example, a menu of the event list in which the state determination is provided at that time.
  • As information on the target event for example, "The Toyoko Line is suspended from 14:30 due to an accident" is displayed.
  • the status determination display 222 displays the determination result sent from the status determination server 100.
  • the status determination server 100 sends the determination result of the current progress status, for example, "Currently, the status of the Toyoko Line is” likely to resume “” is displayed. In this way, the user can easily and concisely know the determination result of the current progress state of the target event on his / her smartphone 210.
  • FIG. 9 is a graph showing the time transition of the class A ratio and the restart determination time.
  • the horizontal axis represents the time.
  • the vertical axis represents the proportion (%) of class A.
  • the graph shown by the dotted line shows the transition of the ratio of the class A, but in this embodiment, it is assumed that the status determination server 100 receives the request from the user at exactly 22:00, so the transition until 22:00. Is shown.
  • a noise removal filter that reduces sudden changes is applied to the transition of the class A ratio.
  • the graph shown by the solid line shows the fitting function applied to the transition of the class A ratio until 22:00.
  • a sigmoid type function standardized so as to change between 0 and 100 is used here.
  • a sigmoid function as shown in the figure, it is estimated how the proportion of class A changes after 22:00.
  • the threshold value Sa is set to 80%
  • the time when the fitted fitting function exceeds 80% is set as the predicted restart time of operation.
  • the time when the fitting function exceeds 80% is 22:28. Therefore, the determination unit 113 determines that the “predicted restart time”, which is the progress state of the event in the future, is 22:28.
  • the time when the railway company officially announced the resumption of operation in this event was 22:30, so it can be evaluated as a good judgment result.
  • a sigmoid function is adopted as the fitting function, but another function may be adopted as the fitting function according to the event.
  • FIG. 10 is a display example of the estimated restart time displayed on the user's smartphone 210 for the event of FIG.
  • the event display 221 and the state determination display 222 are mainly displayed on the display 211 of the smartphone 210.
  • the event display 221 is the same as the example of FIG.
  • the status determination display 222 displays the determination result sent from the status determination server 100.
  • the status determination server 100 sends the determination result of the progress status in the future, for example, "The predicted restart time of the Toyoko Line is" 22:28 “” is displayed. In this way, the user can easily and concisely know the determination result of the progress state of the target event in the future on his / her smartphone 210.
  • FIG. 11 is a flow chart showing a processing procedure of the state determination program.
  • step S101 the collecting unit 111 collects a specific comment regarding the target event from the comments transmitted to the social media from the comment accumulating unit 921 of the media server 920.
  • step S102 the classification unit 112 classifies the specific comments collected in step S101 into one of a plurality of classes determined according to the progress state of the event by using the NN 121 read from the storage unit 120. To do.
  • the determination unit 113 determines the progress status of the target event in the present or future based on the ratio of each class in the specific comments collected and classified during that period in step S103. To do. At this time, it is advisable to define the class used for the determination as a specific class of particular interest, and determine the progress state based on the ratio of the specific comments classified into the specific class.
  • class A, class B, and class C other than the excluded class D are specific classes
  • class A to which the fitting function is applied is a specific class.
  • all classes may be designated as specific classes.
  • step S104 the processing unit 110 confirms whether or not a request for status determination has been received from the user's smartphone 210 (here, referred to as a "request terminal"). If it has been received, the process proceeds to step S105. If it has not been received, step S105 is skipped and the process proceeds to step S106. If the process proceeds to step S105, the determination result determined in step S103 is output to the request terminal, and the process proceeds to step S106.
  • the processing unit 110 determines whether or not the event processing has reached the final stage. For example, if the target event is the resumption of train operation, the end period is after a predetermined time has elapsed since the information on the actual resumption of train operation was acquired. It is advisable to set the final period at a time when it is determined that the request for status determination is interrupted for each target event.
  • the processing unit 110 returns to step S101, and when it is determined that the final stage has been reached, the processing unit 110 ends a series of processing.
  • the state determination server 100 may not receive the request directly from the request terminal, but the request processing device 800 separately installed may receive the request from the request terminal 210.
  • the state determination server 100 each time the state determination server 100 determines the progress state in step S103, the state determination server 100 writes the determination result of the progress state in the predetermined storage device 850.
  • the request processing device 800 receives the request from the request terminal 210, the request processing device 800 takes out the latest determination result from the storage device 850 and outputs the latest determination result to the request terminal 210.
  • the present embodiment has been described above with the event of resuming operation after an emergency stop of public transportation as a target event, but the event to be analyzed is not limited to this.
  • a flowering event of cherry blossoms at a specific famous place can be set as a target event.
  • seven classes of "bud”, “three-minute bloom”, “five-minute bloom”, “near full bloom”, “full bloom”, “beginning to scatter”, and “leaf cherry blossom” can be set as the progress state.
  • comments such as "Chidorigafuchi cherry blossoms are in full bloom soon" are collected as specific comments.

Landscapes

  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

[課題]ソーシャルメディアに発信されたコメントを利用して、対象となるイベントの進行状態を、即時性と正確性を両立して判定する状態判定システム等を提供する。 [解決手段]状態判定システムは、ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類部と、複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来におけるイベントの進行状態を判定する判定部とを備える。

Description

状態判定システム、状態判定方法および状態判定プログラム
 本発明は、状態判定システム、状態判定方法および状態判定プログラムに関する。
 例えば事故の発生により鉄道が一定期間運休を余儀なくされるような場合に、運行の再開予測を一刻も早く知らなければならない利用者がいる。しかし、鉄道会社は正確を期するために不確かな情報を公表せず、往々にして運行を再開してからその旨を公表する。そこで、利用者は、ソーシャルメディアに対して発信された第三者のコメントを参照して、いち早く運行状況を予想し、行動する場合がある。しかし、ソーシャルメディアの個々のコメントは、即時性がある反面、正確性に劣る場合がある。このような背景のもと、ソーシャルメディアに発信されたコメントを、実際の状況を予測する材料とする技術が開発されるようになってきた(例えば、特許文献1参照)。
特開2014-206829号公報
 例えば特許文献1では、ソーシャルメディア情報を用いて、駅の混雑を正確に予測することを意図した技術が開示されている。しかしながら、特許文献1に記載の技術は、ソーシャルメディアに発信された多数のコメントから、対象イベントの進行状態を大局的に予測するのには不向きな場合がある。
 本発明は、このような問題を解決するためになされたものであり、ソーシャルメディアに発信されたコメントを利用して、対象となるイベントの進行状態を、即時性と正確性を両立して判定する状態判定システム等を提供するものである。
 本発明の第1の態様における状態判定システムは、ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類部と、複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来におけるイベントの進行状態の判定結果を算出する判定部とを備える。
 本発明の第2の態様における状態判定方法は、ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類ステップと、複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来におけるイベントの進行状態の判定結果を算出する判定ステップとを有する。
 本発明の第3の態様における状態判定プログラムは、ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類ステップと、複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来におけるイベントの進行状態の判定結果を算出する判定ステップとをコンピュータに実行させる。
 このように、多数寄せ集められたコメントをその内容に応じて分類し、分類によって現れる大局的な傾向を利用して対象であるイベントの進行状態を判定する。このような手法によれば、個々のコメントの正確性の全体の予測に及ぼす影響を低減しつつ、いち早く判定結果を提示することができる。
 本発明により、ソーシャルメディアに発信されたコメントを利用して、対象となるイベントの進行状態を、即時性と正確性を両立して判定する状態判定システム等を提供することができる。
本実施形態に係る状態判定システムが利用される全体環境と、状態判定に関する情報の流れを説明する図である。 状態判定サーバのハードウェア構成を示す図である。 コメントのクラスへの分類を説明する図である。 コメントの整数列への変換を説明する図である。 ニューラルネットワークの処理を説明する図である。 クラス分類の検証結果を示す図である。 クラス割合と状態判定結果の時間推移を示すグラフである。 状態判定するための判定期間を説明するための図である。 現在における状態判定結果の表示例である。 クラスAの割合の時間推移と再開判定時刻を示すグラフである。 再開判定時刻の表示例である。 状態判定プログラムの処理手順を示すフロー図である。 他の例における全体環境と、状態判定に関する情報の流れを説明する図である。
 以下に発明の実施形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
 (1)全体構成
 図1は、本実施形態に係る状態判定システムが利用される全体環境と、状態判定に関する情報の流れを説明する図である。本実施形態における状態判定システムは、状態判定サーバ100によって実現される。状態判定サーバ100は、インターネット900に接続されており、インターネット900を介して、直接的または間接的に利用者のスマートフォン210、コメント発信者のスマートフォン910、およびメディアサーバ920と情報の授受を行う。
 より具体的には、コメント発信者が各自のスマートフォン910を操作して発信したツイート等のコメントは、インターネット900を介してメディアサーバ920へ送られ、メディアサーバ920に接続されたコメント蓄積部921に蓄積される。コメント蓄積部921は、例えば大容量のHDDによって構成されている。コメント発信者のスマートフォン910には、メディアサーバ920を運営する運営者によってリリースされたアプリケーションがインストールされており、コメント発信者は、当該アプリケーションを介してコメントをテキスト入力することができる。なお、コメントは、コメント発信者の発声を認識してテキスト変換したものであっても良い。
 コメント蓄積部921に蓄積されたコメント発信者のコメントは、アクセス権限に応じて閲覧することができる。このように特定のアプリケーションを介して利用者間でコメントを授受するサービスは、代表的にはソーシャルネットワークサービス(SNS)が知られている。ただし、本実施形態におけるソーシャルメディアは、SNSに限らず、発信者が一方的に情報を発信するサービスも含み得る。
 本実施形態における状態判定システムは、このように任意に運営されている1つまたは複数のソーシャルメディアを利用する。具体的には、状態判定サーバ100は、分析対象のイベントを定めると、当該イベントに関するコメントを特定コメントと定め、インターネット900を介してメディアサーバ920へアクセスし、コメント蓄積部921から特定コメントを収集する。複数のソーシャルメディアを利用する場合には、それぞれのソーシャルメディアのメディアサーバ920へアクセスする。状態判定サーバ100は、収集したコメントに基づいて当該イベントの現在または将来における進行状態を判定する演算処理を実行する。そして、利用者のスマートフォン210から状態判定のリクエストを受けると、スマートフォン210へ判定した判定結果を送信する。利用者は、気になるイベントの進行状態を、スマートフォン210に表示される判定結果により想像することができる。
 なお、ここでは、ツイート等のコメントとして、300文字以内の文字数で構成されるものを分析対象とする。以下においては、公共交通機関の非常停止後の運行再開事象を分析対象のイベントとして説明する。具体的には、発生した車両事故により運休が余儀なくされているある鉄道路線(「東急電鉄」の「東横線」を具体例とする)において、列車の運行再開に関する進行状態を判定する例を説明する。東横線の利用者は、例えば自宅やオフィスに居ながら、「現時点で運行が再開しているのか」や、「いつ運行が再開しそうか」といった情報を知りたい場合がある。そのような場合において、利用者は、スマートフォン210の専用アプリケーションを利用して、状態判定サーバ100へ状態判定をリクエストする。
 図2は、状態判定サーバ100のハードウェア構成を示す図である。状態判定サーバ100は、主に、処理部110、記憶部120、通信部130、および入力部140によって構成される。処理部110は、状態判定サーバ100の制御とプログラムの実行処理を行うプロセッサ(CPU及び/又はGPU等で構成される)である。処理部110は、記憶部120に記憶された状態判定プログラムを読み出して、状態判定に関する様々な処理を実行する。処理部110が収集部111としての処理を実行する場合には、コメント蓄積部921に蓄積されたコメントのうち、分析対象として指定されたイベントである「東横線の運行再開」に関する特定コメントを収集する。
 具体的には、収集部111は、通信部130を介してコメント蓄積部921へアクセスし、コメント蓄積部921で一定時間の間に蓄積されたコメントから、キーワード検索により特定コメントを抽出する。そして、キーワード検索により抽出されたコメントを特定コメントとして状態判定サーバ100へ取り込む。キーワード検索は、例えば、路線名に関する複数のキーワード(「東横線」「東急東横線」等)が予め設定されており、設定されているキーワードを含むコメントを抽出する。特定のキーワードについては、他のキーワードと共に含まれている場合に抽出候補とする等の抽出条件を定めても良い。また、キーワード検索を実行する対象コメントを、例えばタグ情報として東横線沿線の位置情報を有するコメントに限っても良い。
 処理部110が分類部112としての処理を実行する場合には、記憶部120から読み出したニューラルネットワーク121(以下「NN121」とする)を用いて特定コメントを、東横線の運行再開の進行状態に応じて定められた複数のクラスのいずれかに分類する。処理部110が判定部113としての処理を実行する場合には、設定した複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来における東横線の運行再開の進行状態を判定する。分類部112と判定部113の具体的な処理については、後に詳述する。
 記憶部120は、不揮発性の記憶媒体であり、例えば大容量のHDDによって構成されている。記憶部120は、状態判定サーバ100の制御や処理を実行するプログラムを格納するほか、収集部111が収集した特定コメントを一時的に保管する役割も担う。また、学習モデルであるNN121を記憶している。本実施形態におけるNN121は、対象イベントである「東横線の列車運行再開」について、入力された特定コメントを、イベントの進行状態として設定された「再開した」「再開しそう」「止まっている」「無関係、判別不能」の4つのクラスのいずれかに分類する。
 通信部130は、インターネット900への接続および外部機器とのデータ授受を担い、例えばLANによって構成されている。通信部130は、判定部113が判定した判定結果を利用者のスマートフォン210へ出力する出力部としての機能も担う。入力部140は、システム管理者がプログラムの実行および停止を指示したり、メニューの設定やパラメータの調整を行ったりするための入力デバイスを含む。なお、本実施形態においては、状態判定サーバ100が状態判定システムの主要構成を備える構成を説明するが、例えば記憶部120がインターネット900に直接的に接続されたネットワークHDDで構成されていても良い。そのような場合には、分散して構成された装置の全体によって状態判定システムが構築される。
 (2)分類部の処理
 次に、特定コメントのクラスへの分類について説明する。図3は、特定コメントのクラスへの分類を説明する図である。ここでは、イベント「東横線の列車運行再開」の進行状態として、4つのクラス「再開した(クラスA)」「再開しそう(クラスB)」「止まっている(クラスC)」「無関係、判別不能(クラスD)」が予め設定されている。収集部111によって収集された特定コメントは、これら4つのクラスのいずれかに分類される。
 これらのうち「再開した(クラスA)」「再開しそう(クラスB)」「止まっている(クラスC)」の3つのクラスは、時間の推移と共に想定されるイベントの進行状態に対応している。例えば、収集された特定コメントが「東横線再開したって!」であれば、列車の運行が再開したことを意味するので、クラスAに分類される。また、「東横線試運転をしているみたい」であれば、列車の運行再開に向けて準備が進んでいる様子を表すので、クラスBに分類される。同様に、「地震で東横線が止まった」であれば、列車が動いていないことが推測されるので、クラスCに分類される。
 一方、「東横線」について言及しているので特定コメントとして収集されたものの、その内容が列車運行再開の進行状態とは関係ないコメントや、そもそも進行状態に関係するものか否かを判別できないコメントも存在し得る。そのような特定コメントは、進行状態に対して「無関係、判別不能(クラスD)」のコメントと分類される。例えば、収集された特定コメントが「東横線は東急だよね」であれば、列車の運行再開とは関係のないコメントなので、クラスDに分類される。
 なお、本実施形態においては、時間の推移と共に想定される状態を3つのクラスに区分したが、これに限らず、例えば多くの特定コメントが収集できそうな場合にはより多くの情報を抽出し得るので、区分を細分化しても良い。例えば、「再開した」を「臨時ダイヤで再開した」と「通常ダイヤに戻った」などに分けても良い。逆に、コメント数が期待できないような場合には、区分を減らしても良い。
 本実施形態においては、このようなクラスの分類を分類部112が行う。分類部112は、NN121へ特定コメントを入力し、出力としてすべてのクラス毎への分類確率を受け取る。分類確率の値が最も大きいクラスを当該特定コメントのクラスと判定する。NN121に、事前に正解クラスが紐づけられた大量のコメント例を教師データとして学習させたものを用いる。本実施形態におけるNN121を具体的に説明する。
 分類部112は、コメントを整数列に変換してNN121へ入力する。図4は、コメントの整数列への変換を説明する図である。ここでは、コメントの例として「東急東横線が動き出したようです。」を説明する。
 分類部112は、まず、入力コメントに対して形態素解析を行い、単語単位の分かち書きにする。そして、単語ごとに分解した後に、活用語を終止形に変換する。これにより、入力コメントは、「'東急','東横線','が','動く','出す','た','ようだ','。'」と分解される。なお、対象言語を英語とする場合には、スペース文字による単語の区切りをそのまま利用する。
 ここで、NN121は、特定コメントを単語ごとに整数に変換して得られた整数列を入力して前記複数のクラスへの分類確率を出力する。具体的に、NN121は複数の層から構成される。NN121の第一層では、整数列から数値行列を求める。さらに詳しくは、NN121の第一層では、このように分解した入力コメントのそれぞれの単語を分散表現に変換する。各単語の分散表現は、d次元の行ベクトルとして表される。したがって、n単語に分解される一つの入力コメントは、n行d列の数値行列で表現される。
 コメント発信者が発信するコメントは、1文であるとは限らない。また、1文がいくつの単語で構成されるかも不定である。また、ソーシャルメディアによっては、コメント可能な字数が制限されている場合もある。発信されたそれぞれのコメントについて、すべての単語を数値ベクトル化すれば、そのコメントが含む内容を最大限に利用できるが、数値行列化した場合に、コメントごとに行列のサイズが異なることになる。
 本発明者らは、コメントの主要な内容は、当該コメント内で比較的早い段階において言及されるという知見を得た。また、本発明者らは、コメントが140文字以内に制限されるソーシャルメディアの場合、30語の固定長化により8割以上の内容が収まるという知見を得た。そこで、本発明者らは、このような知見に基づいて任意のコメントに固定長化処理を施すことを想到した。
 本実施形態においては、分類部112は、収集部111が収集した特定コメントを予め定められた単語数になるように固定長化処理を施す。具体的には、収集した特定コメントに対して分かち書き処理を施した結果、30語を上回った場合には、上回った単語を棄却する。また、収集した特定コメントに対して分かち書き処理を施した結果、30語を下回った場合には、不足分を0ベクトルで補う。このように処理することにより、いずれの特定コメントも、30行d列の数値行列に変換することができる。特に、固定長化処理により、複数のコメントのバッチ並列処理が可能となり、一つずつ処理した場合に比べ100倍以上の高速化が実現する。
 なお、30語を超えるコメントにおいても先頭から30語以内で概ね趣旨を言及していることが多い。本発明者らは、コメントが140文字以内に制限されるソーシャルメディアの場合、30語を超える部分を棄却することによる分類精度の低下は1%程度であることを確認した。
 本実施形態においては、このように変換された特定コメントの数値行列を画像データに類似するデータに見立て、NN121の第二層に、画像処理において多用される畳み込み層を採用する。図5は、NN121の処理を説明する概念図である。
 上述のように数値行列化された特定コメントに対し、畳み込み演算を実行することにより、コメント中の数単語のまとまり(n-gram)の特徴が抽出される。そして、プーリング処理が施され、コメントごとの特徴量が生成される。例えば、グローバル最大プーリングが実行される。その後、活性化関数にソフトマックス演算を持つ全結合層により、4つのクラスへの分類確率を計算する。4つのクラスは、それぞれクラスA、クラスB、クラスC、クラスDに対応する。
 なお、上記NN121では、畳み込み処理を行なう際に、単語分散表現の次元数dに応じた重みフィルターを用いる。具体的には、フィルターの幅をfとしてf行d列の数値行列により表現される重みフィルターが用いられる(図5参照)。このような重みフィルターを用いることで、NN121は、コメントに含まれる概念が反映された情報を学習することが可能となる。
 例えば、コメントの中に「再開」という単語が含まれている場合、単なる形態素解析による分類では、「再開した(クラスA)」に分類するのか、「再開しそう(クラスB)」に分類するのかを決定することができない。これに対し、上記NN121では、特定の表現に反応する重みフィルターを学習しているので、「再開した(クラスA)」に分類するのか、「再開しそう(クラスB)」に分類するのかを適切に決定することができる。換言すると、上記NN121は、同一単語を含むコメントを異なるクラスに分類可能な学習モデルであり、概念に応じたクラス分類を可能としている。
 また、上記NN121では、単語を数値ベクトル化するための処理で用いるパラメータの学習と、畳み込み処理から分類確率計算までに用いられるパラメータの学習とを一連のバックプロパゲーションで実行することができる。これにより、特定ジャンルのコメントの分類に特化した単語分散表現やn-gramの特徴を獲得するため、クラス分類の精度を高めることができる。なお、上記の畳み込み層及びプーリング層に替えて、多層LSTMやTransformerを用いても同様の効果を得ることが可能である。その他、NN121は、上述のものに限定されず、クラス分類できるものであれば任意のものを採用することができる。
 本発明者らは、災害時に運休となった路線に対してソーシャルメディアへ発信された実際のコメントを収集し、手作業でその内容に応じた正解クラスをそれぞれのコメントに与えて教師データを作成し、これらを学習させることによってNN121を作成した。そして、学習に利用していないコメントを使って、作成したNN121の分類精度を検証した。図6は、クラス分類の検証結果を示す図である。
 学習に利用していない検証用のコメント数は649個である。そのうち、作業者がクラスAと判断する(すなわちクラスAが正解である)コメント数は143個であり、NN121は、そのうち125個をクラスAに分類されると判断した。同様に、作業者がクラスBと判断するコメント数は292個であり、NN121は、そのうち258個をクラスBに分類されると判断した。さらに、作業者がクラスCと判断するコメント数は92個であり、NN121は、そのうち70個をクラスCに分類されると判断した。そして、作業者がクラスDと判断するコメント数は122個であり、NN121は、そのうち102個をクラスDに分類されると判断した。すなわち、正しく分類できたコメント数は555個であり、NN121による分類の正解率は約85%であった。この程度の正解率が達成できれば、NN121による分類は十分に実用に耐えるものと考えられる。
 (3)判定部の処理
 収集部111が一定時間の間に収集した特定コメントのそれぞれを、分類部112がクラスAからクラスDのいずれかに分類すると、全体のコメント数に対してそれぞれのクラスに属するコメント数の割合を計算することができる。判定部113は、各クラスの当該割合に着目することにより、現在または将来における対象イベントの進行状態の判定結果を算出する。なお、ここでは、分類部112は、一定期間毎に特定コメントを複数のクラスAからクラスDのいずれかに分類するものであり、例えば1分間毎に各コメントをいずれかのクラスに分類する。
 現在または将来における対象イベントの進行状態を判定する場合には、時間の推移と共に想定される状態を定めたクラスA,クラスBおよびクラスCのそれぞれのコメント数の割合を演算の対象とすることが望ましい。すなわち、クラスA,クラスBおよびクラスCのそれぞれの割合を算出する場合に、進行状態とは無関係なコメントおよび判別不能なコメントが分類されるクラスDのコメント数を除外して算出する。具体的には、収集されたクラスAのコメント数がn個、クラスBのコメント数がn個、クラスCのコメント数がn個、クラスDのコメント数がn個である場合には、クラスAの割合TをT=n/(n+n+n)、クラスBの割合TをT=n/(n+n+n)、クラスCの割合TをT=n/(n+n+n)のように計算し、クラスDのコメント数を考慮しない。このように計算すれば、コメント数が急増した場合でも計算量を抑えることができる。また、各クラスの割合の変化がイベントの進行状態の推移をより反映すると期待できる。
 第1実施例として、現在におけるイベントの進行状態を判定する手法について説明する。イベントの例は、引き続き「東横線の運行再開」であり、本実施例も実際に発生したイベントについて特定コメントを収集し、検証したものである。
 図7Aは、「東横線の運行再開」のイベントにおけるクラス割合と状態判定結果の時間推移を示すグラフである。横軸は時刻を表す。左縦軸は各クラスの割合(%)を表し、右縦軸は判定結果を0、1、2で表す。判定結果「0」は「止まっている」の予測を表し、「1」は「再開しそう」の予測を表し、「2」は「再開した」の予測を表す。点線で示すグラフは、クラスAの割合の推移を表す。破線で表すグラフは、クラスBの割合の推移を表す。なお、クラスCの割合は、100-(クラスAの割合+クラスBの割合)であるので省略している。また、それぞれの割合の推移には、突発的な変化を軽減するノイズ除去フィルターを適用している。実線で示すグラフは、判定部113が判定した判定結果の推移を表す。
 全体の傾向としては、クラスCが大きな割合を占めている期間の「現在における進行状態」の判定結果は「止まっている」であり、クラスBが大きな割合を占めている期間の「現在における進行状態」の判定結果は「再開しそう」であり、クラスAが大きな割合を占めている期間の「現在における進行状態」の判定結果は「再開した」である。ただし、本実施例は、その時点において最大の割合を占めるクラスに対応する進行状態を「現在における進行状態」とするものに限定されるものではない。判定部113は、その時点における各割合に、直前に判定した進行状態を加味して、現在における前記イベントの前記進行状態を判定してもよい。このような処理により、時間の経過に対して、判定される進行状態が頻繁に遷移してしまうことを防ぐことができる。
 具体的な演算について説明する。現在における進行状態を判定するために、判定部113は、状態推定演算を行う。状態推定演算は、進行状態を状態番号i(i=0:止まっている、i=1:再開しそう、i=2:再開した)で表した場合に、総コストCをi=0、1、2に対して計算し、Cが最小となるiを決定する演算である。総コストCiは、
Figure JPOXMLDOC01-appb-M000001
で表される。ここで、σiはフィッティングコストであり、τiは遷移コストである。フィッティングコストσiは、観測値(収集されたコメントの分類)と状態(イベントの進行状態)の当てはまりにくさの指標である。フィッティングコストは、観測値と状態が一致しているほど小さく、離れているほど大きい値になる。
 具体的には、以下のように計算する。コメント分類番号j(j=0:止まっている、j=1:再開しそう、j=2:再開した)、時刻t、時刻tに収集された分類jのコメント数nt,j、時刻tに収集された全コメント数S、励起状態における確率変動の割合を示す行列Q(Qは励起状態数×励起状態数の行列で、Q[0][0],Q[0][1],Q[1][0],Q[1][1]の要素を有する。各要素の値はハイパーパラメータである。)と定義すると、状態iに対するフィッティングコストσiは、
Figure JPOXMLDOC01-appb-M000002
により計算される。logの括弧内は、多項分布の確率質量関数になっている。上述したようにコメントの割合によって計算する場合、フィッティングコストσiは分類jの割合(%)Tt,jを用いて、
Figure JPOXMLDOC01-appb-M000003
となる。ここで、Γ(s)はガンマ関数であり、
Figure JPOXMLDOC01-appb-M000004
で表される。pi,jは、状態iにおけるコメント分類jの発生確率であり、行列で表すと、
Figure JPOXMLDOC01-appb-M000005
となる。
 まず、基底状態としてi=0(止まっている)における確率を決定する。
Figure JPOXMLDOC01-appb-M000006
 次に、行列Qを用いて励起状態としてi=1(再開しそう)、i=2(再開した)における確率を決定する。
Figure JPOXMLDOC01-appb-M000007
 各成分は確率なので、各i(各行ごと)に対して、Σji,j=1、各i,j(各成分ごと)に対してpi,j≧0が課せられる。そこで、これらの条件を満たすように修正を加える。具体的には、pi,j<0であるi,jについてpi,j=0とし、Σji,j=ptmp>1であるiについてpi,j=pi,j/ptmpとする。
 このような手法はバースト検知として知られているが、よく知られたバースト検知は励起状態が一つであり、行列Qの対角成分を2、非対角成分を1とするのが一般的である。しかし、本実施例における運行再開の進行状態においては、i=1(再開しそう)とi=2(再開した)の観測値が共起しやすいと考えられるので、非対角成分を1より大きくしている。本実施形態においては、Q[0][0]=2.0、Q[0][1]=1.2、Q[1][0]=1.2、Q[1][1]=2.0と設定した。
 遷移コストτiは、概念的には状態遷移に支払うコストであり、ある状態から別の状態へは、計算される遷移コストτiが大きいほど移りにくいことになる。具体的には、以下のように計算する。現在の進行状態を上記と同様に状態番号iで表すと、直前の状態i直前からの遷移コストτiは、
Figure JPOXMLDOC01-appb-M000008
で計算される。γは、直前と現在の状態間の遷移のしにくさを定義する行列であり、ハイパーパラメータである。ここではγを遷移行列と名付ける。また、logの項は、フィッティングコストとスケールを合わせるために導入している。本実施形態においては、遷移行列γを、
Figure JPOXMLDOC01-appb-M000009
と設定した。例えば、「止まっている(i=0)」から「再開しそう(i=1)」への遷移コストを計算する場合は、γ[0][1]=10が用いられる。本実施形態においては設定していないが、i=1からi=2への遷移を事実上禁止したい場合には、γ[1][2]=10000000などとすれば良い。逆に、i=1からi=2への遷移が他の遷移よりも非常に発生しやすい場合には、γ[1][2]の値を負の値に設定しても良い。このように、プログラムの設計者等は、実際の現象を分析して実情に即すように遷移行列γの各成分をカスタマイズすることが肝要である。なお、一般的なバースト検知手法は、例えば、J. Kleinberg, "Bursty and Hierarchical Structure in Streams,"Proceeding of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2002.に詳しい。
 上記の演算による総コストCiのうち最も小さい値を示す状態番号iの進行状態を、現在における進行状態の判定結果とする。図7Aに示す例では、判定部113は、20時50分ころまでは「止まっている」と判定し、それから22時10分ころまでは「再開しそう」と判定し、それ以降は「再開した」と判定している。なお、この事象において鉄道会社が正式に運行再開をアナウンスした時刻は22時30分であった。実際にはそれ以前に運転が再開されたと考えられるので、本実施形態における判定プログラムの判定結果が実際の推移におよそ対応していると推測できる。このような検証結果から、本実施形態に係る状態判定システムの利用者は、運行再開に関する進行状態をある程度の正確性をもっていち早く知ることができると言える。
 なお、現在における進行状態を判定するための演算手法は、上記のバースト検知手法に限らない。時間の経過に対して判定結果が頻繁に変化しないように、直前に判定した進行状態を加味する手法は、他にも種々採用し得る。演算を簡素化してプロセッサの負荷を軽減する場合には、例えば、各クラスの割合に予め用意した重み付け係数を乗じ、その中から大きな値を示すものを判定結果とすることもできる。この場合、ある状態から別の状態へ遷移する場合の重み付け係数は、遷移しやすいほど大きな値を設定しておく。
 上述した判定部113の処理について補足する。判定部113は、所定の判定期間毎にイベントの進行状態を判定する。例えば、図7Bに示すように、判定期間は1分間とする。現在が時刻tであるとすると、現在のイベントの進行状態は、現在の時刻tに時間的に最も近い判定期間D1のコメントの分類結果に基づいて判定される。また、直前の判定期間D2は、現在の判定期間D1に時間的に逆方向に連続する判定期間である。
 このような前提で、判定部113は、一定期間毎(1分間毎)に収集した各クラスのコメントの割合(数6のp0,1 ,p0,2を参照)に基づいて、現在のイベントの進行状態を判定する判定期間D1において各クラスが取り得る発生確率(pi,j)を算出する。そして、判定部113は、算出した各クラスが取り得る発生確率(pi,j)と、判定期間D1に収集されたクラス毎のコメント数 (nt,j)とに基づいて、現在のフィッティングコストσiを算出する。
 また、判定部113は、現在のイベントの進行状態を判定する判定期間D1より前の判定期間D2の間に判定したイベントの進行状態と、判定期間D1に取り得るイベントの進行状態との間の遷移行列γに基づいて、遷移コストτiを算出する。
 そして、判定部113は、これらのフィッティングコストσi及び遷移コストτiから総コストCiを算出し、現在におけるイベントの進行状態を判定する。なお、総コストCiは、必ずしもフィッティングコストσi及び遷移コストτiの両方から算出される必要はなく、いずれか一方から算出されるものであってもよい。
 図8は、図7Aのイベントに対して利用者のスマートフォン210に表示される状態判定結果の表示例である。スマートフォン210のディスプレイ211には、主に、イベント表示221と状態判定表示222が表示される。イベント表示221は、対象イベントの情報が表示される。対象イベントは、利用者により選択されたイベントであり、例えば、その時点で状態判定が提供されるイベント一覧のメニューから選択される。対象イベントの情報としては、例えば、「東横線は事故のため14:30から運休しています」のように表示される。
 状態判定表示222は、状態判定サーバ100から送られてきた判定結果が表示される。ここで状態判定サーバ100から送られてくるのは、現在における進行状態の判定結果であるので、例えば、「現在、東横線の状態は『再開しそう』です」のように表示される。このように、利用者は、自身のスマートフォン210で、対象イベントの現在における進行状態の判定結果を容易かつ簡潔に知ることができる。
 次に、第2実施例として、将来におけるイベントの進行状態を判定する手法について説明する。イベントの例は、引き続き「東横線の運行再開」であり、一つ目の実施例と同じものである。
 図9は、クラスAの割合の時間推移と再開判定時刻を示すグラフである。横軸は時刻を表す。縦軸はクラスAの割合(%)を表わす。点線で示すグラフは、クラスAの割合の推移を表すが、本実施例では状態判定サーバ100が22時ちょうどに利用者からのリクエストを受け取った場合を想定するので、22時00分までの推移を示す。なお、クラスAの割合の推移には、突発的な変化を軽減するノイズ除去フィルターを適用している。実線で示すグラフは、22時00分までのクラスAの割合の推移に対して当てはめたフィッティング関数を表す。
 フィッティング関数は、ここでは0から100の間で変化するように規格化したシグモイド型関数を利用する。図示するようにシグモイド型関数を当てはめることにより、クラスAの割合が22時00分以降にどうのように変化するかを推定する。
 クラスAの割合は「再開した」の割合なので、この割合が一定値を超えると列車の運行が実際に再開されていると考えることができる。そこで、本実施例では、その閾値Saを80%と定め、当てはめたフィッティング関数が80%を超える時刻を、運行の再開予測時刻とする。図の例ではフィッティング関数が80%を超える時刻は22時28分である。したがって、判定部113は、将来におけるイベントの進行状態である「再開予測時刻」を、22時28分であると判定する。上述のように、この事象において鉄道会社が正式に運行再開をアナウンスした時刻は22時30分であったので、良好な判定結果であると評価できる。なお、本実施例ではフィッティング関数としてシグモイド型関数を採用したが、事象に合わせて他の関数をフィッティング関数として採用しても良い。
 図10は、図9のイベントに対して利用者のスマートフォン210に表示される再開予測時刻の表示例である。スマートフォン210のディスプレイ211には、主に、イベント表示221と状態判定表示222が表示される。イベント表示221は、図8の例と同様である。
 状態判定表示222は、状態判定サーバ100から送られてきた判定結果が表示される。ここで状態判定サーバ100から送られてくるのは、将来における進行状態の判定結果であるので、例えば、「東横線の再開予測時刻は『22:28』です」のように表示される。このように、利用者は、自身のスマートフォン210で、対象イベントの将来における進行状態の判定結果を容易かつ簡潔に知ることができる。
 (4)状態判定処理
 次に、本実施形態における状態判定サーバ100の処理手順について説明する。状態判定サーバ100による状態判定処理は、状態判定プログラムがコンピュータであるプロセッサに各ステップを実行させることにより実現される。図11は、状態判定プログラムの処理手順を示すフロー図である。
 図示するフローは、システム管理者が対象イベントを定めてサービスの提供を開始した時点から始まる。収集部111は、ステップS101で、ソーシャルメディアに対して発信されたコメントのうち、対象イベントに関する特定コメントを、メディアサーバ920のコメント蓄積部921から収集する。ステップS102へ進むと、分類部112は、記憶部120から読み出したNN121を用いて、ステップS101で収集された特定コメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する。
 イベントごとに設定される単位時間が経過したら、判定部113は、ステップS103で、その間に収集され分類された特定コメントにおけるクラスごとの割合に基づいて、現在または将来における対象イベントの進行状態を判定する。このとき、判定に用いるクラスを特に着目する特定クラスと定め、特定クラスに分類された特定コメントの割合に基づいて進行状態を判定すると良い。上述の第1実施例では、除外クラスとしたクラスD以外のクラスA、クラスBおよびクラスCが特定クラスであり、第2実施例では、フィッティング関数を当てはめたクラスAが特定クラスである。クラスの設定の仕方によっては、全てのクラスを特定クラスとしても良い。
 ステップS104へ進み、処理部110は、利用者のスマートフォン210(ここでは「リクエスト端末」とする)から、状態判定のリクエストを受け取ったか否かを確認する。受け取っていたらステップS105へ、受け取っていなければステップS105をスキップしてステップS106へ進む。ステップS105へ進んだ場合には、ステップS103で判定した判定結果をリクエスト端末へ出力し、ステップS106へ進む。
 ステップS106へ進むと、処理部110は、イベント処理が終期に達したか否かを判断する。例えば、対象イベントが列車の運行再開であれば、実際に列車の運行が再開された情報を取得してから所定時間の経過後を終期とする。終期は、対象イベントごとに、状態判定のリクエストが途絶えると判定される時期に設定すると良い。処理部110は、イベント処理が終期に達していないと判断した場合には、ステップS101へ戻り、終期に達したと判断した場合には、一連の処理を終了させる。
 なお、上述の説明では、状態判定サーバ100が単一の装置で動作される例を用いて説明したが、状態判定サーバ100の構成は、発明の要旨を逸脱しない範囲で、適宜構成の追加又は変更が可能なものである。例えば、図12に示すように、状態判定サーバ100がリクエスト端末から直接リクエストを受け付けるのではなく、別途設置したリクエスト処理装置800がリクエスト端末210からリクエストを受け付ける構成であってもよい。この場合、状態判定サーバ100は、ステップS103で進行状態の判定をする度に、所定の記憶装置850に進行状態の判定結果を書き込む。リクエスト処理装置800は、リクエスト端末210からのリクエストを受け取った場合に、上記記憶装置850から最新の判定結果を取り出して、リクエスト端末210に出力する。
 以上、公共交通機関の非常停止後の運行再開事象を対象イベントとして本実施形態を説明したが、分析対象とするイベントはこれに限らない。例えば、特定名所の桜の開花事象を対象イベントとすることもできる。この場合、進行状態として、例えば「つぼみ」「三分咲き」「五分咲き」「満開近い」「満開」「散り始め」「葉桜」の7クラスを設定し得る。また、「千鳥ヶ淵の桜、もうすぐ満開だね」のようなコメントが特定コメントとして収集される。
100 状態判定サーバ、110 処理部、111 収集部、112 分類部、113 判定部、120 記憶部、121 NN、130 通信部、140 入力部、210 スマートフォン、211 ディスプレイ、221 イベント表示、222 状態判定表示、900 インターネット、910 スマートフォン、920 メディアサーバ、921 コメント蓄積部

 

Claims (17)

  1.  ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類部と、
     前記複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来における前記イベントの前記進行状態を判定する判定部と
    を備える状態判定システム。
  2.  前記分類部は、前記特定コメントを単語ごとに整数に変換して得られた整数列を入力して前記複数のクラスへの分類確率を出力する学習モデルを用いて前記特定コメントを分類する、
    請求項1に記載の状態判定システム。
  3.  前記学習モデルは、
     前記整数列から数値行列を求める第1演算部と、
     前記数値行列の入力に応じて前記複数のクラス分類確率を出力する第2演算部と、
    を備える、請求項2に記載の状態判定システム。
  4.  前記第1演算部は、前記整数列から分散表現を求め、
     前記第2演算部は、前記分散表現の入力に応じて前記複数のクラス分類確率を出力する、
    請求項3に記載の状態判定システム。
  5.  前記分類部は、前記特定コメントを予め定められた単語数となるように固定長化処理を施して前記学習モデルへ入力する請求項2から4のいずれか1項に記載の状態判定システム。
  6.  前記学習モデルは、畳み込み演算を実行する、
     請求項2から5のいずれか1項に記載の状態判定システム。
  7.  前記コメントは、300文字以内の文字数で構成されるものである、
     請求項1から6のいずれか1項に記載の状態判定システム。
  8.  前記分類部は、同一単語を含むコメントを異なるクラスに分類可能な学習モデルを用いて前記コメントを分類する、
     請求項1から7のいずれか1項に記載の状態判定システム。
  9.  前記判定部は、前記割合を算出する場合に、前記複数のクラスのうち前記進行状態とは無関係な前記特定コメントおよび判別不能な前記特定コメントが分類される除外クラスのコメント数を除外して算出する請求項1から8のいずれか1項に記載の状態判定システム。
  10.  前記判定部は、直前に判定した進行状態を加味して現在における前記イベントの前記進行状態を判定する請求項1から9のいずれか1項に記載の状態判定システム。
  11.  前記分類部は、一定期間毎に前記コメントを複数のクラスのいずれかに分類するものであり、
     前記判定部は、
     前記一定期間毎に収集した各クラスのコメントの割合に基づいて、現在のイベントの進行状態を判定する判定期間において各クラスが取り得る発生確率を算出し、
     算出した各クラスが取り得る発生確率と、前記判定期間に収集されたクラス毎のコメント数とに基づいて、現在におけるイベントの進行状態を判定する、
     請求項1から10のいずれか1項に記載の状態判定システム。
  12.  前記分類部は、一定期間毎に前記コメントを複数のクラスのいずれかに分類するものであり、
     前記判定部は、現在のイベントの進行状態を判定する判定期間より前の一定期間の間に判定したイベントの進行状態と、前記判定期間に取り得るイベントの進行状態との間の遷移行列に基づいて、現在におけるイベントの進行状態を判定する、
     請求項1から11のいずれか1項に記載の状態判定システム。
  13.  前記判定部は、前記割合の推移にフィッティング関数を当てはめ、前記フィッティング関数が予め設定された閾値を超える時刻に基づいて将来における前記イベントの前記進行状態を判定する請求項1から9のいずれか1項に記載の状態判定システム。
  14.  前記ソーシャルメディアに対して発信されたコメントのうち、分析対象のイベントに関する特定コメントを収集する収集部、
    をさらに備える、請求項1から13のいずれか1項に記載の状態判定システム。
  15.  前記イベントは、公共交通機関の異常停止後の運行再開事象であり、
     前記判定部は、前記進行状態として前記公共交通機関の運行が再開間近である状態、および再開した状態の少なくともいずれかの判定結果を出力する請求項1から14のいずれか1項に記載の状態判定システム。
  16.  ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類ステップと、
     前記複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来における前記イベントの前記進行状態を判定する判定ステップと
    を有する状態判定方法。
  17.  ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類ステップと、
     前記複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来における前記イベントの前記進行状態を判定する判定ステップと
    をコンピュータに実行させる状態判定プログラム。
PCT/JP2020/044750 2019-12-06 2020-12-01 状態判定システム、状態判定方法および状態判定プログラム WO2021112102A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021500247A JP6923864B1 (ja) 2019-12-06 2020-12-01 状態判定システム、状態判定方法および状態判定プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-221656 2019-12-06
JP2019221656 2019-12-06

Publications (1)

Publication Number Publication Date
WO2021112102A1 true WO2021112102A1 (ja) 2021-06-10

Family

ID=76221691

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/044750 WO2021112102A1 (ja) 2019-12-06 2020-12-01 状態判定システム、状態判定方法および状態判定プログラム

Country Status (2)

Country Link
JP (1) JP6923864B1 (ja)
WO (1) WO2021112102A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081491A (ja) * 2009-10-05 2011-04-21 Nec Biglobe Ltd 時系列分析装置、時系列分析方法、及びプログラム
WO2015052785A1 (ja) * 2013-10-09 2015-04-16 株式会社日立製作所 情報処理システム
JP2018204240A (ja) * 2017-06-01 2018-12-27 三菱電機株式会社 雨水監視制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081491A (ja) * 2009-10-05 2011-04-21 Nec Biglobe Ltd 時系列分析装置、時系列分析方法、及びプログラム
WO2015052785A1 (ja) * 2013-10-09 2015-04-16 株式会社日立製作所 情報処理システム
JP2018204240A (ja) * 2017-06-01 2018-12-27 三菱電機株式会社 雨水監視制御システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KESHI, IKUO: "Proposal of interpretability assessment and visualization of tweet distributed representation in semantic representation learning", THE 10TH FORUM ON DATA ENGINEERING AND INFORMATION MANAGEMENT (THE 16TH ANNUAL CONFERENCE OF THE DATABASE SOCIETY OF JAPAN, 4 March 2018 (2018-03-04) *
NAGANO, SHINICHI: "Development of a System Detecting Train Status Information from Social Sensors", PROCEEDINGS OF IEICE (J96-D), 25 September 2013 (2013-09-25), pages 2262 - 2273 *

Also Published As

Publication number Publication date
JP6923864B1 (ja) 2021-08-25
JPWO2021112102A1 (ja) 2021-12-02

Similar Documents

Publication Publication Date Title
US11735021B2 (en) Building risk analysis system with risk decay
US11360959B2 (en) Building risk analysis system with dynamic and base line risk
US20210216928A1 (en) Systems and methods for dynamic risk analysis
Suleimenova et al. A generalized simulation development approach for predicting refugee destinations
Whitt Predicting queueing delays
Hsu et al. Clearance time estimation for incorporating evacuation risk in routing strategies for evacuation operations
Zhang et al. Dynamic emergency inspection routing and restoration scheduling to enhance the post-earthquake resilience of a highway–bridge network
Pouraliakbari-Mamaghani et al. A robust possibilistic programming approach for blood supply chain network design in disaster relief considering congestion
Sharma et al. A Study on Decision‐Making of the Indian Railways Reservation System during COVID‐19
US20190171745A1 (en) Open ended question identification for investigations
JP5420385B2 (ja) 業務支援装置
Einbeck et al. Using principal curves to analyse traffic patterns on freeways
JP6923864B1 (ja) 状態判定システム、状態判定方法および状態判定プログラム
Ramaswami et al. Non-Markovian bulk queueing system with state dependent arrivals and multiple vacations–a simulation approach
WO2022064657A1 (ja) 復旧支援装置、復旧支援方法およびプログラム
JP2022178727A (ja) 分類システム、分類方法および分類プログラム
JP5332057B2 (ja) リスク算出装置およびリスク算出方法
Laachemi et al. Web services classification for disaster management and risk reduction
Musolino Methods for Risk Reduction: Modelling Users’ Updating Utilities in Urban Transport Networks
Alimadad et al. Using varieties of simulation modeling for criminal justice system analysis
US20230385182A1 (en) Machine-learning-based techniques for predictive monitoring of a software application framework
Idoudi Dynamic Population Evacuation
Li DESIGNING EMERGENCY MEDICAL SERVICES PROCESSES TO MINIMIZE THE IMPACT OF AMBULANCE OFFLOAD DELAY
CN117035327A (zh) 工单处理方法和装置、存储介质及电子装置
Dal Pont et al. Real-time decision support system applied to distribution utility dispatches

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021500247

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20895909

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20895909

Country of ref document: EP

Kind code of ref document: A1