WO2024009404A1 - ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラム - Google Patents

ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラム Download PDF

Info

Publication number
WO2024009404A1
WO2024009404A1 PCT/JP2022/026732 JP2022026732W WO2024009404A1 WO 2024009404 A1 WO2024009404 A1 WO 2024009404A1 JP 2022026732 W JP2022026732 W JP 2022026732W WO 2024009404 A1 WO2024009404 A1 WO 2024009404A1
Authority
WO
WIPO (PCT)
Prior art keywords
log data
attributes
combination
behavior
data analysis
Prior art date
Application number
PCT/JP2022/026732
Other languages
English (en)
French (fr)
Inventor
佳史 福本
央 倉沢
美幸 今田
方邦 石井
健祐 福島
哲哉 塩田
奏 山本
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/026732 priority Critical patent/WO2024009404A1/ja
Publication of WO2024009404A1 publication Critical patent/WO2024009404A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Definitions

  • the disclosed technology relates to a log data analysis device, a log data analysis method, and a log data analysis program.
  • Non-Patent Document 1 In the field of natural language processing, language modeling techniques (such as BERT) that acquire the meaning of each word in context from a large amount of documents are widespread. Language models have been deployed in other fields, and are used, for example, in recommendation systems (such as BERT4Rec) that acquire the meaning of each action in context from a large amount of action logs and suggest the next action.
  • BERT4Rec An example of a document disclosing BERT4Rec is Non-Patent Document 1.
  • An identifier corresponding to a word in natural language becomes an identifier composed of a combination of one or more attributes in an action log. Attributes vary depending on the type of behavior, such as the product or service name, channel, classification category, etc., and when applying language model technology, it is necessary to design how to combine attributes.
  • the shortage problem can be avoided by using a secondary storage area such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) instead of a primary storage area, but this time, each time you refer to a dictionary, the corresponding information is stored from the secondary storage area.
  • the calculation cost increases because it requires processing to search for and update the value, which cannot be processed in a realistic amount of time.
  • the meaningful attributes differ depending on the type of log, so it is necessary to identify user behavior at an appropriate level of granularity when applying language modeling technology. If any one attribute were selected and used as an identifier for a behavior log, the granularity of behavior would become coarser, making it difficult to distinguish characteristic trends in behavior that can be estimated from language models. If all attributes are selected and used as identifiers for behavior logs, the granularity of behavior becomes excessively fine, making it impossible to obtain characteristic trends in behavior that can be estimated from language models.
  • the disclosed technology has been made in view of the above points, and provides a log data analysis device, a log data analysis method, and a log data analysis that analyze log data using combinations that include many behavioral characteristics while suppressing calculation costs.
  • the purpose is to provide programs.
  • a first aspect of the present disclosure is a log data analysis device, which includes an acquisition unit that acquires log data in which a user's behavior and one or more attributes associated with the behavior are described; a selection unit that selects the combination of attributes of the log data acquired by the acquisition unit based on the behavior and the number of unique data in the combination of attributes associated with the behavior; an analysis unit that analyzes the log data according to a predetermined language model using the combination of the attributes of the log data selected by the user.
  • a second aspect of the present disclosure is a log data analysis method, in which a processor acquires log data in which a user's behavior and one or more attributes associated with the behavior are described, and Selecting the combination of attributes of the acquired log data based on the behavior and the unique number in the combination of attributes associated with the behavior, and using the selected combination of attributes of the log data. , executes a process of analyzing the log data using a predetermined language model.
  • a third aspect of the present disclosure is a log data analysis program that causes a computer to function as the log data analysis device of the first aspect of the present disclosure.
  • a log data analysis device that analyzes log data using combinations that include many behavioral characteristics while suppressing calculation costs by selecting a combination of attributes that is an appropriate number for a model used for analysis;
  • a log data analysis method and a log data analysis program can be provided.
  • FIG. 1 is a block diagram showing a hardware configuration of a log data analysis device according to an embodiment.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a log data analysis device.
  • FIG. 2 is a diagram showing an example of log data to be analyzed by the log data analysis device of the present embodiment.
  • FIG. 3 is a diagram illustrating an example of expressing user behavior using only "channel” as an attribute.
  • FIG. 7 is a diagram illustrating an example of expressing user behavior using "channel", "action”, and each event as attributes.
  • FIG. 3 is a diagram illustrating an example of expression of user behavior using “event 1” and “event 2” as attributes. It is a figure explaining selection processing by a selection part. It is a figure explaining selection processing by a selection part.
  • FIG. 1 is a figure explaining selection processing by a selection part.
  • FIG. 3 is a diagram illustrating a method for estimating cardinality by a selection unit.
  • FIG. 6 is a diagram illustrating an example in which the target number of vocabulary is equally divided for each data source.
  • FIG. 7 is a diagram illustrating an example of allocating the target number of vocabulary in proportion to the maximum number of vocabulary for each data source. It is a flowchart which shows the flow of log data analysis processing by a log data analysis device.
  • FIG. 6 is a diagram showing the structure of log data and the number of vocabulary in a single attribute used to explain a specific example of log data analysis processing by the log data analysis device.
  • FIG. 6 is a diagram illustrating a case where log data is used as is, a case where the simple method shown in FIG. 5 is used, and a case where the method described in the present embodiment is used in comparison.
  • FIG. 1 is a block diagram showing the hardware configuration of the log data analysis device 10 of this embodiment.
  • the log data analysis device 10 of the present embodiment acquires log data in which a user's behavior and one or more attributes associated with the behavior are described, executes an analysis process on the acquired log data, and performs analysis. This is a device that outputs the results.
  • the analysis process executed by the log data analysis device 10 is a process of analyzing characteristic trends in user behavior by analyzing log data using a language model.
  • the language model can include both a model using statistics and a model using a neural network.
  • the log data analysis device 10 of this embodiment uses, for example, word2vec, doc2vec, Transformer, BERT, etc. as a language model. By analyzing the characteristic trends of the user's behavior using the language model by the log data analysis device 10, it becomes possible to propose the next behavior to the user.
  • the log data analysis device 10 of this embodiment selects an appropriate combination of attributes when applying log data to a language model. Then, the log data analysis device 10 of this embodiment applies the log data having the selected combination to the language model. By applying log data having selected combinations to a language model, the log data analysis device 10 of the embodiment can analyze log data using combinations that include many behavioral characteristics while suppressing the amount of calculation. The specific configuration and operation of the log data analysis device 10 will be described in detail later.
  • a general-purpose computer device such as a server computer or a personal computer (PC) can be applied to the log data analysis device 10 according to the present embodiment.
  • the log data analysis device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input section 15, a display section 16, and communication It has an interface (I/F) 17.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • storage 14 an input section 15, a display section 16, and communication It has an interface (I/F) 17.
  • I/F interface
  • the CPU 11 is a central processing unit that executes various programs and controls various parts. That is, the CPU 11 reads a program from the ROM 12 or the storage 14 and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above components and performs various arithmetic operations according to programs stored in the ROM 12 or the storage 14. In this embodiment, the ROM 12 or the storage 14 stores a log data analysis program that analyzes log data.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores programs or data as a work area.
  • the storage 14 is constituted by a storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to perform various inputs.
  • the display unit 16 is, for example, a liquid crystal display, and displays various information.
  • the display section 16 may adopt a touch panel method and function as the input section 15.
  • the communication interface 17 is an interface for communicating with other devices.
  • a wired communication standard such as Ethernet (registered trademark) or FDDI
  • a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used.
  • FIG. 2 is a block diagram showing an example of the functional configuration of the log data analysis device 10.
  • the log data analysis device 10 has an acquisition section 101, a selection section 102, and an analysis section 103 as functional configurations.
  • Each functional configuration is realized by the CPU 11 reading a log data analysis program stored in the ROM 12 or the storage 14, expanding it to the RAM 13, and executing it.
  • the acquisition unit 101 acquires log data to be analyzed by the log data analysis device 10.
  • the acquisition unit 101 sends the acquired log data to the selection unit 102.
  • the selection unit 102 performs selection processing on the log data sent from the acquisition unit 101.
  • the selection unit 102 performs a selection process on the log data sent from the acquisition unit 101, thereby suppressing the amount of calculation in the analysis unit 103 and causing the analysis unit 103 to analyze the log data using combinations that include many behavioral characteristics. be able to.
  • FIG. 3 is a diagram showing an example of log data to be analyzed by the log data analysis device 10 of this embodiment.
  • the log data analysis device 10 treats one record of log data as one word in natural language, and performs log data analysis processing using a language model.
  • the attributes to be used When attempting to analyze log data such as that shown in FIG. 3, it is desirable to select the attributes to be used so that the content of the user's behavior can be identified with appropriate granularity in accordance with the language model used for analysis.
  • the number of unique values in the entire data when the value of a combination of attributes is regarded as one word will be referred to as the number of vocabulary.
  • the number of vocabulary is an indicator of granularity.
  • FIG. 4A is a diagram showing an example of expressing user behavior using only "channel” as an attribute.
  • user actions will be aggregated into "Email” or "Web", respectively, as shown in Figure 4A. That will happen.
  • the resolution of the user's behavior is insufficient, the user's characteristic behavior cannot be identified, and even if analysis is performed, there is a possibility that no significant analysis result can be obtained.
  • FIG. 4B is a diagram showing an example of expressing user behavior using "channel”, "action”, and each event as attributes.
  • each user's behavior can be expressed in detail, as shown in Figure 4B, but the resolution of user behavior is excessive, and many behaviors are unique, making it impossible to obtain statistical trends. There is. Furthermore, when all attributes are used, the calculation cost for analysis processing in the analysis unit 103 becomes enormous.
  • the selection unit 102 selects the attributes to be used so that the granularity (number of vocabulary) is appropriate for the language model used in the analysis using the language model in the analysis unit 103.
  • FIG. 4C is a diagram showing an example of expressing user behavior using "event 1" and "event 2" as attributes.
  • FIG. 5 is a diagram illustrating selection processing by the selection unit 102.
  • the selection process described using FIG. 5 will also be referred to as a simple method in the following description.
  • Event 1 Event 1, Event 2
  • Event 3 Event 1, Event 3
  • Event 2 Event 2
  • Event 3 Event 3
  • the selection unit 102 performs a processing process to create a dictionary of correspondence between the appearing attribute values and IDs for each combination of attributes of the log data.
  • the selection unit 102 similarly processes other data sources.
  • FIG. 5 also shows log data in which each attribute value has been replaced with an ID.
  • the selection unit 102 selects a combination of attributes close to the target vocabulary number.
  • the target number of vocabulary may depend on the analysis method or analysis policy using the language model in the analysis unit 103. For example, when BERT4Rec is used as a language model, the target number of vocabulary is set to 30,000. Of course, since the analysis unit 103 performs analysis that captures user behavior in detail, a larger or smaller target number of vocabulary may be set.
  • dictionary information may become huge. In other words, with this method, dictionary information may increase each time data is added. If the dictionary information cannot be stored in the RAM 13, processing performance will be significantly reduced due to reasons such as storing the dictionary information in the storage 14 and repeating full scans.
  • the selection unit 102 updates the cardinality estimation object with the behavior content that appears for each combination of attributes of log data.
  • Cardinality estimation objects refer to data structures and functions that are generated using techniques such as HyperLogLog (HLL) and improved versions of HLL.
  • the selection unit 102 can estimate the number of unique data in the combination of attributes by updating the cardinality estimation object with the behavior content that appears for each combination of attributes of the log data.
  • log data is analyzed using a language model, so the number of unique data can also be called the number of vocabulary.
  • FIG. 6 is a diagram illustrating selection processing by the selection unit 102.
  • the selection unit 102 performs processing to update the cardinality estimation object with the behavior content that has appeared for each combination of attributes.
  • the selection unit 102 similarly performs processing to create data structures for other data sources.
  • the selection unit 102 estimates the number of vocabulary using each combination of cardinality estimation objects. Further, the selection unit 102 uses a hash function to convert each attribute value into an ID, and also uses the hash value to update the HLL. FIG. 6 also shows log data in which each attribute value is converted into an ID using a hash function.
  • the cardinality estimation object calculates the characteristics of the hash value using a function without storing the hash value itself, and uses it as a statistical value. Accumulate or update.
  • HLL when a hash value is viewed as a bit string, a statistical value is used that indicates how many consecutive zeros there are from the beginning. In this embodiment, only the statistical values are accumulated or updated, not the hash values themselves, so even if there are many patterns of hash values, memory consumption can be kept to a certain level.
  • cardinality estimation objects can be created and merged for each fragment of user's log data, it is easy to parallelize the vocabulary number estimation process for each pattern of attribute combinations.
  • FIG. 7 is a diagram illustrating a method for estimating cardinality by the selection unit 102.
  • Cardinality can also be referred to as number or vocabulary number.
  • the selection unit 102 generates a hash value for each combination of attributes using a hash function for assigning an ID to a behavior attribute value and estimating cardinality.
  • the behavioral attribute value refers to the value on the log data stored for each attribute.
  • FarmHash is used as the hash function, but other hash functions may be used.
  • the selection unit 102 After generating the hash value, the selection unit 102 generates a cardinality estimation object for each combination of attributes.
  • the selection unit 102 when estimating cardinality for only the behavioral attribute value of one attribute, the selection unit 102 generates a hash value for the behavioral attribute value using a hash function, and performs cardinality estimation for the generated hash value. Further, when estimating the cardinality of a combination of behavioral attribute values of two attributes, the selection unit 102 generates a hash value for the combined behavioral attribute value using a hash function, and estimates the cardinality of the generated hash value. .
  • the selection unit 102 can obtain an approximate value of cardinality for each combination of attributes.
  • the selection unit 102 can perform distributed processing of hash value generation and cardinality estimation object updating by dividing the input log data line by line. Then, the selection unit 102 can estimate the cardinality of the entire log data by merging the cardinality estimation objects after the distributed processing.
  • the selection unit 102 After giving all the hash values of the attribute values obtained from the log data to the cardinality estimation object for each data source and for each enumerated attribute combination, the selection unit 102 calculates the statistical values accumulated in each cardinality estimation object. From this, an estimated value of cardinality can be calculated.
  • the attribute value is a value that is combined as a single string with a separator (for example, a comma).
  • the selection unit 102 may equally divide the target number of vocabulary for each data source. For example, if the importance of each data source or the content of each attribute value of a user behavior log is unknown, and when proceeding with analysis by assuming that all data sources have equal value, the target number of vocabulary can be set for each data source. Divide into equal parts.
  • FIG. 8 is a diagram showing an example in which the target number of vocabulary is equally divided for each data source.
  • FIG. 8 shows the estimated number of vocabulary for each combination of attributes.
  • the selection unit 102 selects the largest combination of attributes that does not exceed the target vocabulary number.
  • the combination of attributes of the record of the data source "Email opening” is selected as the combination (event 1, event 2)
  • the combination of attributes of the record of the data source "Web browsing” is selected as the combination of (event 1, event 2). Select 3).
  • the selection unit 102 may arbitrarily allocate the number of vocabulary for each data source instead of dividing it equally. For example, when the importance of each data source or the content of each attribute is known, the number of vocabulary is arbitrarily allocated when making adjustments to express the user's behavioral characteristics. In other words, if you have an overall target vocabulary size of 30,000, and you have two types of data sources, instead of setting the target vocabulary size for each to 15,000, one data source has 10,000, and the other has 10,000. 20,000 and the number of vocabulary may be divided among two data sources.
  • the selection unit 102 may determine that most records are unique and have no statistical significance, and may ignore that attribute. . Specifically, the selection unit 102 sets the target vocabulary number to the maximum vocabulary number for each data source (hereinafter referred to as "maximum vocabulary number ”) may be allocated. For example, if the importance of each data source or the content of each attribute value is unknown, but it can be assumed that a data source with a large number of vocabularies shows the user's behavioral characteristics in more detail, the target number of vocabularies can be set using the data. Allocate in proportion to the maximum number of words per source.
  • FIG. 9 is a diagram showing an example of allocating the target number of vocabulary according to the ratio of the maximum number of vocabulary for each data source.
  • FIG. 9 shows the estimated number of vocabulary for each combination of attributes.
  • the threshold is set to 99%, those in which the number of single attribute vocabulary (unique number) exceeds 99% of the total number of records, or 990,000, are ignored.
  • the strikethrough shown in FIG. 9 indicates that the number of vocabulary for the single attribute of "Event 4" is the same number (100%) of the total number of records, so attribute combinations including Event 4 are not compared for the maximum number of vocabulary.
  • the overall target vocabulary count is 30,000, the maximum vocabulary number that the data source does not exceed the threshold for "opening emails" is 180,000, and the maximum vocabulary number that the data source does not exceed the threshold for "web browsing" is 180,000. Assume that the number of vocabulary is 430,000.
  • the selection unit 102 calculates the number of vocabulary assigned for each data source, which is calculated by the ratio of the maximum vocabulary for "opening email” and "browsing the web". The numbers are 8852 and 21148, respectively. Then, the selection unit 102 selects, for each data source, a combination of attributes that provides the maximum number of vocabulary that does not exceed this maximum number of vocabulary. In the example shown in Figure 9, the combination of (event 1, event 2) is selected for the data source "open email", and the combination of attributes of the record for the data source "web browsing" is (event 1, event 2, event 2). Select 3).
  • the analysis unit 103 analyzes the log data based on the combination of attributes selected by the selection unit 102. As described above, the analysis unit 103 analyzes log data using a language model such as word2vec, doc2vec, Transformer, or BERT. The analysis unit 103 can analyze trends in user behavior from the log data by analyzing the log data using the combination of attributes selected by the selection unit 102 using the language model.
  • a language model such as word2vec, doc2vec, Transformer, or BERT.
  • the log data analysis device 10 can suppress calculation costs compared to the case where all attributes are used, and can analyze log data using combinations that include many behavioral characteristics. Can be done.
  • FIG. 10 is a flowchart showing the flow of log data analysis processing by the log data analysis device 10.
  • the log data analysis process is performed by the CPU 11 reading the log data analysis process program from the ROM 12 or the storage 14, expanding it to the RAM 13, and executing it.
  • step S101 the CPU 11 acquires log data to be analyzed from the outside.
  • the CPU 11 selects a combination of attributes of the acquired log data in step S102.
  • the CPU 11 selects the attributes to be used so that the granularity (number of vocabulary) is appropriate for the language model used for analysis using the language model. More specifically, the CPU 11 updates the cardinality estimation object with the behavior content that appears for each combination of attributes of the log data. Then, the CPU 11 selects a combination of attributes close to the target number of vocabulary based on the result of updating the cardinality estimation object.
  • step S102 the CPU 11 analyzes the log data using the language model for the selected combination of attributes in step S103.
  • FIG. 11 is a diagram showing the structure of log data and the number of vocabulary in a single attribute used to explain a specific example of log data analysis processing by the log data analysis device 10. Here, it is assumed that log data with a total of 1 million records is used.
  • FIG. 12 is a diagram illustrating a case where the log data is used as is, a case where the simple method shown in FIG. 5 is used, and a case where the method described in this embodiment is used. Note that the target number of vocabulary words will be explained as 100,000 words.
  • the applicability (number of vocabulary) of the language model will be 1 million records, that is, 1 million words, and the data size will be 20 megabytes (MB).
  • the applicability of the language model is 99,991 words
  • the data size is 8.8MB
  • the intermediate data size that holds information on the dictionary and number of vocabulary during processing is 98MB.
  • the size may become larger than before processing.
  • Distributed processing can be considered to improve performance, but it requires merging dictionary objects created for each data fragment into one, and it is difficult to maintain the performance of processing for this purpose.
  • the applicability of the language model is 99990 words and the data size is 16MB, but information on the dictionary and number of vocabulary during processing is retained.
  • the resulting intermediate data size is 10MB.
  • the intermediate data size is constant regardless of the pre-processing size.
  • it is necessary to hold at most two objects inside the memory but the data size is smaller than that of a simple method.
  • the method described in this embodiment can suppress the amount of data to be retained compared to the case where log data is used as is or the case where the simple method shown in FIG. 5 is used.
  • the method described in this embodiment suppresses the amount of calculation compared to the case of using log data as is or the case of using the simple method shown in FIG. can do.
  • the method described in this embodiment allows log data to be analyzed using combinations that include many behavioral characteristics by selecting a combination of attributes that approximates the number of vocabulary suitable for the language model used for analysis.
  • the log data analysis process that the CPU reads and executes the software (program) in each of the above embodiments may be executed by various processors other than the CPU.
  • the processor in this case is a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Intel).
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Intel
  • An example is a dedicated electric circuit that is a processor having a specially designed circuit configuration.
  • the log data analysis process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (for example, multiple FPGAs, or a combination of a CPU and an FPGA). combinations etc.).
  • the hardware structure of these various processors is, more specifically, an electric circuit that is a combination of circuit elements such as semiconductor elements.
  • the log data analysis program is stored (installed) in the storage 14 in advance, but the present invention is not limited to this.
  • the program can be installed on CD-ROM (Compact Disk Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and USB (Universal Serial Bus) stored in a non-transitory storage medium such as memory It may be provided in the form of Further, the program may be downloaded from an external device via a network.
  • the processor includes: Obtaining log data in which the user's behavior and one or more attributes associated with the behavior are recorded, selecting the combination of attributes of the acquired log data based on the behavior of the log data and the unique number of the combination of attributes associated with the behavior;
  • a log data analysis device configured to analyze the log data according to a predetermined language model using the selected combination of the attributes of the log data.
  • a non-transitory storage medium storing a program executable by a computer to perform log data analysis processing, Log data analysis process is Obtaining log data in which the user's behavior and one or more attributes associated with the behavior are recorded, selecting the combination of attributes of the acquired log data based on the behavior of the log data and the unique number of the combination of attributes associated with the behavior;

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

ログデータ解析装置10は、ユーザの行動と、該行動に対応付けられた1以上の属性とが記されたログデータを取得する取得部101と、ログデータの前記行動と、該行動に対応付けられた属性の組み合わせにおけるユニークなデータの数とに基づいて、取得部101が取得した前記ログデータの前記属性の組み合わせを選択する選択部102と、選択部102が選択したログデータの属性の組み合わせを用いて、所定の言語モデルによりログデータを解析する解析部103と、を備える。

Description

ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラム
 開示の技術は、ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラムに関する。
 自然言語処理分野では、大量の文書から文脈における各単語の意味を獲得する、言語モデル技術(BERT等)が普及している。言語モデルは他分野にも展開され、例えば、大量の行動ログからコンテキストにおける各行動の意味を獲得し、次の行動を提案する推薦システム(BERT4Rec等)で用いられている。BERT4Recについて開示している文献として例えば、非特許文献1がある。
Fei Sun, Jun Liu, Jian Wu, Changhua Pei, Xiao Lin, Wenwu Ou, Peng Jiang BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer, インターネット<URL:https://arxiv.org/abs/1904.06690>
 従来、サービス横断的に収集された行動ログからユーザの行動を解析する手法として、ログの属性の組み合わせを語彙として捉え、言語モデルを適用する試みがなされてきた。自然言語での単語に相当する識別子が、行動ログでは1以上の属性の組み合わせで構成される識別子になる。属性は、商品やサービスの名称、チャネル、分類カテゴリなど、行動の種類によって異なり、言語モデル技術の適用の際に、属性の組み合わせ方を必ず設計する必要がある。
 ここで、ユーザのログの全ての属性の組み合わせを語彙として捉えると、言語モデルの適用にあたって、属性の組み合わせを言語モデルで言う1語として捉えて、各属性の値の組み合わせ毎にユニークなIDを付与して、その1語を表現するような加工処理を行う際に、加工処理において必要となる各属性の値組合せとIDの対応関係を示す辞書データが膨大になる。辞書データが膨大になると、処理中の一次記憶領域(メモリ)が不足するために処理しきれなくなる問題がある。一次記憶領域ではなくHDD(Hard Disk Drive)又はSSD(Solid State Drive)等の二次記憶領域を利用することで不足問題を回避できるが、今度は辞書を参照する都度、二次記憶領域から該当する値を検索して更新するといった処理が必要になるために計算コストは増大し、現実的な時間では処理しきれない。語彙数を絞るためにユーザのログの特定の属性を選択すると、ログの種類により意味のある属性は異なるために、言語モデル技術の適用にあたってユーザの行動を適切な粒度で識別する必要がある。仮に、いずれか1つの属性を選んで行動ログの識別子として使うと、行動の粒度が粗くなり、言語モデルから推定できる行動の特徴的な傾向を区別するのが難しくなる。全ての属性を選んで行動ログの識別子として使うと、行動の粒度が過剰に細かくなり、言語モデルから推定できる行動の特徴的な傾向を得られなくなる。
 開示の技術は、上記の点に鑑みてなされたものであり、計算コストを抑制しつつ行動の特徴を多く含む組み合わせによってログデータを解析するログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラムを提供することを目的とする。
 本開示の第1態様は、ログデータ解析装置であって、ユーザの行動と、該行動に対応付けられた1以上の属性とが記されたログデータを取得する取得部と、前記ログデータの前記行動と、該行動に対応付けられた前記属性の組み合わせにおけるユニークなデータの数とに基づいて、前記取得部が取得した前記ログデータの前記属性の組み合わせを選択する選択部と、前記選択部が選択した前記ログデータの前記属性の組み合わせを用いて、所定の言語モデルにより前記ログデータを解析する解析部と、を含む。
 本開示の第2態様は、ログデータ解析方法であって、プロセッサが、ユーザの行動と、該行動に対応付けられた1以上の属性とが記されたログデータを取得し、前記ログデータの前記行動と、該行動に対応付けられた前記属性の組み合わせにおけるユニーク数とに基づいて、取得した前記ログデータの前記属性の組み合わせを選択し、選択した前記ログデータの前記属性の組み合わせを用いて、所定の言語モデルにより前記ログデータを解析する処理を実行する。
 本開示の第3態様は、ログデータ解析プログラムであって、コンピュータを、本開示の第1態様のログデータ解析装置として機能させる。
 開示の技術によれば、解析に用いるモデルにとって適切な数となる属性の組み合わせを選択することで、計算コストを抑制しつつ行動の特徴を多く含む組み合わせによってログデータを解析するログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラムを提供することができる。
実施形態に係るログデータ解析装置のハードウェア構成を示すブロック図である。 ログデータ解析装置の機能構成の例を示すブロック図である。 本実施形態のログデータ解析装置が解析対象とするログデータの一例を示す図である。 属性として「チャネル」のみを用いたユーザの行動の表現例を示す図である。 属性として「チャネル」、「アクション」、及び各イベントを全て用いたユーザの行動の表現例を示す図である。 属性として「イベント1」及び「イベント2」を用いたユーザの行動の表現例を示す図である。 選択部による選択処理を説明する図である。 選択部による選択処理を説明する図である。 選択部によるカーディナリティの推定方法を説明する図である。 目標の語彙数をデータソース毎に等分する例を示す図である。 目標の語彙数をデータソース毎の最大語彙数の比率で割り当てる例を示す図である。 ログデータ解析装置によるログデータ解析処理の流れを示すフローチャートである。 ログデータ解析装置によるログデータ解析処理の具体例の説明に使用したログデータの構造及び単属性での語彙数を示す図である。 ログデータをそのまま使用した場合、図5に示した単純な手法を用いた場合、及び本実施形態で説明した手法を用いた場合を比較して説明する図である。
 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
 図1は、本実施形態のログデータ解析装置10のハードウェア構成を示すブロック図である。本実施形態のログデータ解析装置10は、ユーザの行動と、当該行動に対応付けられた1以上の属性とが記されたログデータを取得し、取得したログデータに対する解析処理を実行し、解析結果を出力する装置である。ログデータ解析装置10が実行する解析処理は、言語モデルを用いてログデータを解析することで、ユーザの行動の特徴的な傾向を解析する処理である。本実施形態において言語モデルとは、統計を利用したモデルと、ニューラルネットワークを利用したモデルとの両方を含むことができる。本実施形態のログデータ解析装置10は、言語モデルとして、例えばword2vec、doc2vec、Transformer、BERT等を用いる。ログデータ解析装置10による言語モデルを用いたユーザの行動の特徴的な傾向の解析により、ユーザに対して次の行動の提案が可能となる。
 また本実施形態のログデータ解析装置10は、言語モデルにログデータを適用する際に、適切な属性の組み合わせを選択する。そして本実施形態のログデータ解析装置10は、選択した組み合わせを有するログデータを言語モデルに適用する。実施形態のログデータ解析装置10は、選択した組み合わせを有するログデータを言語モデルに適用することで、計算量を抑制しつつ行動の特徴を多く含む組み合わせによってログデータを解析することができる。ログデータ解析装置10の具体的な構成及び作用については後に詳述する。
 なお、本実施形態に係るログデータ解析装置10には、例えば、サーバコンピュータ、パーソナルコンピュータ(PC)等の汎用的なコンピュータ装置が適用されうる。
 図1に示すように、ログデータ解析装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
 CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、ログデータの解析を行うログデータ解析プログラムが格納されている。
 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
 表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
 通信インタフェース17は、他の機器と通信するためのインタフェースである。当該通信には、たとえば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
 次に、ログデータ解析装置10の機能構成について説明する。
 図2は、ログデータ解析装置10の機能構成の例を示すブロック図である。
 図2に示すように、ログデータ解析装置10は、機能構成として、取得部101、選択部102、及び解析部103を有する。各機能構成は、CPU11がROM12又はストレージ14に記憶されたログデータ解析プログラムを読み出し、RAM13に展開して実行することにより実現される。
 取得部101は、ログデータ解析装置10での解析対象となるログデータを取得する。取得部101は、取得したログデータを選択部102に送る。
 選択部102は、取得部101から送られたログデータに対する選択処理を行う。選択部102は、取得部101から送られたログデータに対する選択処理を行うことにより、解析部103における計算量を抑制しつつ、行動の特徴を多く含む組み合わせによってログデータを解析部103に解析させることができる。
 ここで選択部102による選択処理を詳細に説明する。
 図3は、本実施形態のログデータ解析装置10が解析対象とするログデータの一例を示す図である。ログデータ解析装置10は、ログデータの1レコードを、自然言語でいう1語として扱って、言語モデルを用いたログデータの解析処理を行う。
 図3のログデータの中のユーザAの行動を例にすると、ユーザAは、あるキャンペンーンメールを開封し(レコード1)、メールに記載されたURLの選択によりWebサイトを閲覧し(レコード3)、閲覧したWebサイトの、コンテンツID1が設定されたコンテンツをクリックする(レコード4)、という行動がログデータに記述されている。また、図3のログデータのレコード番号2を例にすると、ユーザBは、あるキャンペンーンメールを開封し(レコード2)、メールに記載されたURLの選択によりWebサイトを閲覧する(レコード5)、という行動がログデータに記述されている。
 この図3で示したようなログデータを解析しようとする場合、解析に用いる言語モデルに合わせ、ユーザの行動の内容を適切な粒度で識別できるように、使用する属性を選択することが望ましい。以下の説明では、属性の組み合わせの値を1語と捉えた場合のデータ全体のユニーク値の数を、語彙数と称する。語彙数は、粒度を示す指標になる。ここで、ログデータを解析しようとする場合、いずれか1つの属性のみを使用する場合と、全ての属性を使用する場合とが考えられる。
 図4Aは、属性として「チャネル」のみを用いたユーザの行動の表現例を示す図である。1つの属性のみを使用する場合、図3のログデータの中の「チャネル」のみを使用したとすると、図4Aに示したように、ユーザの行動がそれぞれ「メール」又は「Web」に集約されることになる。しかし、1つの属性のみを使用する場合、ユーザの行動の分解能が不足し、ユーザの特徴的な行動を識別できず、解析を行っても有意な解析結果を得られない可能性がある。
 図4Bは、属性として「チャネル」、「アクション」、及び各イベントを全て用いたユーザの行動の表現例を示す図である。全ての属性を使用する場合、図4Bに示したように、ユーザの行動がそれぞれ細かく表現できるが、ユーザ行動の分解能が過剰で、多くの行動がユニークとなり統計的な傾向が得られない可能性がある。また全ての属性を使用する場合、解析部103での解析処理での計算コストが膨大となる。
 そこで本実施形態は、選択部102は、解析部103での言語モデルを用いた解析に使用する言語モデルに適切な粒度(語彙数)になるように、使用する属性を選択する。図4Cは、属性として「イベント1」及び「イベント2」を用いたユーザの行動の表現例を示す図である。このように解析に使用する属性を選択することで、ユーザ行動の統計的な傾向が適度に反映され、言語モデルを用いた解析に適する。また解析に使用する属性を選択することで、解析部103での解析処理での計算量を、全ての属性を使用する場合と比べて抑えることができる。
 選択部102の選択処理の具体例を示す。図5は、選択部102による選択処理を説明する図である。図5を用いて説明する選択処理を、以下の説明では単純な手法とも称する。図3に示したログデータにおいて、データソース「メール開封」の行動内容を識別する属性の組み合わせの候補は、以下の7通りである。
(イベント1),
(イベント1,イベント2),
(イベント1,イベント3),
(イベント1,イベント2,イベント3),
(イベント2),
(イベント2,イベント3),
(イベント3)
 選択部102は、ログデータの属性の組み合わせ毎に、出現した属性値とIDとの対応辞書を作成する加工処理を行う。選択部102は、他のデータソースについても同様に加工処理を行う。図5には、それぞれの属性値がIDに置き換えられた状態のログデータも示されている。
 そして選択部102は、目標の語彙数に近い属性の組み合わせを選択する。目標の語彙数は、解析部103での言語モデルを用いた解析方式又は解析方針に依存しうる。一例を挙げれば、言語モデルにBERT4Recを用いた場合、目標の語彙数を3万と設定する。もちろん、ユーザ行動を詳細に捉えた解析を解析部103で行うため、より多い又はより少ない目標の語彙数が設定されてもよい。
 しかし、図5に示した単純な手法では、ログデータ内の各項目の文字列長又は属性の組み合わせのパターンが大きい場合に、辞書情報が巨大になる可能性がある。言い換えれば、この手法は、データを追加する都度、辞書情報が増大する可能性がある。そして、辞書情報がRAM13に格納できない場合は、ストレージ14に辞書情報を保存してフルスキャンを繰り返すこと等の理由により、加工処理の性能が大幅に低下する。
 そこで本実施形態では、選択部102は、ログデータの属性の組み合わせ毎に、出現した行動内容でカーディナリティ推定オブジェクトを更新する。カーディナリティ推定オブジェクトは、例えばHyperLogLog(HLL)及びHLLの改良版等の技術を用いて生成するデータ構造および関数群を指す。選択部102は、ログデータの属性の組み合わせ毎に、出現した行動内容でカーディナリティ推定オブジェクトを更新することで、属性の組み合わせにおけるユニークなデータの数を推測することができる。本実施形態では、言語モデルを用いてログデータの解析を行うので、ユニークなデータの数は語彙数と言うこともできる。
 図6は、選択部102による選択処理を説明する図である。選択部102は、属性の組み合わせ毎に、出現した行動内容でカーディナリティ推定オブジェクトを更新する加工処理を行う。選択部102は、他のデータソースについても同様にデータ構造を作成する加工処理を行う。
 そして、選択部102は、各組み合わせのカーディナリティ推定オブジェクトにより語彙数を推定する。また、選択部102は、各属性値のID化にハッシュ関数を利用するとともに、そのハッシュ値をHLLの更新にも利用する。図6には、それぞれの属性値がハッシュ関数によりID化された状態のログデータも示されている。
 カーディナリティ推定オブジェクトに文字列などのログデータの属性値のハッシュ値を与えると、カーディナリティ推定オブジェクトは、そのハッシュ値そのものを蓄積せずに、関数を用いてハッシュ値の特徴を算出し、統計値として蓄積又は更新する。HLLでは、ハッシュ値をビット列として捉えた場合に、先頭から幾つゼロが連続するかの統計値を用いる。本実施形態では、ハッシュ値そのものでなく統計値のみ蓄積又は更新するため、ハッシュ値のパターンが多くとも一定のメモリ消費に抑えることができる。
 また、カーディナリティ推定オブジェクトは、ユーザのログデータの断片ごとに作成し、マージすることが可能であるため、属性の組み合わせのパターン毎の語彙数推定処理の並列化が容易である。
 図7は、選択部102によるカーディナリティの推定方法を説明する図である。カーディナリティは、異なり数又は語彙数とも言い換えることができる。選択部102は、属性の組み合わせ毎に、行動属性値へのID付与及びカーディナリティ推定用のハッシュ関数を用いてハッシュ値を生成する。行動属性値とは、それぞれの属性について格納されたログデータ上の値をいう。本実施形態では、ハッシュ関数としてFarmHashが用いられているが、他のハッシュ関数が用いられてもよい。
 選択部102は、ハッシュ値を生成すると、属性の組み合わせ毎にカーディナリティ推定オブジェクトを生成する。
 例えば、1つの属性の行動属性値についてのみについてカーディナリティを推測する場合、選択部102は、行動属性値についてハッシュ関数を用いてハッシュ値を生成し、生成したハッシュ値についてカーディナリティ推定を行う。また、2つの属性の行動属性値の組み合わせについてカーディナリティを推測する場合、選択部102は、組み合わされた行動属性値についてハッシュ関数を用いてハッシュ値を生成し、生成したハッシュ値についてカーディナリティ推定を行う。
 選択部102は、属性の組み合わせ毎にカーディナリティ推定オブジェクトを生成することで、属性の組み合わせ毎に、カーディナリティの近似値を求めることが出来る。ここで、選択部102は、入力されるログデータを行単位で分割することで、ハッシュ値生成とカーディナリティ推定オブジェクトの更新とを分散処理することができる。そして、選択部102は、分散処理後にカーディナリティ推定オブジェクトをマージすることで、ログデータ全体のカーディナリティを推定できる。
 選択部102は、データソース毎の、及び列挙した属性組み合わせ毎のカーディナリティ推定オブジェクトに、ログデータから得られた属性値のハッシュ値を全て与えた後、各カーディナリティ推定オブジェクト内に蓄積された統計値から、カーディナリティの推定値を算出することができる。属性値は、複数の属性を合わせる場合はセパレータ(例えばカンマ)で一つの文字列として結合した値である。
 全てのデータソース毎の語彙数の合計を、目標語彙数以下にすることが求められる。そこで、選択部102は、目標の語彙数をデータソース毎に等分してもよい。例えば、ユーザ行動ログのデータソース毎の重要度又は各属性値の内容が不明であり、差しあたり、全データソースが等価値と見なして解析を進める際に、目標の語彙数をデータソース毎に等分する。図8は、目標の語彙数をデータソース毎に等分する例を示す図である。図8には、属性の組み合わせ毎の推定語彙数が示されている。
 例えば、全体の目標の語彙数を3万とした場合、データソースが2種類あれば、それぞれの目標の語彙数を1万5千とする。そして、選択部102は、目標の語彙数を超えない最大の属性の組み合わせを選択する。図8の例では、データソース「メール開封」のレコードの属性の組み合わせは(イベント1,イベント2)の組み合わせを選択し、データソース「Web閲覧」のレコードの属性の組み合わせは(イベント1,イベント3)を選択する。
 なお選択部102は、データソース毎の語彙数を等分するのではなく、恣意的に分け与えても良い。例えば、データソース毎の重要度又は各属性の内容が把握できている場合に、ユーザの行動特性を表現できるように調整する際に、語彙数を恣意的に分け与える。つまり、全体の目標の語彙数を3万とした場合、データソースが2種類あれば、それぞれの目標の語彙数を1万5千とするのではなく、1つのデータソースに1万、もう1つのデータソースに2万と語彙数を分け与えてもよい。
 また選択部102は、単属性の語彙数が全レコード数に近い場合は、殆どのレコードがユニークであり統計的な有意性が無い可能性が高いと判断し、その属性を無視してもよい。具体的には、選択部102は、単属性の語彙数の全レコード比が閾値を超えるものを無視した上で、目標の語彙数をデータソース毎の語彙数の最大値(以下「最大語彙数」ともいう)の比率で割当ててもよい。例えば、データソース毎の重要度又は各属性値の内容が不明であるが、語彙数の多いデータソースはよりユーザの行動特性を詳細に示していると仮定できる場合に、目標の語彙数をデータソース毎の最大語数の比率で割り当てる。図9は、目標の語彙数をデータソース毎の最大語彙数の比率で割り当てる例を示す図である。図9には、属性の組み合わせ毎の推定語彙数が示されている。
 例えば、全レコード数が100万であり、閾値を99%とした場合、単属性の語彙数(ユニーク数)が全レコード数の99%つまり99万を超えるものを無視する。図9に示した取り消し線は「イベント4」の単属性の語彙数が全レコード数に対して同数(100%)であるため、イベント4を含む属性組合せは最大語彙数の比較対象としない。また、全体の目標の語彙数を3万とした場合において、データソースが「メール開封」の閾値を超えない最大語彙数は18万であり、データソースが「Web閲覧」の閾値を超えない最大語彙数は43万であったとする。選択部102は、最大語彙数比率(18万:43万)で割当てた結果、「メール開封」と「Web閲覧」との最大語彙数の比率によって算出された、データソース毎の割当語彙数はそれぞれ8852、21148となる。そして選択部102は、この最大語彙数を超えない最大の語彙数となる属性の組み合わせをデータソース毎に選択する。図9に示した例では、データソース「メール開封」については(イベント1,イベント2)の組み合わせを選択し、データソース「Web閲覧」のレコードの属性の組み合わせは(イベント1,イベント2,イベント3)を選択する。
 解析部103は、選択部102によって選択された属性の組み合わせに基づいて、ログデータの解析を行う。解析部103は、上述したように、例えばword2vec、doc2vec、Transformer、BERT等の言語モデルを用いてログデータの解析を行う。解析部103は、言語モデルを用いて、選択部102が選択した属性の組み合わせでのログデータの解析を行うことで、ログデータの中からユーザの行動の傾向を解析することができる。
 ログデータ解析装置10は、係る構成を有することにより、全ての属性を使用する場合と比較して計算コストを抑制することができ、かつ、行動の特徴を多く含む組み合わせによってログデータを解析することができる。
 次に、ログデータ解析装置10の作用について説明する。
 図10は、ログデータ解析装置10によるログデータ解析処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14からログデータ解析処理プログラムを読み出して、RAM13に展開して実行することにより、ログデータ解析処理が行なわれる。
 CPU11は、まずステップS101において、解析対象のログデータを外部から取得する。
 ステップS101に続いて、CPU11は、ステップS102において、取得したログデータの属性の組み合わせを選択する。CPU11は、言語モデルを用いた解析に使用する言語モデルに適切な粒度(語彙数)になるように、使用する属性を選択する。より詳細には、CPU11は、ログデータの属性の組み合わせ毎に、出現した行動内容でカーディナリティ推定オブジェクトを更新する。そしてCPU11は、カーディナリティ推定オブジェクトの更新の結果に基づいて、目標となる語彙数に近い属性の組み合わせを選択する。
 ステップS102に続いて、CPU11は、ステップS103において、選択した属性の組み合わせに対する、言語モデルを用いたログデータの解析を行う。
 続いて、ログデータ解析装置10によるログデータ解析処理の具体例を説明する。
 図11は、ログデータ解析装置10によるログデータ解析処理の具体例の説明に使用したログデータの構造及び単属性での語彙数を示す図である。ここでは、合計100万レコードのログデータを用いたとする。
 図12は、ログデータをそのまま使用した場合、図5に示した単純な手法を用いた場合、及び本実施形態で説明した手法を用いた場合を比較して説明する図である。なお、目標となる語彙数は10万語として説明する。
 100万レコードのログデータをそのまま使用した場合、言語モデルの適用性(語彙数)は100万レコード、すなわち100万語となり、データサイズは20メガバイト(MB)となる。
 単純な手法を用いた場合、言語モデルの適用性(語彙数)は99991語となり、データサイズは8.8MBとなり、加工処理時の辞書及び語彙数の情報が保持された中間データサイズは98MBとなる。すなわち、単純な手法を用いた場合、加工前よりサイズが大きくなる場合がある。また単純な手法を用いた場合、辞書オブジェクトを全てメモリの内部に保持する必要がある。辞書オブジェクトをメモリに保持できない場合は、非効率的であるが、メモリの代わりにハードディスク(ストレージ)に保持するように変更する方法もあり得るが、ストレージ内のデータを何度も検索する必要があり、データが大規模になると性能維持が困難となる。性能改善のためには分散処理も考えられるが、データ断片毎に作成された辞書オブジェクトを1つにマージする必要があり、そのための処理の性能維持も難しい。
 これらに対し、本実施形態で説明した手法を用いた場合、言語モデルの適用性(語彙数)は99990語となり、データサイズは16MBとなるが、加工処理時の辞書及び語彙数の情報が保持された中間データサイズは10MBとなる。本実施形態で説明した手法を用いた場合、中間データサイズは加工前サイズに依らず一定となる。また本実施形態で説明した手法を用いた場合、オブジェクトを最大で2つメモリの内部に保持する必要があるが、そのデータサイズは単純な手法に比べて小さい。そして本実施形態で説明した手法を用いた場合、カーディナリティ推定オブジェクトを分散生成しても低メモリで容易にマージ可能であり、さらに分散ID化に共通のオブジェクトは不要である。
 以上から、本実施形態で説明した手法は、ログデータをそのまま使用した場合及び図5に示した単純な手法を用いた場合と比較して、保持するデータ量を抑制することができる。そして、本実施形態で説明した手法は、保持するデータ量を抑制したことにより、ログデータをそのまま使用した場合及び図5に示した単純な手法を用いた場合と比較して、計算量を抑制することができる。また、本実施形態で説明した手法は、解析に用いる言語モデルに適した語彙数に近くなる属性の組み合わせを選択することで、行動の特徴を多く含む組み合わせによってログデータを解析することができる。
 なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したログデータ解析処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、ログデータ解析処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、ログデータ解析プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 以上の実施形態に関し、更に以下の付記を開示する。
 (付記項1)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 ユーザの行動と、該行動に対応付けられた1以上の属性とが記されたログデータを取得し、
 前記ログデータの前記行動と、該行動に対応付けられた前記属性の組み合わせにおけるユニーク数とに基づいて、取得した前記ログデータの前記属性の組み合わせを選択し、
 選択した前記ログデータの前記属性の組み合わせを用いて、所定の言語モデルにより前記ログデータを解析する
 ように構成されているログデータ解析装置。
 (付記項2)
 ログデータ解析処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
 ログデータ解析処理は、
 ユーザの行動と、該行動に対応付けられた1以上の属性とが記されたログデータを取得し、
 前記ログデータの前記行動と、該行動に対応付けられた前記属性の組み合わせにおけるユニーク数とに基づいて、取得した前記ログデータの前記属性の組み合わせを選択し、
 選択した前記ログデータの前記属性の組み合わせを用いて、所定の言語モデルにより前記ログデータを解析する
 非一時的記憶媒体。
10 ログデータ解析装置
101 取得部
102 選択部
103 解析部

Claims (8)

  1.  ユーザの行動と、該行動に対応付けられた1以上の属性とが記されたログデータを取得する取得部と、
     前記ログデータの前記行動と、該行動に対応付けられた前記属性の組み合わせにおけるユニークなデータの数とに基づいて、前記取得部が取得した前記ログデータの前記属性の組み合わせを選択する選択部と、
     前記選択部が選択した前記ログデータの前記属性の組み合わせを用いて、所定の言語モデルにより前記ログデータを解析する解析部と、
    を備える、ログデータ解析装置。
  2.  前記選択部は、前記属性の組み合わせ毎に、出現した行動の内容を用いて前記ユニークなデータの数を推定し、該推定の結果に基づいて前記属性の組み合わせを選択する請求項1記載のログデータ解析装置。
  3.  前記選択部は、前記行動ごとに、前記解析部での解析における目標のレコード数を所定のルールに基づき割り当てる請求項1記載のログデータ解析装置。
  4.  前記選択部は、前記行動ごとに、前記解析部での解析における目標のレコード数を等分する請求項3記載のログデータ解析装置。
  5.  前記選択部は、前記行動ごとに、前記ユニークなデータの数の最大値の比率に基づいて、前記解析部での解析における目標のレコード数を割り当てる請求項3記載のログデータ解析装置。
  6.  前記選択部は、前記ログデータの属性値をハッシュ化した状態で前記ユニークなデータの数を推定する請求項1記載のログデータ解析装置。
  7.  プロセッサが、
     ユーザの行動と、該行動に対応付けられた1以上の属性とが記されたログデータを取得し、
     前記ログデータの前記行動と、該行動に対応付けられた前記属性の組み合わせにおけるユニーク数とに基づいて、取得した前記ログデータの前記属性の組み合わせを選択し、
     選択した前記ログデータの前記属性の組み合わせを用いて、所定の言語モデルにより前記ログデータを解析する
    処理を実行する、ログデータ解析方法。
  8.  コンピュータを、請求項1~請求項6の何れか1項記載のログデータ解析装置として機能させるための、ログデータ解析プログラム。
PCT/JP2022/026732 2022-07-05 2022-07-05 ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラム WO2024009404A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026732 WO2024009404A1 (ja) 2022-07-05 2022-07-05 ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/026732 WO2024009404A1 (ja) 2022-07-05 2022-07-05 ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラム

Publications (1)

Publication Number Publication Date
WO2024009404A1 true WO2024009404A1 (ja) 2024-01-11

Family

ID=89453004

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/026732 WO2024009404A1 (ja) 2022-07-05 2022-07-05 ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラム

Country Status (1)

Country Link
WO (1) WO2024009404A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017175375A1 (ja) * 2016-04-08 2017-10-12 株式会社日立製作所 データクレンジングシステム、方法、及び、プログラム
US20180048541A1 (en) * 2016-08-09 2018-02-15 Airmagnet, Inc. Method and apparatus of estimating conversation in a distributed netflow environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017175375A1 (ja) * 2016-04-08 2017-10-12 株式会社日立製作所 データクレンジングシステム、方法、及び、プログラム
US20180048541A1 (en) * 2016-08-09 2018-02-15 Airmagnet, Inc. Method and apparatus of estimating conversation in a distributed netflow environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUN FEI OFEY.SUNFEI@GMAIL.COM; LIU JUN YANHAN.LJ@ALIBABA-INC.COM; WU JIAN JOSHUAWU.WUJIAN@ALIBABA-INC.COM; PEI CHANGHUA CHANGHUA.P: "BERT4Rec Sequential Recommendation with Bidirectional Encoder Representations from Transformer", PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ACM, NEW YORK, NY, USA, 3 November 2019 (2019-11-03) - 13 November 2020 (2020-11-13), New York, NY, USA , pages 1441 - 1450, XP058639171, ISBN: 978-1-4503-7043-1, DOI: 10.1145/3357384.3357895 *

Similar Documents

Publication Publication Date Title
Wang et al. Performance prediction for apache spark platform
CN111652380B (zh) 针对机器学习算法进行算法参数调优的方法及系统
US11416768B2 (en) Feature processing method and feature processing system for machine learning
US9953262B2 (en) Application recommending method and apparatus
CN106997367B (zh) 程序文件的分类方法、分类装置和分类系统
US9965327B2 (en) Dynamically scalable data collection and analysis for target device
US11151089B2 (en) Compression of log data using pattern recognition
US10198455B2 (en) Sampling-based deduplication estimation
JP6714152B2 (ja) 分析装置、分析方法及び分析プログラム
JPWO2017221667A1 (ja) 悪性通信ログ検出装置、悪性通信ログ検出方法、悪性通信ログ検出プログラム
JP6232522B2 (ja) 計算機及びグラフデータ生成方法
DE112021000485T5 (de) System zur schnellen interaktiven Erkundung von Massendaten
US11403017B2 (en) Data compression method, electronic device and computer program product
WO2016093839A1 (en) Structuring of semi-structured log messages
WO2024009404A1 (ja) ログデータ解析装置、ログデータ解析方法、及びログデータ解析プログラム
US10083121B2 (en) Storage system and storage method
JP2021056570A (ja) データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラム
KR20160111327A (ko) 정보 처리 장치 및 데이터 관리 방법
JP6393411B2 (ja) データ分析支援システム及びデータ分析支援方法
Ouyang et al. Mitigate data skew caused stragglers through ImKP partition in MapReduce
JP6802109B2 (ja) ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法
JP6015662B2 (ja) 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム
JP2016170453A (ja) データ格納制御装置、データ格納制御システム、データ格納制御方法、及び、データ格納制御プログラム
CN106547907B (zh) 一种频繁项集获取方法及装置
JP7106924B2 (ja) クラスタ分析システム、クラスタ分析方法およびクラスタ分析プログラム

Legal Events

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

Ref document number: 22950198

Country of ref document: EP

Kind code of ref document: A1