Entity Relationship Strength Identification Using Spatio-Temporal Data
By obtaining and processing information about coexistence events of entities and using event characteristics to determine the strength of entities' relationships, the problems of low efficiency and inability to quantify the relationship intensity in the prior art are solved, and efficient and automated relationship intensity recognition and quantification are achieved.
Patent Information
- Application Number
- JP2024556223
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-21
- Filing Date
- 2023-03-02
- Publication Date
- 2025-04-14
AI Technical Summary
The prior art has problems of inefficiency, difficulty in automating and scaling, and inability to quantify relationship strength in identifying relationship strength among entities.
These characteristics are used to determine the relationship strength by obtaining information about multiple coexisting events, including entity, event duration, location and time. The method includes processing features of coexisting events such as event frequency, inter-entity distance, and event duration and weighting, combining or analyzing them through machine learning models to generate relationship strength scores.
It realizes effective identification and quantification of the strength of entity relationships, improves the recognition efficiency and automation, and can better handle large-scale data and dynamic relationship changes.
Smart Images

Figure 2025510022000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE The present disclosure relates generally to data processing systems and, more particularly, to entity relationship strength identification using spatio-temporal data. [Background technology]
[0002] Various applications involve attempting to determine whether two or more entities (such as two or more people) have some type of relationship with one another. For example, a business networking application may attempt to determine whether various business professionals know each other well and see each other occasionally. As another example, an intelligence application may attempt to determine who various monitoring targets interact with, how often they interact, and when and where they interact. Often, these types of applications rely on rule-based queries to extract information collected from specified information sources. Summary of the Invention
[0003] The present disclosure relates to entity relationship strength identification using spatio-temporal data.
[0004] In a first embodiment, a method includes obtaining information associated with a plurality of co-occurring events. Each co-occurring event is associated with an occurrence of a plurality of entities co-occurring with one another. The information associated with each co-occurring event identifies an entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event. The method also includes identifying strengths of different relationships involving different ones of the entities based on the information. The strengths are determined using one or more features of the co-occurring events.
[0005] In a second embodiment, an apparatus includes at least one processing device configured to obtain information associated with a plurality of co-occurring events. Each co-occurring event is associated with an occurrence of a plurality of entities co-occurring with one another. The information associated with each co-occurring event identifies an entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event. The at least one processing device is also configured to identify, based on the information, strengths of different relationships involving different ones of the entities. The strengths are based on one or more features of the co-occurring events.
[0006] In a third embodiment, a non-transitory computer-readable medium stores computer-readable program code that, when executed, causes one or more processors to obtain information associated with a plurality of co-occurring events. Each co-occurring event is associated with an occurrence of a plurality of entities co-occurring with one another. The information associated with each co-occurring event identifies an entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event. The medium also stores computer-readable program code that, when executed, causes the one or more processors to identify, based on the information, strengths of different relationships involving different ones of the entities. The strengths are based on one or more features of the co-occurring events.
[0007] Other technical features may be readily apparent to those skilled in the art from the following figures, descriptions, and claims. [Brief description of the drawings]
[0008] For a more complete understanding of the present disclosure, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
[0009] [Figure 1] 1 illustrates an example system supporting entity relationship strength identification using spatio-temporal data in accordance with the present disclosure.
[0010] [Diagram 2] 1 illustrates an example device supporting entity relationship strength identification using spatio-temporal data in accordance with the present disclosure.
[0011] [Diagram 3] 1 illustrates an example architecture supporting entity relationship strength identification using spatio-temporal data, in accordance with the present disclosure.
[0012] [Figure 4] 1 illustrates an exemplary technique for entity relationship strength identification using spatio-temporal data, according to the present disclosure. [Diagram 5] 1 illustrates an exemplary technique for entity relationship strength identification using spatio-temporal data, according to the present disclosure. [Figure 6] 1 illustrates an exemplary technique for entity relationship strength identification using spatio-temporal data, according to the present disclosure. [Figure 7] 1 illustrates an exemplary technique for entity relationship strength identification using spatio-temporal data, according to the present disclosure.
[0013] [Figure 8] 1 illustrates an exemplary method for entity relationship strength identification using spatio-temporal data, in accordance with the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] 1-8 described below and the various embodiments used to illustrate the principles of the present disclosure are exemplary only and should not be construed in any way as limiting the scope of the present disclosure. Those skilled in the art will appreciate that the principles of the present disclosure may be implemented in any type of suitably arranged device or system.
[0015] As noted above, various applications involve attempting to determine whether two or more entities (e.g., two or more people) have some type of relationship with one another. For example, a business networking application may attempt to determine whether various business professionals are familiar with one another and whether they occasionally see one another. As another example, an intelligence application may attempt to determine who various monitoring targets interact with, how often they interact, and when and where they interact. Often, these types of applications rely on rule-based queries to extract information collected from specified information sources.
[0016] Unfortunately, traditional approaches for identifying relationships involving entities can suffer from various shortcomings. For example, rule-based queries are typically slow, require manual effort, and do not scale well as the amount of data to be processed increases. Also, correlation of multiple data streams is generally difficult to automate and scale, and it is often difficult to integrate new data sources into these approaches. Furthermore, while these approaches may be able to identify whether a particular entity has relationships, these approaches cannot quantify the strength of those relationships. Relationship strength can be useful in various scenarios, such as when a large dataset of many relationships is being processed.
[0017] The present disclosure provides for entity relationship strength identification using spatio-temporal data. As described in more detail below, co-occurrence events can be obtained, such as based on information from one or more data sources. Each co-occurrence event identifies an event or occurrence where multiple entities co-occurred with one another. For example, each co-occurrence event may identify an occurrence where two or more entities were in a common location, such as within a threshold distance of one another, for at least a threshold time, or for any time. In some embodiments, each co-occurrence event may include the entities involved in the event, the duration of the event, one or more locations associated with the event (such as latitude and longitude or other location information for the entities or related points), and the time of the event (such as a start time and / or end time, and a date or other time-based information). Thus, co-occurrence events represent spatio-temporal data, meaning data associated with both different locations and different times. Here, a wide variety of data sources may be used to obtain the information used to generate the co-occurrence events or to otherwise obtain the co-occurrence events, and data sources can be added and removed as needed.
[0018] The co-occurring events are processed to identify relationships in which the entities are involved and the strength of those relationships. For example, to process the co-occurring events, various features may be identified using the co-occurring events, and these features may then be processed to identify relationships in which the entities are involved and the strength of those relationships. Any suitable features of the co-occurring events may be identified and used herein. Examples of co-occurring event features that may be identified and processed include the number of events involving different entities (event frequency), the proximity or distance between entities during an event, and the duration of the event. Depending on the implementation, these features may be determined for a single time period or multiple time periods. Examples of time frames used herein may include 7 days, 30 days, and / or 90 days. The identified co-occurring event features may also be scaled such that the feature values of those event features are expressed to a common scale or range, which may facilitate more effective aggregation of the identified co-occurring event features.
[0019] The identified co-occurrence event features may be processed in any suitable manner to identify relationships involving entities and the strength of those relationships. For example, the features may be weighted differently, combined, or otherwise processed, used as inputs to one or more machine learning models, analyzed using one or more statistical techniques, or used in any other suitable manner. The results of the feature analysis(s) may include a relationship score, which may be used as an indication of both (i) the identified relationships involving the specified entity, and (ii) the strength of the identified relationships. Because the analysis may be repeated over time (e.g., daily), this may allow a sequence of relationship scores to be determined for different entities over time.
[0020] The ability to identify the strength of relationships determined using spatio-temporal data can help provide more effective differentiation of various types of relationships between entities and provide better resolution of the relationships of those entities. The quantified relationships can also enable various downstream processing tasks, such as identifying key related entities given a specified entity of interest. In other words, the downstream processing task may be configured to identify, for a specified identified entity, which other entity(ies) have the key or strongest relationship with the specified identified entity. As a particular example, the quantified relationships can be used as input features to one or more machine learning models used in the downstream processing tasks.
[0021] FIG. 1 illustrates an exemplary system 100 supporting entity relationship strength identification using spatio-temporal data according to the present disclosure. For example, the illustrated system 100 may be used to identify relationships involving entities and the strength of those relationships, as described in more detail below. As illustrated in FIG. 1, the system 100 includes user devices 102a-102d, one or more networks 104, one or more application servers 106, and one or more database servers 108 associated with one or more databases 110. Each of the user devices 102a-102d communicates over the network 104, such as via wired or wireless connections. Each of the user devices 102a-102d represents any suitable device or system used by at least one user to provide or receive information, such as a desktop computer, a laptop computer, a smartphone, and a tablet computer. However, any other or additional types of user devices may be used in the system 100.
[0022] Network 104 facilitates communication between various components of system 100. For example, network 104 may communicate Internet Protocol (IP) packets, Frame Relay frames, Asynchronous Transfer Mode (ATM) cells, or other suitable information between network addresses. Network 104 may include one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), all or part of a global network such as the Internet, or other communication systems in one or more locations. In some cases, network 104 may represent a private or internal network used by an organization that is processing data for entity relationship strength identification.
[0023] The application server 106 is coupled to the network 104 and is coupled to or otherwise in communication with a database server 108. The application server 106 performs various operations to assist in entity relationship strength identification using spatio-temporal data. For example, the application server 106 may execute one or more applications 112 that can be used to implement techniques for entity relationship strength identification. Here, the one or more applications 112 can use data from the database 110 via the database server 108 and / or store data in the database during operation. It is noted that the database server 108 may also be used within the application server 106 to store information, in which case the application server 106 itself may store information used to support entity relationship strength identification. The results of the entity relationship strength identification operation may be used in any suitable manner. For example, the identified relationships involving the entities and the strengths of the relationships (or information based thereon) may be presented to one or more users, such as via one or more user devices 102a-102d.
[0024] The database server 108 operates to store and facilitate retrieval of various information used, generated, or collected by the application server 106 and the user devices 102a-102d in the database 110. For example, the database server 108 may store various information used to identify relationships in which entities are involved and the strength of those relationships. At least a portion of the data used to perform the entity relationship strength identification operations may be obtained via one or more external networks 114, such as the Internet. For example, one or more external data sources 116a-116n may be coupled to or otherwise communicate via the one or more external networks 114 and provide information to the application server 106 for use and / or to the database server 108 for storage in the database 110. The one or more external data sources 116a-116n may include any suitable number and type of data sources used in entity relationship strength identification, such as any suitable source of spatio-temporal data related to one or more entities.
[0025] Although Fig. 1 illustrates one example of an architecture 100 supporting entity relationship strength identification using spatio-temporal data, various modifications may be made to Fig. 1. For example, the system 100 may include any number of user devices 102a-102d, networks 104, 114, an application server 106, a database server 108, a database 110, and data sources 116a-116n. Moreover, these components may be located in any suitable location and may be distributed over a wide area. Additionally, although Fig. 1 illustrates one example operating environment in which entity relationship strength identification may be used, this functionality may be used in any other suitable system.
[0026] 2 illustrates an example device 200 supporting entity relationship strength identification using spatio-temporal data in accordance with the present disclosure. One or more instances of the device 200 may be used to, for example, at least partially implement the functionality of the application server 106 of FIG. 1. However, the functionality of the application server 106 may be implemented in any other suitable manner. In some embodiments, the device 200 illustrated in FIG. 2 may form at least a portion of the user devices 102a-102d, the application server 106, or the database server 108 of FIG. 1. However, each of these components may be implemented in any other suitable manner.
[0027] 2, device 200 illustrates a computing device or system that includes at least one processing device 202, at least one storage device 204, at least one communication unit 206, and at least one input / output (I / O) unit 208. Processing device 202 may execute instructions that may be loaded into memory 210. Processing device 202 may include any suitable number and type of processors or other processing devices in any suitable arrangement. Exemplary types of processing device 202 include one or more microprocessors, microcontrollers, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or discrete circuit configurations.
[0028] Memory 210 and persistent storage 212 are examples of storage device(s) 204, which represent any structure capable of facilitating the storage and retrieval of information, such as data, program code, and / or other suitable information, on a temporary or persistent basis. Memory 210 may represent random access memory, or any other suitable volatile or non-volatile storage device. Persistent storage 212 may include one or more components or devices that support long-term storage of data, such as read-only memory, a hard drive, a flash memory, an optical disk, or the like.
[0029] The communications unit 206 supports communication with other systems or devices. For example, the communications unit 206 may include a network interface card or a wireless transceiver that facilitates communication over a wired or wireless network, such as the networks 104, 114. The communications unit 206 may support communication over any suitable physical or wireless communication link.
[0030] I / O unit 208 allows for the input and output of data. For example, I / O unit 208 may provide a connection for user input through a keyboard, mouse, keypad, touch screen, or other suitable input device. I / O unit 208 may send output to a display, printer, or other suitable output device. Note, however, that if device 200 does not require local I / O, such as when device 200 represents a server or other device that can be accessed remotely, I / O unit 208 may be omitted.
[0031] Although Figure 2 illustrates one example of an architecture 200 supporting entity relationship strength identification using spatio-temporal data, various modifications may be made to Figure 2. For example, computing and communication devices and systems come in a wide variety of configurations, and Figure 2 does not limit the disclosure to any particular computing or communication device or system.
[0032] Figure 3 illustrates an example architecture 300 supporting entity relationship strength identification using spatio-temporal data in accordance with the present disclosure. For ease of explanation, the method 300 illustrated in Figure 3 is described as being implemented on or supported by the application server 106 in the system 100 illustrated in Figure 1, which may be implemented using one or more instances of the device 200 illustrated in Figure 2. However, the architecture 300 illustrated in Figure 3 may be implemented or supported in any suitable system on or by any other suitable device.
[0033] As shown in FIG. 3, the architecture 300 generally operates to receive and process spatio-temporal data in the form of co-occurrence events 302. The co-occurrence events 302 may be obtained in any suitable manner, such as from one or more data sources 116a-116n. Each co-occurrence event 302 identifies an occurrence in which multiple entities co-occurred with one another, such as when two or more entities were within a threshold distance of one another for at least a threshold time, or for any time. In some embodiments, each co-occurrence event 302 may include information identifying the entities involved in the event, the duration of the event, one or more locations associated with the event (such as latitude and longitude or other location information for the entities or associated points), and the time of the event (such as a start time and / or end time, as well as dates or other time-based information). It is noted that the co-occurrence events 302 associated with an entity may represent data associated with the entity itself and / or data associated with a mobile device (such as a mobile smart phone or laptop / tablet computer) or other device (such as a vehicle) associated with the entity. Also note that the location may represent the location of the entity itself or the location of the entity's device, or related locations such as points between entities, or points near the entity, or points around where the entity is located.
[0034] In some embodiments, the co-occurrence events 302 may be obtained via an API or other interface 304 and processed into a unified data format. The unified data format may represent a predefined format into which the co-occurrence events 302 may be arranged. As a particular example, the unified data format may use a specified data structure that includes fields for information such as entity identification, location of the event (such as latitude and longitude or other location information), and time of the event (such as start time and / or end time or date or other time-based information), as well as duration. Here, any suitable interface 304 may be used to obtain the co-occurrence events 302.
[0035] The data processing operations 306 are performed to analyze the co-occurrence events 302 to perform an entity relationship strength identification operation. An example of how the data processing operations 306 can be performed to identify relationships and relationship strengths is provided below. The results of the data processing operations 306 may be used in any suitable manner. In this particular example, the processing results (or information based on the processing results) may be provided to one or more analysts 308. As a particular example, the results of the data processing operations 306 may be provided via at least one graphical user interface presented by one or more user devices 102a-102d used by the analyst(s) 308.
[0036] It is noted that the functionality shown in or described with respect to FIG. 3 may be implemented in an electronic device, such as a computing device, in any suitable manner. For example, in some embodiments, at least some of the functionality shown in or described with respect to FIG. 3 may be implemented or supported using one or more software applications or other software instructions executed by one or more processing devices of the application server 106, the device 200, or other devices. In other embodiments, at least some of the functionality shown in or described with respect to FIG. 3 may be implemented or supported using dedicated hardware components. In general, the functionality shown in or described with respect to FIG. 3 may be performed using any suitable hardware or any suitable combination of hardware and software / firmware instructions.
[0037] Although Figure 3 illustrates an example of an architecture 300 that supports entity relationship strength identification using spatio-temporal data, various modifications may be made to Figure 3. For example, the identified relationships or relationship strengths may be used in any suitable manner.
[0038] 4-7 illustrate an exemplary device for supporting entity relationship strength identification using spatio-temporal data according to the present disclosure. For ease of explanation, the techniques illustrated in FIGS. 4-7 are described as being performed by an application server 106 in the system 100 illustrated in FIG. 1, which may be implemented using one or more instances of the device 200 illustrated in FIG. 2. As a specific example, the techniques illustrated in FIGS. 4-7 may be implemented as part of the data processing operation 306 in the architecture 300 illustrated in FIG. 3. However, the techniques illustrated in FIGS. 4-7 may be performed by any other suitable device and in any other suitable system.
[0039] 4, the feature identification process 400 receives input data 402 in the form of co-occurring events. The co-occurring events in the input data 402 may include events involving any suitable number of entities and occurring in any suitable range of locations. The co-occurring events in the input data 402 may also include events of various durations, and the co-occurring events in the input data 402 may span any suitable period of time. As a particular example, the co-occurring events in the input data 402 may represent the co-occurring events 302 described above.
[0040] Events in the input data 402 may be divided into or otherwise associated with one or more time periods 404. In this example, three time periods 404 are used: 7 days, 30 days, and 90 days. Thus, events in the input data 402 that occurred within the last 7 days are placed within or otherwise associated with a first time period 404, events in the input data 402 that occurred within the last 30 days are placed within or otherwise associated with a second time period 404, and events in the input data 402 that occurred within the last 90 days are placed within or otherwise associated with a third time period 404. Thus, the same event may be included in multiple time periods 404, and the number of events in each time period 404 will generally increase as the length of the time period 404 increases. However, it is noted that the number and duration of time periods 404 shown here are for illustrative purposes only. In general, any suitable number of time windows 404 may be used, and each time window 404 may be of any suitable duration. Also, note that the processing of co-occurring events may be performed iteratively over time, such that newer co-occurring events may be added to the time window 404 and older co-occurring events may be removed from the time window 404 as time progresses.
[0041] For each time window 404, a set of features 406 for co-occurring events within that time window 404 or that are otherwise associated with that time window 404 may be generated. Any suitable features of co-occurring events may be determined here for each time window 404. In this particular example, the features 406 include count features, entity distance features, and duration features. In some embodiments, these features 406 may be determined for pairs of entities identified as co-occurring with one another in the input data 402. In other cases, these features 406 may be determined for two or more entities identified as co-occurring with one another in the input data 402. This process effectively "featurizes" the co-occurring events in the input data 402 by generating features 406 that define the co-occurring events.
[0042] In this example, each count feature 406 identifies the number of co-occurring events (for two or more entities) that involve those entities within a specified time window 404 and have a specified duration or durations within a specified range. In this particular example, there are four count features 406: the number of co-occurring events within the time window 404 that have a duration less than a threshold (10 minutes), the number of co-occurring events within the time window 404 that have a duration between two other thresholds (10 minutes to 30 minutes), the number of co-occurring events within the time window 404 that have a duration between two other thresholds (30 minutes to 60 minutes), and the number of co-occurring events within the time window 404 that have a duration greater than a threshold (60 minutes). It is noted, however, that the number and types of count features, as well as the thresholds associated with the count features 406, may be varied as needed or desired.
[0043] Each entity distance feature 406 (for two or more entities) identifies a type of distance between the entities during a co-occurrence event involving the entities within the time window 404. In this particular example, there are two entity distance features 406: the minimum distance between the entities during a co-occurrence event involving the entities within the time window 404, and the average distance between the entities during a co-occurrence event involving the entities within the time window 404. It is noted, however, that the number and types of entity features 406 may vary as needed or desired.
[0044] Each duration feature 406 identifies (for two or more entities) a type of duration measurement associated with co-occurring events involving those entities within the time window 404. In this particular example, there are three duration features 406: the total duration of co-occurring events involving the multiple entities within the time window 404, the maximum duration of co-occurring events involving those entities within the time window 404, and the average duration of co-occurring events involving those entities within the time window 404. It is noted, however, that the number and types of duration features 406 may be varied as needed or desired.
[0045] Again, note that these features 406 can be determined for different combinations of entities (different pairs, groups, etc. of people) and for each time frame 404 used, and that the features 406 can be calculated iteratively over time (e.g., daily). As a result, these features 406 can be used to represent possible interactions of multiple entities with each other over time. Also note that these features 406 may be determined in any suitable manner. Additionally, note that explicit identification of values for these features 406 may or may not occur in any given implementation. For example, in some embodiments, these features 406 may be explicitly calculated and then processed as described below to identify entity relationships and relationship strengths. In other embodiments, the input data 402 itself (with or without division into time frames 404) may be directly processed, such as by one or more machine learning models, and used to identify entity relationships and relationship strengths.
[0046] One common problem with computed features 406 is that they often use different scales (such as frequency or counts, distance, and time) and may use different numerical ranges to identify feature values. As a result, it may be difficult to aggregate features 406 into a set of values that can be processed together and used to identify entity relationships and relationship strengths. For example, it may be difficult to weight and combine features 406 or otherwise use features 406 that use different scales and have values expressed across different numerical ranges. Therefore, feature values may be optionally preprocessed before further use in identifying entity relationships and relationship strengths.
[0047] One exemplary feature pre-processing technique is illustrated in FIG. 5, which shows that a scaling process 500 can take a set of feature values 502 determined for one of the features 406 using one of the time windows 404 and scale the feature values 502 to generate scaled feature values 504, where the feature values 502 are represented in a distribution in graph form, with the horizontal axis representing the feature values and the vertical axis representing the counts of the feature values 502 within the time window 404 having each value. Here, the feature values 504 are also represented in a distribution in graph form, with the horizontal axis representing the scaled feature values and the vertical axis representing the counts of the feature values 502 within the time window 404 having each scaled value. Here, the feature values 502 are scaled to have values between 0 and 1 (end points included).
[0048] The function used to scale the feature values 502 of each feature 406 may be defined in any suitable manner to provide a desired scaling of those feature values 502 to a specified range. For example, the scaling function may be linear, non-linear, parametric, or non-parametric. Also, different scaling functions may be used for different feature values 406 when the different feature values 406 use higher and lower values to indicate different levels of association. For example, some feature values 406 (e.g., count features and duration features) may indicate stronger associations involving entities when their values are higher and weaker associations involving entities when their values are lower. In contrast, other feature values 406 (e.g., entity distance features) may indicate stronger associations involving entities when their values are lower and weaker associations involving entities when their values are higher. Thus, the scaling applied to the values 502 of each feature 406 may be designed to support suitable modifications of those values 502. In some cases, the values 502 of all features 406 may be scaled so that higher values indicate stronger associations and lower values indicate weaker associations (or vice versa).
[0049] As a particular example of how scaling can be performed, it may be desirable to achieve improved resolution for a subset of the feature values 502 for one or more features 406. For example, it may be desirable to obtain improved resolution of the top 20% or other subset of the feature values 502 for the count and duration features 406, and to obtain improved resolution of the bottom 20% or other subset of the feature values 502 for the entity distance features 406. In these situations, the feature values 502 for the count and duration features 406 may be scaled such that the top 20% span a wider range of values (as the larger feature values 502 for these features 406 are most useful in identifying relationships and relationship strengths), and the feature values 502 for the entity distance features 406 may be scaled such that the bottom 20% span a wider range of values (as the smaller feature values 502 for these features 406 are most useful in identifying relationships and relationship strengths). In some embodiments, a scaling function that is applied to the feature values 502 of the count and duration features 406, or other features that are positively correlated with intensity, to generate scaled feature values 504 may be defined as follows: Feature score = 1 - 0.2 (特徴量値 / 80th) Here, feature value represents the scaled feature value 502, feature score represents the scaled feature value 504 generated for that feature value 502, and 80th represents the feature value 502 of that feature 406 at the 80th percentile of the associated feature 406. Thus, this approach ensures that the bottom 80% of feature values 502 for the count and duration features 406 account for 20% of the scaled feature values 504, while the top 20% of feature values 502 for the count and duration features 406 are distributed across 80% of the scaled feature values 504. The scaling function used with the entity distance features 406 or other features negatively correlated with strength may be defined as the inverse of the scaling function defined above, which may be done to redirect the entity distance features 406 such that larger scaled feature values 504 indicate stronger associations. Thus, in some embodiments, the scaling function that is applied to the feature values 502 of the entity distance features 406 to generate the scaled feature values 504 may be defined as follows: Feature score = 0.2 (特徴量値 / 80th) This allows the scaled feature values 504 for the entity distance features 406 to increase as the entity distance decreases, however, it is noted that these specified scaling functions are for illustration purposes only and other scaling functions can be used as needed or desired.
[0050] As mentioned above, the feature values 502 and 504 shown in Figure 5 may represent values determined for one of the features 406 in Figure 4 using input data 402 associated with one time frame 404. The process 500 shown in Figure 5 may be repeated for each feature 406 determined for each time frame 404 to scale all of the values 502 for each feature 406. Doing this for all features 406 helps align the ranges of values for the features 406, which may be combined or otherwise further processed to allow entity relationships and relationship strengths to be identified.
[0051] Again, note that explicit scaling of feature 406 values 502 may or may not occur in any given implementation. For example, in some embodiments, scaled feature values 504 may be explicitly determined and then processed, as described below, to identify entity relationships and relationship strengths. In other embodiments, the input data 402 itself or the features 406 and their feature values 502 themselves may be processed directly, such as by one or more machine learning models, and used to identify entity relationships and relationship strengths.
[0052] Once pre-processed or otherwise suitably obtained, the features 406 can be used to identify relationships and relationship strengths involving various entities. As noted above, there are various ways in which the values of the features 406 can be used to identify relationships and relationship strengths. For example, the scaled features 504 may be weighted differently, combined, or otherwise processed, used as inputs to one or more machine learning models, analyzed using one or more statistical techniques, or used in any other suitable manner. Some exemplary approaches for using the scaled feature values 504 to identify relationships and relationship strengths are illustrated in FIG. 6, which illustrates an exemplary feature analysis process 600.
[0053] In some embodiments, the feature analysis process 600 relies on determining weighted feature values to identify the strength of relationships in which the entities are involved. For example, as shown in FIG. 6, different weights 602 can be defined for each of the time frames 404 and / or different weights 604 can be defined for each of the different types of features 406. Note that these weights 602 and 604 are for illustrative purposes only and can vary as needed or desired. The weights 602 and 604 shown in FIG. 6 may be determined in any suitable manner. For example, the weights 602 and 604 can be set manually or based on a user configuration.
[0054] In this example, the scaled feature values 504 of the features 406 in each time frame 404 are weighted using appropriate weights 602, and the scaled feature values 504 of the different types of features 406 in each time frame 404 can also be weighted using appropriate weights 604. After weighting, the weighted feature values can be summed, processed using maximum, minimum, average, median, percentile, or other functions, or otherwise used to generate a final score 606, which in this example is plotted on a graph. In this particular example, the final scores 606 for pairs or groups of entities are plotted over time on a graph, with the total height of the plotted data for each day defining the total value of the final score 606 for that day. A larger final score 606 can indicate a stronger relationship, and a smaller final score 606 can indicate a weaker relationship. The graph also shows how the different types of features 406 contribute to each final score 606. Of course, the final scores 606 may be determined or presented in any other suitable manner. Note that the final graph score 606 is associated with a given entity pair or group, and that the final score 606 may be determined similarly for each of multiple entity pairs or groups.
[0055] In other embodiments, the final score 606 may be determined directly without reference to the explicit weights 602 and 604. For example, one or more machine learning models 608 may be used to process the input data 402, the feature values 502 of the features 406, the scaled feature values 504 of the features 406, and / or other data to generate the final score 608. In those embodiments, the one or more machine learning models 608 may be implemented in any suitable manner. For example, the one or more machine learning models 608 may be generated using semi-supervised learning and / or supervised learning with labeled training data, where the labeled training data is used to train the one or more machine learning models 608 to generate predictions (final score 606) based on the data provided to the models 608. The one or more machine learning models 608 may also be derived from an unsupervised approach, such as using anomaly detection. Here, one or more machine learning models 608 may be used to generate a suitable final score 606, which may or may not distinguish the contribution of different types of features 406 to the final score 606.
[0056] In yet other embodiments, calculations other than weighting processes can be used to generate the final score 606. These calculations may be used to process the input data 402, the feature values 502 of the features 406, the scaled feature values 504 of the features 406, and / or other data to generate the final score 608. As a particular example, the feature values 502 or 504, or other data, may be processed using one or more statistical techniques, such as percentiles, z-scores, p-values, or mean absolute deviation of a distribution, to identify the final score 606. Again, the final score 606 may or may not identify the contribution of different types of features 406 to the final score 606.
[0057] Regardless of how the final score 606 is determined, the final score 606 herein can be used as an indication of (i) whether a relationship involving two or more entities exists, and (ii) the strength of that relationship, if any. For example, a smaller final score 606 can indicate no relationship involving the entity or a weak relationship involving the entity, while a larger final score 606 can indicate a stronger relationship involving the entity. Additionally, because the final score 606 can be determined over time, the final score 606 can be used to measure trends over time, such as whether a relationship gets stronger or weaker over time, is cyclical, etc. In this manner, the architecture 300 can provide a quantitative measure of the strength of relationships involving various entities, which can be useful during various downstream processing tasks.
[0058] An overview of a process for generating a final score 606 using a weighting process is shown in FIG. 7. As shown in FIG. 7, feature values 502 can be generated for a number of features 406 in each of a number of time frames 404. Scaling can be performed to convert the feature values 502 of the features 406 into scaled feature values 504. For example, the scaled feature values 504 may be defined as percentages or other values in a scale ranging from 0 to 1. Weights 602 can be applied to the scaled feature values 504 to generate intermediate values 702, each intermediate value 702 being determined by applying different weights 602 to the scaled feature values 504 in different time frames 404. Weights 604 can be applied to the intermediate values 702 to generate a final score 606 for a given pair or group of entities. This can be repeated for any number of pairs or groups of entities to identify the strength of the involvement relationships for these entities. It is noted that it is also possible to calculate the final score 606 directly from the scaled feature values 504 using the weights 602 and 604 (without separately calculating the intermediate value 702). It is also noted that the final score 606 can be determined iteratively over time to generate multiple final scores 606 that identify the strength of the relationship over time.
[0059] Although Figures 4-7 show an example of a technique for entity relationship strength identification using spatio-temporal data, various modifications may be made to Figures 4-7. For example, the actual values (time frames, durations, feature values, feature value distributions, weights, final scores, etc.) used in Figures 4-7 may be readily varied based on the implementation and the specific input data being processed. Also, the graphs shown herein are for illustrative and descriptive purposes.
[0060] It is noted that while the embodiments using weighted processing of feature values have been described as using a common weight for all values of the same feature, it is also possible to weight values of the same feature differently depending on the circumstances. For example, it may be true that for event frequency features, more frequent occurrences involving entities may indicate a relationship involving those entities. However, there may be circumstances where this is not necessarily the case. As a specific example, two people who regularly visit the same coffee shop multiple times a week at roughly the same time each workday may simply represent two people who get coffee at the same place before work. However, two people who fly in from out of town and meet at the same coffee shop multiple times within the time frame 404 may be much more indicative of a relationship involving those people. Thus, it is possible to have different weights for the same type of feature value, and these weights may depend on other factors. The same or similar types of weighting adjustments may be used for any of the co-occurrence event features described above, and the weights may vary based on other factors not necessarily captured by the features themselves. In addition to, or instead of, weighting different values of the same feature differently depending on the circumstances, separate features may be used to distinguish between the co-occurring events described above, such as when one or more other features take into account the distance one or more entities traveled leading up to the co-occurring event and / or the distance one or more entities traveled following the co-occurring event.
[0061] FIG. 8 illustrates an example method 800 for entity relationship strength identification using spatio-temporal data according to the present disclosure. For ease of explanation, the method 800 illustrated in FIG. 8 is described as being performed using the application server 106 in the system 100 illustrated in FIG. 1, which may be implemented using one or more instances of the device 200 illustrated in FIG. 2. As a specific example, the method 800 illustrated in FIG. 8 may be implemented as part of the data processing operation 306 in the architecture 300 illustrated in FIG. 3. However, the method 800 illustrated in FIG. 8 may be performed in any other suitable system using any other suitable device.
[0062] 8, information identifying co-occurring events is obtained at step 802. This may include, for example, the processing device 202 of the application server 106 obtaining information from one or more data sources 116a-116n, where the information may represent co-occurring events involving any number of entities. At step 804, one or more time frames to use when analyzing the co-occurring events are identified. This may include, for example, the processing device 202 of the application server 106 identifying one or more time frames 404 to use when processing the co-occurring events.
[0063] At step 806, features of co-occurring events occurring within each time window are identified. This may include, for example, the processing device 202 of the application server 106 processing the input data 402 to identify feature 406 values 502 associated with the co-occurring events. As a particular example, this may include the processing device 202 of the application server 106 processing the input data 402 to identify counts, entity distances, and duration features of different pairs or groups of entities associated with the co-occurring events. At step 808, the feature values of the features may be scaled. This may include, for example, the processing device 202 of the application server 106 processing the feature values 502 of the various features 406 to (among other things) scale the feature values 502 to a common scale and generate scaled feature values 504 for those features 406.
[0064] At step 810, the feature values are used to identify a score associated with the strength of the relationships involving the entities. This may include, for example, the processing device 202 of the application server 106 weighting the feature values 502 or 504 differently and combining or otherwise processing the weighted feature values, providing the feature values 502 or 504 as inputs to one or more machine learning models 608, analyzing the feature values 502 or 504 using one or more statistical techniques, or processing the feature values 502 or 504 in any other suitable manner to generate a final score 606. The final score 606 may be used as an indication of whether relationships exist involving a given entity and the strength of those relationships.
[0065] At step 812, the scores may be stored, output, or used in some manner. This may include, for example, the processing device 202 of the application server 106 including one or more of the final scores 606 in a graphical user interface or report. This may additionally or alternatively include providing at least one of the final scores 606 to a downstream processing task, such as a task of identifying the primary or strongest entity relationships associated with the specified entity. Additionally or alternatively, it may include storing the final scores 606 in the database 110 for further processing. In general, the final scores 606 or other indicators of relationship strength may be used in any suitable manner.
[0066] FIG. 8 illustrates an example of a method 800 for entity relationship strength identification using spatio-temporal data, although various modifications may be made to FIG. 8. For example, while shown as a series of steps, various steps in FIG. 8 may overlap, occur in parallel, occur in different orders, or occur any number of times. As a particular example, various steps may be repeated over time to calculate multiple scores for the same entity over time. Also, as noted above, some embodiments of the present disclosure may process the input data 402 directly, process the feature values 502 without scaling, or process the data to identify relationship strength in other ways, in which case various steps in FIG. 8 may be omitted or modified.
[0067] It is noted that, although in some examples above it may be assumed that the described approach is used to identify relationships and relationship strengths involving different people, the same or similar types of processing may be performed to identify relationships and relationship strengths involving different groups or other collections of people. For example, it is possible to identify relationships and relationship strengths involving different individuals, identify individuals associated with different groups, and combine final scores associated with any relationships involving different groups of people. This may be done to provide an indication of the strength of relationships involving different groups.
[0068] Below, an exemplary embodiment of the present disclosure for implementing entity relationship strength identification using spatio-temporal data is described, although other embodiments may be used in accordance with the teachings of the present disclosure.
[0069] In a first embodiment, a method includes obtaining information associated with a plurality of co-occurring events. Each co-occurring event is associated with an occurrence of a plurality of entities co-occurring with one another. The information associated with each co-occurring event identifies an entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event. The method also includes identifying strengths of different relationships involving different ones of the entities based on the information. The strengths are determined using one or more features of the co-occurring events.
[0070] In a second embodiment, an apparatus includes at least one processing device configured to obtain information associated with a plurality of co-occurring events. Each co-occurring event is associated with an occurrence of a plurality of entities co-occurring with one another. The information associated with each co-occurring event identifies an entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event. The at least one processing device is also configured to identify, based on the information, strengths of different relationships involving different ones of the entities. The strengths are based on one or more features of the co-occurring events.
[0071] In a third embodiment, a non-transitory computer-readable medium stores computer-readable program code that, when executed, causes one or more processors to obtain information associated with a plurality of co-occurring events. Each co-occurring event is associated with an occurrence of a plurality of entities co-occurring with one another. The information associated with each co-occurring event identifies an entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event. The medium also stores computer-readable program code that, when executed, causes the one or more processors to identify, based on the information, strengths of different relationships involving different ones of the entities. The strengths are based on one or more features of the co-occurring events.
[0072] Any single one or any suitable combination of the following features may be used with the first, second or third embodiment. The one or more features of the co-occurring events may include one or more of: (i) one or more count features associated with one or more frequencies or numbers of co-occurring events involving particular ones of the entities; (ii) one or more distance features associated with one or more distances between the specified entities in the co-occurring events; and (iii) one or more duration features associated with one or more lengths of co-occurrences involving the specified entities in the co-occurring events. The one or more features of the co-occurring events may be identified for each of the one or more time frames, and the strength of the different relationships may be determined using the one or more features of the co-occurring events in the one or more time frames or may be based on the one or more features of the co-occurring events in the one or more time frames. At least one feature value of the one or more features may be scaled, and the strength of the different relationships may be determined using the scaled at least one feature value of the one or more features or may be based on the scaled at least one feature value of the one or more features. At least one feature value of the one or more features may be scaled such that feature values of all features span a common range of values, a first feature value of the one or more features may use a lower value to identify weaker associations involving the entity and a higher value to identify stronger associations involving the entity, a second feature value of the one or more features may use a lower value to identify stronger associations involving the entity and a higher value to identify weaker associations involving the entity, and the value of one of the first feature value and the second feature value may be scaled to reverse the values representing stronger and weaker associations involving the entity.The strengths of the different relationships may be identified by (i) determining, for each relationship, an aggregation of feature values associated with the entities involved in that relationship, (ii) using at least one machine learning model trained to identify the strengths of the relationships, and / or (iii) using one or more statistical calculations to identify the strengths of the relationships. The strengths of the different relationships may be identified by determining, for each relationship, an aggregation of feature values associated with the entities involved in that relationship, where unequal weights are associated with each of the feature values of at least one of the one or more features of the co-occurring events. At least one of the one or more features may be associated with a distance an entity has traveled relative to or from the co-occurring event.
[0073] In some embodiments, various functions described in this patent document are implemented or supported by a computer program formed from computer readable program code and embodied in a computer readable medium. The phrase "computer readable program code" includes any type of computer code, including source code, object code, and executable code. The phrase "computer readable medium" includes any type of medium accessible by a computer, such as read only memory (ROM), random access memory (RAM), hard disk drive (HDD), compact disk (CD), digital video disk (DVD), or any other type of memory. "Non-transitory" computer readable medium excludes wired, wireless, optical, or other communication links that transfer transient electrical or other signals. Non-transitory computer readable medium includes media that can store data permanently and media that can store data and be later overwritten (such as rewritable optical disks, erasable storage devices, etc.).
[0074] It may be advantageous to provide definitions of certain words and phrases used throughout this patent document. The terms "application" and "program" refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, associated data, or portions thereof adapted for implementation in suitable computer code (including source code, object code, or executable code). The term "communicate" as well as its derivatives encompass both direct and indirect communication. The terms "include" and "comprise" as well as their derivatives imply an open-ended inclusion. The term "or" is inclusive and means "and / or". The phrase "associated" as well as its derivatives may mean include, included within, interconnected, contain, included in, connected to or with, coupled to or with, communicable with, cooperate with, interleave, juxtapose, adjacent to, associated with or with, having, having the property of, relating to or with, and the like. When used in conjunction with a list of items, the phrases "at least one" and "one or more" mean that different combinations of one or more of the listed items may be used, and only one item in the list may be required. For example, "at least one of A, B, and C" includes any of the combinations A, B, C, A and B, A and C, B and C, and A, B, and C.
[0075] The statements in this disclosure should not be read as suggesting that any particular element, step, or function is an essential or critical element that must be included in the scope of the claims. The scope of patented subject matter is defined solely by the allowed claims. Moreover, no claim is subject to 35 U.S.C. 112(f) unless the precise words "means for" or "step for" followed by a molecular phrase identifying the function are expressly used in a particular claim with respect to any of the appended claims or claim elements. The use of terms such as (but not limited to) "mechanism," "module," "device," "unit," "component," "element," "member," "apparatus," "machine," "system," "processor," "controller," and the like in the claims are understood and intended to refer to structures known to those skilled in the relevant art as further modified or enhanced by the features of the claims themselves, and are not intended to be subject to 35 U.S.C. 112(f).
[0076] While this disclosure has described certain embodiments and generally associated methods, modifications and permutations of these embodiments and methods will be apparent to those skilled in the art. Thus, the above description of exemplary embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are possible without departing from the spirit and scope of this disclosure, as defined by the following claims.
Claims
1. obtaining information associated with a plurality of co-occurring events, each co-occurring event being associated with an occurrence of a plurality of entities co-occurring with one another, the information associated with each co-occurring event identifying the entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event; and identifying strengths of different relationships involving different ones of the entities based on the information, the strengths being determined using one or more features of the co-occurring events.
2. The one or more features of the co-occurring events are one or more count features associated with one or more frequencies or numbers of co-occurrence events involving specified ones of the entities; one or more distance features associated with one or more distances between the specified entities in the co-occurrence event; and one or more duration features associated with one or more lengths of co-occurrences involving the specified entities in the co-occurrence event.
3. identifying, for each of one or more time periods, the one or more features of the co-occurring events; The method of claim 2 , wherein the strengths of the different relationships are determined using the one or more features of the co-occurring events during the one or more time windows.
4. scaling at least one feature value of the one or more features; The method of claim 1 , wherein the strength of the different relationships is determined using a scaled value of the at least one feature of the one or more features.
5. 5. The method of claim 4, wherein scaling the feature values comprises scaling the at least one feature value of the one or more feature values such that feature values of all feature values span a common range of values.
6. a first feature of the one or more features having a lower value for identifying a weaker association involving the entity and a higher value for identifying a stronger association involving the entity; a second feature of the one or more features having a lower value for identifying a stronger association involving the entity and a higher value for identifying a weaker association involving the entity; 5. The method of claim 4, wherein scaling the feature values comprises scaling feature values of one of the first feature and the second feature to invert the values representing stronger and weaker associations involving entities.
7. The method of claim 1 , wherein identifying the strengths of the different relationships comprises determining, for each relationship, an aggregation of feature values associated with the entities involved in that relationship.
8. The method of claim 1 , wherein identifying the strengths of the different relationships comprises using at least one machine learning model trained to identify the strengths of the relationships.
9. The method of claim 1 , wherein identifying the strengths of the different relationships comprises using one or more statistical calculations to identify the strengths of the relationships.
10. A device at least one processing device, the at least one processing device comprising: obtaining information associated with a plurality of co-occurring events, each co-occurring event being associated with an occurrence of a plurality of entities co-occurring with one another, the information associated with each co-occurring event identifying the entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event; and identifying strengths of different relationships involving different ones of the entities based on the information, the strengths being based on one or more features of the co-occurring events.
11. The one or more features of the co-occurring events are one or more count features associated with one or more frequencies or numbers of co-occurrence events involving specified ones of the entities; one or more distance features associated with one or more distances between the specified entities in the co-occurrence event; and one or more duration features associated with one or more lengths of co-occurrences involving the specified entities in the co-occurrence event.
12. The at least one processing device is further configured to identify, for each of one or more time periods, the one or more features of the co-occurring events; 12. The apparatus of claim 11, wherein the at least one processing device is configured to determine the strength of the different relationships using the one or more features of the co-occurring events during the one or more time periods.
13. The at least one processing device is further configured to scale at least one feature value of the one or more features; 11. The apparatus of claim 10, wherein the at least one processing device is configured to determine the strength of the different relationships using a scaled value of the at least one feature of the one or more features.
14. 14. The apparatus of claim 13, wherein the at least one processing device is configured to scale a feature value of at least one of the one or more features such that feature values of all features span a common range of values.
15. a first feature of the one or more features having a lower value for identifying a weaker association involving the entity and a higher value for identifying a stronger association involving the entity; a second feature of the one or more features having a lower value for identifying a stronger association involving the entity and a higher value for identifying a weaker association involving the entity; 14. The apparatus of claim 13, wherein the at least one processing device is configured to scale feature values of one of the first feature and the second feature to invert the values representing stronger and weaker associations involving entities.
16. To identify the strengths of the different relationships, the at least one processing device further comprises: determining, for each relationship, an aggregation of feature values associated with the entities involved in that relationship; using at least one machine learning model trained to identify the strength of the relationship; and using one or more statistical calculations to identify the strength of the relationship.
17. When executed, the program causes one or more processors to obtaining information associated with a plurality of co-occurring events, each co-occurring event being associated with an occurrence of a plurality of entities co-occurring with one another, the information associated with each co-occurring event identifying the entity associated with the co-occurring event, a duration of the co-occurring event, one or more locations associated with the co-occurring event, and a time associated with the co-occurring event; and identifying, based on the information, strengths of different relationships involving different ones of the entities, the strengths being based on one or more features of the co-occurrence events.
18. The one or more features of the co-occurring events are one or more count features associated with one or more frequencies or numbers of co-occurrence events involving specified ones of the entities; one or more distance features associated with one or more distances between the specified entities in the co-occurrence event; and one or more duration features associated with one or more lengths of co-occurrences involving the specified entities in the co-occurrence event.
19. further storing computer readable program code that, when executed, causes the one or more processors to identify, for each of one or more time periods, one or more features of the co-occurring events; 20. The non-transitory computer-readable medium of claim 18, wherein the strengths of the different relationships are based on the one or more features of the co-occurring events during the one or more time periods.
20. further storing computer readable program code that, when executed, causes the one or more processors to scale at least one feature value of the one or more features; 20. The non-transitory computer-readable medium of claim 17, wherein the strength of the different relationship is based on a scaled value of the at least one feature of the one or more features.
21. The computer readable program code that, when executed, causes the one or more processors to scale the feature values, comprises:
21. The non-transitory computer readable medium of claim 20, comprising computer readable program code that, when executed, causes the one or more processors to scale a feature value of at least one of the one or more feature values such that the feature values of all feature values span a common range of values.
22. a first feature of the one or more features having a lower value for identifying a weaker association involving the entity and a higher value for identifying a stronger association involving the entity; a second feature of the one or more features having a lower value for identifying a stronger association involving the entity and a higher value for identifying a weaker association involving the entity; The computer readable program code that, when executed, causes the one or more processors to scale the feature values, comprises:
21. The non-transitory computer readable medium of claim 20, comprising computer readable program code that, when executed, causes the one or more processors to scale feature values of one of the first feature and the second feature to invert the values representing stronger and weaker associations involving entities.
23. The computer readable program code that, when executed, causes the one or more processors to identify the strengths of the different relationships, comprises: computer readable program code that, when executed, causes the one or more processors to determine, for each relationship, an aggregation of feature values associated with the entities involved in that relationship; computer readable program code that, when executed, causes the one or more processors to use at least one trained machine learning model to identify the strength of the relationship; and computer readable program code that, when executed, causes the one or more processors to use one or more statistical calculations to identify the strength of the relationship.
24. The computer readable program code that, when executed, causes the one or more processors to identify the strengths of the different relationships, comprises: computer readable program code that, when executed, causes the one or more processors to determine, for each relationship, an aggregation of feature values associated with the entities involved in that relationship; 20. The non-transitory computer-readable medium of claim 17, wherein unequal weights are associated with each of at least one feature value of the one or more features of the co-occurring events.
25. 20. The non-transitory computer-readable medium of claim 17, wherein at least one of the one or more features is associated with a distance an entity has traveled relative to or from a co-occurring event.