Progressive collocations for real-time conversation
The Copus Link model addresses the issue of ambiguous search results in collaborative communication by generating relevant words based on linguistic co-occurrence analysis, enhancing search relevance and user engagement.
Patent Information
- Application Number
- JP2022514982
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-09-11
- Filing Date
- 2020-09-01
- Publication Date
- 2025-02-04
- Estimated Expiration
- 2040-09-01
AI Technical Summary
Collaborative communication applications suffer from inaccurate and ambiguous search results due to the reliance on generalized probability models that fail to account for the specific linguistic tendencies of users within channels or sub-channels, leading to inefficient information retrieval and hinder effective communication.
A computer-implemented Copus Link model trained on linguistic co-occurrence analysis and author standards is used to generate optimal sets of linked words within the structure of collaborative chat search, improving search relevance by generating co-occurrence ratings for colloquies and displaying the most relevant words.
Enhances the clarity and efficiency of collaborative communication by providing accurate and relevant search results, reducing clutter, and improving user participation through better search engine optimization and metadata tagging.
Smart Images

Figure 0007626555000001 
Figure 0007626555000002 
Figure 0007626555000003
Abstract
Description
[Technical field]
[0001] The present invention relates generally to the field of communications, and more specifically to real-time communications applications. [Background technology]
[0002] The increasing development and proliferation of today's collaborative communication applications and suites within organizations, groups, and enterprises has dramatically impacted the need for accurate, reliable, and accurate search term generation and application. Modern collaborative communication suites and applications typically have multiple chat rooms and channels, each dedicated to a topic, motif, discipline, subject, or purpose. Although solutions exist for determining related terms, such as probabilistic search, adaptive learning search, and corpus linguistic analysis methods, these solutions are entirely ineffective because they rely on generalized probability models that use incomplete sentences, phrasing, and vague terms that lead to ambiguous and irrelevant search results. Furthermore, the above solutions do not generate specific tolerances or assumptions about the linguistic tendencies and dispositions of specific users within multiple channels or sub-channels within a collaborative communication application.
[0003] Collaborative software or groupware is application software designed to help multiple individuals involved in a common task achieve one or more goals. In terms of the level of interaction, collaborative software can be divided into: real-time collaborative editing (RTCE) platforms that allow multiple users to participate in the live, simultaneous, and reversible editing of a single file, and version control (e.g., revision control and source control) platforms that allow different users to edit a file in parallel while keeping each saved edit as multiple files. Collaborative software is a broad concept that overlaps considerably with computer-supported cooperative work (CSCW). Collaborative work systems have become a useful analytical tool for understanding the behavioral and organizational variables related to the broad concept of CSCW.
[0004] Recurrent neural networks (RNNs) are a class of artificial neural networks in which the connections between nodes form a sequence-directed graph, allowing the network to behave dynamically over time with respect to temporal sequences. Unlike feed-forward neural networks, RNNs can process input sequences using an internal state (memory), allowing RNNs to be applied to tasks such as handwriting input or speech recognition in a non-linear manner. Long short-term memory (LSTM) units are alternative layer units in recurrent neural networks (RNNs). An RNN composed of LSTM units is referred to as an LSTM network. A common LSTM unit comprises a cell, an input gate, an output gate, and a forget gate. Cell members evaluate over any time interval, and the gate regulates the flow of information into and out of the cell. Gated recurrent units (GRUs) are the gating mechanism in recurrent neural networks. GRU performance for counterpoint music modeling and speech signal modeling has been found to be similar to LSTMs. However, GRUs perform better on smaller data sets.
[0005] Collaborative services are ubiquitous in modern organizations, allowing multiple individuals and groups to hold multiple simultaneous discussions in real time. With respect to collaborative services and applications, real-time chat is the primary method of communication for many organizations. Collaborative chat applications are used by members of a team, organization, or company, or combinations thereof, to identify, diagnose, and fix problems and incidents. For example, software development teams or support staff use collaborative chat applications to identify problematic sections of code and discuss possible solutions (e.g., alternative code structures, etc.). In this example, different software or support groups can have differentiated channels or sub-channels dedicated to specific incidents or problems.
[0006] When generic search term generation and computation is applied to dedicated channels or chat rooms within real-time collaboration applications, it allows for ineffective collocated terms that are misapplied, irrelevant, and ambiguous, preventing others from discovering relevant information related to the channel or chat room, and preventing others from communicating with each other and effectively participating in meaningful conversations. Traditionally, word generation systems are ineffective in enabling users the ability to provide an optimal set of linked terms within the structure of a collaborative chat search. Furthermore, ineffective traditional systems attempt to disambiguate the meaning of the analyzed communication using techniques that place words, positions, and grammar into a fixed hierarchical structure, and use the fixed hierarchical structure to filter search results. Commonly, hierarchical structures are known to perform poorly when generalized outside the scope of the initial communication (e.g., to different groups of people, topics, or channels). Summary of the Invention
[0007] A first aspect of the present invention discloses a computer-implemented method including one or more computer processors for training a corpus linking model based on an analysis of a linguistic corpus and an analysis of one or more author criteria. The one or more computer processors generate one or more collocated words based on one or more calculations by the trained corpus linking model. The one or more computer processors generate a co-occurrence rating for each of the one or more collocated words. The one or more computer processors display the one or more generated collocated words according to the generated co-occurrence rating of each collocated word. An embodiment of the present invention uses a model trained based on a particular corpus to generate generalized collocated words to enable display of an optimal set of linked words within the structure of a collaborative chat search.
[0008] A second aspect of the present invention discloses a computer-implemented method including one or more computer processors for training a corpus linking model based on an analysis of a linguistic corpus and an analysis of one or more author criteria. The one or more computer processors generate one or more collocated words based on one or more calculations by the trained corpus linking model. The one or more computer processors generate a co-occurrence rating for each of the one or more collocated words. The one or more computer processors tag one or more web pages according to the generated co-occurrence rating for each collocated word. An embodiment of the present invention uses a model trained based on a particular corpus to generate generalized collocated words to enable display of an optimal set of linked words within the structure of a collaborative chat search.
[0009] A third aspect of the present invention discloses a computer program product including one or more computer readable storage devices and program instructions stored on the one or more computer readable storage devices. The stored program instructions include program instructions for training a corpus linking model based on an analysis of a linguistic corpus and an analysis of one or more author criteria. The stored program instructions include program instructions for generating one or more collocates based on one or more calculations by the trained corpus linking model. The stored program instructions include program instructions for generating a co-occurrence rating for each of the one or more generated collocates. The stored program instructions include program instructions for displaying the one or more collocates according to the co-occurrence rating of each generated collocate. An embodiment of the present invention uses a model trained based on a particular corpus to generate generalized collocates to enable display of an optimal set of linked words within the structure of a collaborative chat search.
[0010] A fourth aspect of the present invention discloses a computer system including one or more computer processors and one or more computer readable storage devices, where program instructions are stored on the one or more computer readable storage devices for execution by the one or more computer processors. The stored program instructions include program instructions for training a corpus linking model based on an analysis of a linguistic corpus and an analysis of one or more author criteria. The stored program instructions include program instructions for generating one or more collocates based on one or more calculations by the trained corpus linking model. The stored program instructions include program instructions for generating a co-occurrence rating for each of the one or more generated collocates. The stored program instructions include program instructions for displaying the one or more collocates according to the co-occurrence rating of each generated collocate. An embodiment of the present invention uses a model trained based on a particular corpus to generate generalized collocates to enable display of an optimal set of linked words within a collaborative chat search configuration. The following embodiments of the invention are explained in more detail, by way of example, with reference to the drawings, in which: [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a functional block diagram illustrating a computing environment according to an embodiment of the present invention; [Diagram 2] 2 is a flowchart illustrating the operational steps of a program on a server computer in the computing environment of FIG. 1 for training a corpus linking model and generating collocated words for intra-channel and inter-channel in accordance with an embodiment of the present invention. [Figure 3A] FIG. 3A shows an example implementation 300 illustrating a collaborative real-time communication session, according to an embodiment of the present invention. [Figure 3B]FIG. 3B shows an example 350 illustrating a collaborative real-time communication session, according to an embodiment of the present invention. [Figure 4] FIG. 4 is a block diagram of components of a server computer that executes programs according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Embodiments of the present invention recognize that collaborative environments can cause problems such as clutter and browseability. Some embodiments of the present invention recognize that collocates and colligate words provide reduced clutter and improved browseability. Embodiments of the present invention improve collaborative systems by training one or more models based on a particular language and conversations within a channel, sub-channel, chat room, group, or application, and using the trained models to generate collocates and colligate words. Embodiments of the present invention improve collaborative systems by improving the training models and the ability to effectively recognize and generate collocates and colligate words. Embodiments of the present invention enable the generated collocates and colligate words to be used in search, particularly search term recommendations. Embodiments of the present invention enable the generated collocates and colligate words to be used in tagging content, topics, and files. Embodiments of the present invention use the generated collocates and colligate words to generate efficient search engine optimization tags and metadata.
[0013] An embodiment of the present invention uses the generated collocates and colligate words (e.g., used to create search collocations of chat conversations) in a content management system to help understand which words are the most likely searches. An embodiment of the present invention uses the generated collocates and colligate words for tagging or titling content, which will improve searchability and reduce clutter. An embodiment of the present invention models location trends from one location to another and uses the model to add weights to interactions at a point in time. An embodiment of the present invention generates a predictive progressive collocation group model based on previous storage of similar groups on topical matters. An embodiment of the present invention performs group-level profiling, allowing the present invention to generate terms based on linguistic patterns and content for similar words. An embodiment of the present invention uses the progressive collocation group model to predict incremental changes in patterns and evolution of search terms based on group activity (e.g., software support team). Embodiments of the present invention recognize that system efficiency (e.g., reduced system processing demands such as memory and central processing unit utilization) can be improved by eliminating the generation of uncommon or unlikely collocates. No techniques exist that combine corpus linguistic analysis with author frequency analysis to produce solutions with the fidelity that the present invention provides for the problem space. Implementations of embodiments of the present invention may take a variety of forms, and exemplary implementation details are subsequently discussed with reference to the drawings.
[0014] The invention will now be described in detail with reference to the drawings.
[0015] FIG. 1 is a functional block diagram illustrating a computing environment generally at 100, according to one embodiment of the present invention. As used herein, the term "computational" describes a computing system that includes multiple physically separate devices that operate together as a single computing system. FIG. 1 provides only an illustration of one implementation and is not intended to imply any limitations regarding the environments in which different embodiments may be implemented. Many modifications to the illustrated environment may be made by one of ordinary skill in the art without departing from the scope of the present invention, as recited in the claims.
[0016] The computing environment 100 includes a client computing device 110 and a server computer 120 interconnected over a network 102. The network 102 can be, for example, a telecommunications network, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the three, and can include wired, wireless, or fiber optic connections. The network 102 can include one or more wired or wireless networks, or both, capable of receiving and transmitting data, voice, or video signals, including multimedia signals including voice, data, and video information, or a combination thereof. In general, the network 102 can be any combination of connections and protocols that support communication between the client computing device 110, the server computer 120, and other computing devices (not shown) in the computing environment 100. In various embodiments, network 102 may operate locally, over wired, wireless or optical connections, and may be any combination of connections and protocols (e.g., personal area network (PAN), near field communication (NFC), laser, infrared, ultrasonic, etc.).
[0017] The client computing device 110 may be any electronic device or computing system capable of processing program instructions and transmitting and receiving data. In some embodiments, the client computing device 110 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of communicating with the network 102. In other embodiments, the client computing device 110 may represent a server computing system that uses multiple computers as server systems, such as in a cloud computing environment. In general, in accordance with embodiments of the present invention, the client computing device 110 represents any electronic device or combination of electronic devices capable of executing machine-readable program instructions, as will be described in more detail in view of FIG. 4. The client computing device 110 includes a user interface 112 and an application 114.
[0018] A user interface 112 is a program that provides an interface between a user of a client computing device 110 and multiple applications (e.g., applications 114) that reside on the client computing device 110 and / or can be accessed over the network 102. A user interface, such as user interface 112, refers to the information (e.g., graphical, textual, audio) that a program presents to the user and the control sequences that the user uses to control the program. There are various types of user interfaces. In one embodiment, the user interface 112 is a graphical user interface. A graphical user interface (GUI) is a type of interface that allows a user to interact with peripheral devices (i.e., external computer hardware that provides input and output for a computing device, such as a keyboard and mouse) through graphical icons and visual indicators, as opposed to a text-based interface, typed command labels, or text navigation. GUI actions are often implemented through direct manipulation of graphical elements. In an embodiment, the user interface 112 sends and receives information to a user program 150 through applications 114.
[0019] Applications 114 are a set of one or more programs (e.g., a word processing program, a spreadsheet program, a media player, a web browser) designed to perform operations for a particular application to assist a user in performing an activity. In the illustrated embodiment, applications 114 are a set of one or more programs designed to facilitate group communication, collaborative problem solving, and joint activities. In this embodiment, applications 114 include multiple channels, chat rooms, or segmented communication groups, where each channel is dedicated to a particular topic or category of discussion. In the illustrated embodiment, applications 114 reside on client computing device 110. In another embodiment, applications 114 reside on server computer 120 or another device (not shown) connected over network 102.
[0020] The server computer 120 may be a standalone computing device, an administration server, a web server, a mobile computing device, or any other electronic device or computing system capable of receiving, transmitting, and processing data. In another embodiment, the server computer 120 represents a server computing system using multiple computers, such as a server system, such as a cloud computing environment. In another embodiment, the server computer 120 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of communicating with the client computing devices 110 and other computing devices (not shown) in the computing environment 100 via the network 102. In another embodiment, the server computer 120 represents a computing system using clustered computers and components that operate as a single pool of resources that are seamless when accessed by the computing environment 100 (e.g., database server computers, application server computers, etc.). In the illustrated embodiment, server computer 120 includes database 122 and program 150. In other embodiments, server computer 120 may include other applications, databases, etc. not shown in computing environment 100. Server computer 120 may include internal and external hardware components as shown and described in further detail in connection with FIG.
[0021] The database 122 is a repository of data used by the program 150. In the described embodiment, the database 122 resides on the server computer 120. In another embodiment, the database 122 resides on the client computing device 110 or anywhere in the computing environment 100 where the provided program 150 has access to the database 122. The database 122 is an organized collection of data. The database 122 can be implemented on any type of storage device, such as a database server, a hard disk, or flash memory, that can store data and configuration files that can be accessed and used by the program 150. In an embodiment, the database 122 stores data used by the program 150, such as a linguistic corpus 124, which is described in more detail below. In the illustrated embodiment, the database 122 includes the linguistic corpus 124 and a corpus linking model (CLM) 126.
[0022] Linguistic corpus 124 is a repository for multiple text-based corpora (i.e., natural language representations of auditory conversations, conversational vocabulary, text sequences, computer-encoded sequences, etc.). In an embodiment, linguistic corpus 124 includes one or more historical queries, communications, statements, discussions, comments, and words of one or more authors, individuals, or groups, or combinations thereof. In another embodiment, linguistic corpus 124 includes historical collocates and collocate words, their associated topics, and their associated author criteria (e.g., author-topic mappings, channel frequency, time boundaries and considerations (e.g., first / last post, average time of day for posting), author posting frequency, average post length, average post view level, frequency of word / phrase usage, etc.). In an embodiment, the historical communications are categorized, organized, or structured, or combinations thereof, in association with a particular author, individual, channel, subchannel, chat room, or group. For example, all historical communications contained within a particular channel are structured and partitioned from one another. In various embodiments, the information contained in the linguistic corpus 124 is structured temporally. For example, the information may be restricted or limited in consideration of a time period (e.g., discussions within the last month). In another embodiment, the information is limited to a particular group, author, or topic (e.g., discussions of a particular query, topic, genre, problem, event, solution, etc.).
[0023] In an embodiment, the linguistic corpus 124 includes raw communications, discussions, and words. In another embodiment, the linguistic corpus 124 can include a set of vectors corresponding to a number of determined features, including, but not limited to, authors, groups, topics, identified problems and their associated solutions, sets of related topics / queries, technical disciplines (e.g., computer science, mechanics, biology, chemistry, etc.), programming conventions (e.g., programming languages, programming language categories (e.g., strong type, object oriented, procedural, etc.), and temporal events (e.g., subsets bounded by pre-determined intervals (e.g., all communications in the last year related to a particular topic or channel), software life cycles (e.g., software decay, etc.), etc.).
[0024] In various embodiments, the linguistic corpus 124 includes a collection of queries (e.g., related topics) and collocate and colligate word pairs (e.g., additional search query terms). Each pair includes a query and a corresponding collocation and colligation word or sequence. The query word or sequence can be a textual word or sequence in a natural language or a computer-generated expression. For example, the query (e.g., topic) “allergy” is paired with the collocate and colligate words “acute” and “concern” to form the complete query sequence / phrase “acute allergy concern”. In another embodiment, channel specific statistics such as historical topics, authors, related collocates, related colligate words, and related search terms are included as features. In another embodiment, author criteria are attached as features to topic words. In a further embodiment, author criteria specific to a channel or communication medium (e.g., a chat application, a channel, a subchannel, a chat room, or an environment) are attached as features to topic words. In various embodiments, a set of query / collocate terms includes its associated communications, discussions, topics, comments, or statements, or combinations thereof, in either structured or unstructured form. In another embodiment, collocate terms and collocate terms are converted into labels and attached to one or more of its associated query or topic terms. In yet another embodiment, a predetermined, historical, or generated, or combination thereof, rating of the validity of the collocate terms is attached as a feature, label, or expected output to a set of one or more topics. In an embodiment, the linguistic corpus 124 can be represented as a graph database, where communications, disclosures, or discussions, or combinations thereof, are stored in relationship to authors, queries, or topics to form a sequence of similar query / topic / communications and channel / author combinations (e.g., a collaborative author graph).
[0025] Corpus Link Model (CLM) 126, hereafter referred to as CLM 126, includes one or more models, containers, documents, subdocuments, matrices, vectors, and associated data, and models a set of one or more features, such as results from linguistic analysis. In an embodiment, the linguistic analysis computes query characterizations and expressions, collocate word associations, authorship criteria, and inter-arrival times of posting frequency. In an embodiment, CLM 126 includes one or more generative (e.g., Latent Dirichlet Allocation (LDA)), or discriminative (e.g., Support Vector Machine (SVM)), statistical models that are used to compute the conditional probability of an observable X, given a target y, symbolically P(X|Y=y). In various embodiments, CLM 126 trains and uses one or more discriminative models to compute the conditional probability of a target Y, given an observation x, symbolically P(Y|X=x).
[0026] CLM 126 evaluates queries (e.g., topics) or query sequences by applying different features and relative numerical weights available as structured or unstructured data. Program 150 provides CLM 126 with a training set of vectorized, encoded, or computer-generated feature data. In various embodiments, the data (topics or topic terms) is labeled with collocates and / or collocate terms to allow CLM 126 to “learn” which features (e.g., topics, topic terms, author criteria, group criteria, etc.) correlate with specific collocates or phrases. In various embodiments, features include topics as well as metadata (e.g., targeted channels (e.g., channel members, topics, purpose, etc.)), similar topics, associated authors, and environmental considerations (e.g., platform, version, device specific variables, etc.). In further embodiments, the training set can include examples of multiple features, such as tokenized topic / search term segments, comments, statements, discussions, variables, objects, data structures, etc. CLM 126 “learns” from a training set of data to distinguish between likely and unlikely (e.g., applied against a predefined validity threshold) when applied to one or more specific topics or terms (e.g., limited by author, application, or channel / chat room, etc.). Once trained, CLM 126 can generate one or more collocated and colligated terms, their associated probabilities, and co-occurrence ratings based on the data aggregated and provided by program 150. In an embodiment, CLM 126 uses the following corpus linguistic analysis [term A, collation_left, log likelihood, collation_right, log likelihood] and author analysis [user A, distance, post_frequency] as inputs when evaluating queries.In this embodiment, CLM 126 evaluates queries using the following structure: [string A, string L, float, string R, float] + [user A, distance, post_frequency], which represents a model trained using corpus linguistic analysis and author analysis.
[0027] In an embodiment, the CLM 126 uses deep learning techniques to pair the query and its related topics with possible collocates. In various embodiments, the CLM 126 uses propagable neural network algorithms and models that can be trained in a supervised or unsupervised manner (e.g., long short-term memory (LSTM), deep stacking network (DSN), deep brief network (DBN), convolutional neural network (CNN), compound hierarchical deep models, etc.). In various embodiments, the CLM 126 is a simple neural network. In a further embodiment, the CLM 126 is a single-layer feed neural network that includes an affine transformation followed by an element-wise nonlinearity, y=f(Wx+b), where f is an element-wise nonlinearity such as sigmoid or hyperbolic tangent, and b is a bias vector. The simple neural network above can be extended with many hidden layers, where each layer transforms the output of the previous hidden layer to generate the output for the next layer, a multi-layer neural network (MLP).
[0028] In the illustrated embodiment, the CLM 126 includes one or more recurrent neural networks (RNNs). In this embodiment, the RNNs are configured to process sequential data (x 1 , x 2 …, x t) to compute successive hidden states while keeping the model's parameters the same. RNNs allow information to flow through the network by taking the previous hidden state "unfolded" and generating inputs for the series of next time steps at that time step, so that the last cell contains information obtained from all previous cells. In an embodiment, CLM 126 uses gated recurrent units (GRUs). GRUs simplify the training process while reducing the amount of computational resources required. In another embodiment, CLM 126 uses LSTMs. LSTMs require more robust processing and are more computationally demanding, but LSTMs are more effective when training from large data sets. In various embodiments, the hidden layers of CLM 126 are unidirectional or bidirectional. In another embodiment, CLM 126 maintains one or more stackable RNNs for each channel or chat room contained within one or more applications or communication mediums. In this embodiment, each channel in the application has one or more dedicated RNNSs to enable best-fit domain linguistic word matching for that channel. The training and use of the CLM 126 is shown and described in more detail in connection with FIG.
[0029] In an embodiment, the program 150 uses the above-mentioned models in combination with user feedback, back-testing, and / or probabilistic modeling to generate co-occurrence levels (e.g., collocation / colligation ratings (e.g., relevance measures, co-occurrence confidence levels), etc.) for the generated terms. In another embodiment, the CLM 126 determines the type of relationship, such as syntactic relation, lexical relation, or no linguistically defined relationship, for each generated collocate / colligate term and its associated query (e.g., included topics).
[0030] Program 150 trains a corpus linking model and generates collocated search terms for intra-channel and inter-channel activity. In the illustrated embodiment, program 150 is a stand-alone software program. In various embodiments, program 150 can implement the following steps: Program 150 trains a corpus linking model based on an analysis of a linguistic corpus and an analysis of one or more author criteria. Program 150 generates one or more collocated terms based on one or more calculations by the trained corpus linking model. Program 150 generates a co-occurrence rating for each of the one or more generated collocated terms. Program 150 displays the one or more generated collocated terms according to the generated co-occurrence rating of each collocated term. In another embodiment, the functionality of program 150 or any combination thereof can be integrated into a single software program. In some embodiments, the program 150 may be located on a separate computing device (not shown) that is still capable of communicating over the network 102. In various embodiments, a client version of the program 150 may reside on the client computing device 110, or on any other computing device (not shown), or both, in the computing environment 100. The program 150 is shown and described in more detail in connection with FIG.
[0031] The present invention can include various accessible data sources, such as personal storage data, data, content, or databases 122 that may contain information that the user does not want processed. Processing here refers to any automated or non-automated collection, recording, organization, structuring, storage, adaptation, substitution, retrieval, consultation, use, disclosure by communication, dissemination or otherwise making available, combination, restriction, deletion, or destruction performed on personal data. The program 150 provides informed consent with notice of the collection of personal data and allows the user to consent or refuse to process the personal data. Consent can take several forms. Consent requires the user to take an affirmative action before the personal data is processed. Alternatively, refusal consent requires the user to take an affirmative action to prevent the processing of the personal data before the data is processed. The program 150 allows the processing of authorized and secured user information, such as tracking information, in addition to personal data, such as personally identifying information or sensitive personal information. The program 150 provides information relating to the personal data and the nature of the processing (e.g. type, scope, purpose, duration, etc.). The program 150 offers the user a copy of the stored personal data. The program 150 allows for the correction or completion of inaccurate or incomplete personal data. The program 150 allows for the immediate deletion of personal data.
[0032] FIG. 2 is a flow chart illustrating the operational steps of a program 150 for training a corpus linking model and generating collocates for intra-channel and inter-channel activity, according to an embodiment of the present invention.
[0033] The program 150 searches the historical communications (step 202). In an embodiment, the program 150 searches all historical communications, including, but not limited to, queries, messages, conversations, discussions, words, statements related to a particular channel (e.g., chat room, subchannel, moderated group, etc.), application (e.g., application 114), author (e.g., user), set of authors, topics, and search terms related thereto (e.g., collocations and colligations). In another embodiment, the program 150 can process the searched historical communications (e.g., queries and messages) into multiple sets (e.g., by author, channel, application, topic, etc.). In yet another embodiment, the program 150 partitions the historical communications into separate sets that include differently processed versions of the same discussion. In various embodiments, the program 150 uses a pre-determined response interval to define the boundaries. For example, if a user does not respond to a message, topic, or contribute to a discussion for more than a week, program 150 determines that any communication sent after the time threshold is a new and separate conversation, and the topic of the discussion may have changed. In this embodiment, program 150 segments the historical communications into one or more sets defined by time constraints as described above. In another embodiment, the searched historical communications include information or metadata related to the user's behavior, such as frequently used search terms and their associated topics.
[0034] Program 150 then uses natural language processing (NLP) and corpus linguistic analysis (e.g., grammar analysis, etc.) to identify parts of speech and grammatical relationships between various parts of the communication (i.e., the query). Program 150 parses, identifies, and evaluates the parts of the conversation using corpus linguistic analysis, statistical evaluation, rule-based optimization, and knowledge discovery techniques, such as conversation part tagging. In an embodiment, program 150 uses conversation part tagging to identify a particular part of the conversation of one or more words based on the relationships of adjacent and related words. For example, program 150 uses the techniques described above to identify nouns, adjectives, adverbs, and verbs in the example sentence, "Henry, I believe this link will solve your problem." In this embodiment, program 150 identifies "Henry," "link," and "problem" as nouns, and "solve" and "believe" as verbs. In another embodiment, the program 150 uses a term-frequency inverse document frequency (tf-idf) technique to calculate how important a word is for a communication, sentence, conversation, document, or historical chat corpus. In another embodiment, the program 150 uses the tf-idf to calculate a series of numerical weights for words extracted from historical communications. In a further embodiment, the program 150 identifies and weights frequently used words using the above calculations. For example, the program 150 increases the weight of a word in the linguistic corpus 124 that contains the word in proportion to the frequency of the word's occurrence in a conversation (e.g., a communication, a discussion, etc.) offset by the document frequency. In an embodiment, the program 150 uses the tf-idf to initialize one or more of the CLMs 126.
[0035] Program 150 uses one or more models (e.g., an instance of CLM 126 or multiple models contained in CLM 126) such as biterm topic modeling and LDA to identify topics and themes within conversations, messages, discussions, queries, etc. In an embodiment, program 150 uses biterm topic modeling to model the generation of co-occurrence patterns (e.g., biterms) within documents. Program 150 uses biterm topic modeling to model word co-occurrence (e.g., collocation and colligation) patterns, thereby improving topic identification. In various embodiments, program 150 uses aggregated patterns within a corpus to identify topics based on co-occurrence patterns (e.g., best search terms) at the channel level, and program 150 can calculate co-occurrence patterns for the application level (organization, term, company, etc.). In another embodiment, program 150 uses biterm topic modeling to calculate the probability that a series of words represents a particular topic. In another embodiment, program 150 uses latent semantic analysis to decompose a matrix of documents and terms (e.g., a number of comments, conversations, etc.) into a number of sub-matrices, such as a channel-topic matrix, an author-topic, or a topic-search term matrix. In an embodiment, program 150 uses probabilistic latent semantic analysis to compute a probability model that may be used to generate one or more probabilistic matrices, such as the sub-matrices described above.
[0036] In various embodiments, the program 150 uses Latent Dirichlet Allocation (LDA) to identify one or more topics that may be included in a communication or query. LDA allows a set of observations to be explained by unresolved groups that explain why some pieces of data are similar. For example, if the observations are words (e.g., terms) collected in documents, LDA assumes that each document is a mixture of a small number of topics, and the presence of each word explains one of the topics in the document. The program 150 uses LDA to decompose documents (e.g., communications, queries, discussions, collections of comments, etc.) as mixtures of various topics. For example, the LDA model can have topics that can be classified as allergy-related and medical-related. The LDA model includes probabilities of topics associated with various words, such as sneeze, pollen, and antihistamine, that are classified and interpreted as allergy-related. Medical-related topics similarly have probabilities associated with the words: hospital, platelets, and bone. A word with no particular relevance, such as "the," may have a separate probability between classes or may be considered a novel topic depending on a similarity threshold.
[0037] In an embodiment, topics are identified based on automatic detection of word co-occurrence likelihood. A dictionary word may occur in several topics with different probabilities, but within each topic with different typical sets of neighboring words. In an embodiment, program 150 associates the historical discussion topics and linguistic trends identified above with authors to generate author-topic mappings. Program 150 uses the NLP techniques described above to generate and monitor multiple author-based criteria (e.g., author-topic mappings, channel or chat room frequency, time boundaries and considerations (e.g., earliest / last post, average time in a day to post, etc.), author posting frequency, average post length, average post view level, frequency of words / phrases used, etc.). In an embodiment, author criteria are categorized, organized, or structured in relation to specific authors, individuals, channels, chat rooms, or groups, or a combination thereof.
[0038] Program 150 then processes each partitioned set based on one or more feature sets. For example, a feature set that includes only specific topics such as system environment parameters (e.g., platform, version, device-specific variables, etc.). In another embodiment, a feature set includes information about a specific author in a specific channel. Program 150 then converts each word into its corresponding stem / root equivalence, eliminating redundant punctuation, participles, grammatical formalities, etc. In yet another embodiment, program 150 non-deterministically separates the processed set into a training set and a test set. In a further embodiment, program 150 labels each topic with the corresponding intentionally collocated word.
[0039] Program 150 vectorizes the partitioned topic / collocate word set along with its associated discussion and author data. In an embodiment, program 150 vectorizes the classification or string-based feature set using one-hot encoding techniques. For example, when vectorizing a feature set of multiple individual words, program 150 generates a one-hot vector that includes a 1×N matrix, where N symbolizes the number of discriminative multiple words. In another embodiment, program 150 recodes the classification data into a vectorized form using one-of-c coding. For example, when vectorizing an example classification feature set consisting of [allergy, sneeze, cough], program 150 encodes the corresponding feature set into [[1,0,0],[0,1,0],[0,0,1]]. In another embodiment, program 150 vectorizes and normalizes the numerical feature set using feature scaling techniques (e.g., rescaling, mean normalization, etc.). In a modified example, program 150 converts the results of the LDA and biterm topic, document, and matrices described above into vector representations using Ida2vec (e.g., word embeddings).
[0040] Program 150 trains a corpus link model (step 204). Program 150 trains one or more models contained within CLM 126. In an embodiment, program 150 initializes CLM 126 with randomly generated weights. In an alternative embodiment, program 150 initializes CLM 126 with weights calculated from the (e.g., tf-idf) analysis described above. In an alternative embodiment, program 150 initializes CLM 126 with weights calculated from weights inherited from historical models. In yet another embodiment, program 150 performs supervised training using a labeled vectorized model as described in step 202. For example, program 150 supplies query / collocated word pairs to CLM 126 to have program 150 make inferences between the query word data and the collocated word data (i.e., labels). In an embodiment, program 150 trains CLM 126 with a number of feature vectors derived from data extracted from related queries, topics, communications, or author-specific discussions or queries placed in a linguistic corpus, as described above. In an embodiment, program 150 searches all historical messages, conversations, discussions, and queries related to a particular query, topic, environment, channel, chat room, application, recipient, group, author, or user, or combination thereof. In another embodiment, program 150 searches a subset of all historical communications, queries, messages, conversations, and discussions between members of a channel, group, or chat application, or combination thereof.
[0041] In various embodiments, the program 150 uses supervised training to determine the error between the prediction and the target (i.e., error) and back-propagates this error through the layers to "train" the CLM 126. In an embodiment, the program 150 implements back-propagation using a stochastic gradient algorithm. In another embodiment, the program 150 uses cosine similarity as a loss function. The program 150 can adjust the learning rate to adjust the cross-entropy cost and increase or decrease the fitness of the cells and layers to which the program 150 is associated. In an embodiment, the program 150 determines whether sufficient accuracy is obtained by using a test or held-out set. If the calculated accuracy is insufficient, then the program 150 continues supervised training of the CLM 126. If the calculated accuracy is sufficient, then the program 150 ends the training process and continues to step 206.
[0042] Thus, in this embodiment, program 150 trains one or more models based on unique and separate historical communications contained in one or more channels, groups, and collaborative applications (e.g., corpora). In some embodiments, program 150 trains models according to distinct groups or specific topics. Thus, this embodiment is used to generate multiple models that are trained and designed to facilitate the generation of collocates specific to a particular channel or group corpus.
[0043] Program 150 monitors communications (step 206). In various embodiments, communications include, but are not limited to, detections, entries, or communications that include one or more user words, comments, sentences, search queries, or search terms, or combinations thereof. In an embodiment, program 150 blocks communication of one or more search terms included in a query (e.g., a search query) until a collocation rating is calculated or one or more collocate terms are generated, or both. In various embodiments, program 150 replaces or replaces a graphical communication icon in a user interface (e.g., user interface 112). For example, a chat application (e.g., application 114) has a graphical icon when a search communication is activated. In this embodiment, program 150 replaces one or more icons with respective triggers to intercept and hold the search before communication. In yet another embodiment, the program 150 analyzes outbound traffic of the client computing device 110 to detect a search (e.g., a query) communication. In this embodiment, the program 150 can hold the search (e.g., a query, search term, etc.) until the search is analyzed, collocates are generated, and the search is approved by the user. In yet another embodiment, the program 150 detects the message by detecting a user entering multiple words in an element of an application (e.g., application 114), such as a search bar or text entry area. In a further embodiment, the program 150 can trigger an analysis in response to each word or sentence that the user enters. For example, as the user types a search query, the program 150 simultaneously detects the query and extracts topic information related to it to generate one or more collocates specific to the communication medium (e.g., a channel or chat room).In an alternative embodiment, the program 150 can trigger analysis of a query after the user stops or terminates entering text / characters, typing, or interacting with the user interface 112 for a particular period of time. For example, if the user begins entering a query and after five minutes of no input, the program 150 determines that a message is ready for communication and therefore analyzes the message.
[0044] Based on the historical queries and included topics, related words, phrases, and data, program 150 uses one or more models included in CLM 126 to identify topic words (e.g., words that are related to or describe a topic) and / or match collocates (e.g., adjacent search terms) for one or more queries and included topics (e.g., categories, targeted channels, etc.) or sets of discussions (e.g., messages or discussions contained within an application (e.g., chat, a particular channel, etc.)). In another embodiment, CLM 126 generates one or more probabilities (e.g., probability distributions) that describe the likelihood that a given query and multiple topic words are related to another topic, word, or phrase.
[0045] Program 150 generates collocates (step 208). In response to program 150 monitoring and processing communications (e.g., search queries, find commands, tagging requests, etc.) within one or more chat applications, program 150 extracts, analyzes, and decomposes information contained within such communications as discussed in step 202. Program 150 processes the weights and probabilities calculated from CLM 126 using channel, chat room, and application specific historical communications, queries, messages, comments, topic words, common collocates, linguistic trends, and authorship criteria associated therewith to generate a set of one or more collocates and determine the likelihood (e.g., percentage) of each term. In embodiments, in one or more of the chat applications, channels, sub-channels, chat rooms, or environments, program 150 uses any combination of bi-term topic modeling, LDA, and trained cognitive models (e.g., RNNs) to identify topics and sets of related collocates within queries, conversations, messages, and discussions, as detailed in step 202. In various embodiments, program 150 utilizes learning and transfer layers to assist, speed up, or supplement the pre-trained, related models with any other related models. For example, program 150 trains a model using communications contained in a tech support channel of a large collaborative application. In this example, program 150 can use transfer learning to generalize this tech support channel to other related channels.
[0046] In an embodiment, the program 150 detects, processes, vectorizes, and feeds the identified communications and contained queries and topic words to multiple trained models in the CLM 126. In this embodiment, the CLM 126 outputs one or more sets of collocate and colligate terms and associated probabilities based on one or more fed topic words. In an embodiment, all models in the CLM 126 are pre-trained with training sets specific to a channel, multiple channels, a user, a user group, or an application, or combinations thereof. The collocation and colligation terms can be generalized according to multiple organizational schemes, such as channel, group, chat room, application, topic, or author specific schemes. In an additional embodiment, the CLM 126 is trained and fed with author criteria for related authors or groups of authors (e.g., members of a channel, sub-channel, etc.). In another embodiment, program 150 uses the output generated from CLM 126 to generate co-occurrence scores (e.g., ratings) that represent the degree of co-occurrence between the collocated terms and the monitored and historical communications contained in linguistic corpus 124 (e.g., the likelihood that the generated terms are collocated or colligated, or both). In this embodiment, program 150 inputs vectors containing sequences of query terms into one or more models contained in CLM 126, which outputs one or more co-occurrence scores. In another embodiment, program 150 uses one or more probabilities generated from one or more models, such as biterm modeling or LDA output, to adjust the weight of each of the aforementioned results in proportion to the degree of co-occurrence confidence of each model.
[0047] In an embodiment, using the output of CLM 126, program 150 determines whether the probability associated with the generated collocated words is sufficient for the identified topic in the query. In various embodiments, program 150 uses a predefined co-occurrence threshold. In another embodiment, if program 150 determines that the output (e.g., the generated collocated words) is below the co-occurrence threshold (e.g., the probability), then program 150 removes the generated words and reduces one or more weights in CLM 126 associated with the generated words. In an example scenario, a group of developers are troubleshooting a buffer overflow bug and discussing possible solutions in a real-time chat application while program 150 monitors and analyzes the discussion and retrains the associated model to generate collocated words corresponding to the query or topic.
[0048] Thus, in this embodiment, program 150 uses the trained model as detailed in step 204 to generate one or more collocated terms based on the identified query. In some embodiments, program 150 calculates a co-occurrence score that represents the probability that the generated terms can be found near the query terms. In this manner, this embodiment is used to generate valid collocated terms based on a corpus associated with the trained model. In an embodiment, program 150 uses a corpus based on different channels but related topics generalizing the above model to other problem sets (e.g., other collaborative applications, channels, groups, topics, etc.).
[0049] The program 150 presents the collocated words (step 210). Based on the one or more generated collocated words as described in step 208, the program 150 can generate, adjust, and present the generated collocated words depending on the capabilities of the associated application (e.g., chat application). Depending on the co-occurrence ratings associated therewith, the program 150 can generate, display, modify, or present comments of the one or more generated collocated words separately (e.g., distinctly) from the original query. For example, the program 150 can present the example generated collocated word "treatment" and, when presented with a query including the topic "radiation," form the modified query "radiation treatment." In various embodiments, the program 150 can display the co-occurrence ratings associated with the collocated words as a numerical score, a rank, or a probability. In this embodiment, the program 150 displays a proximity rating for the corresponding word. In an embodiment, program 150 retrieves, queries, or determines user preferences or settings detailing preferred presentation settings such as transparency level and text color preferences. In another embodiment, program 150 modifies, transforms, or adjusts one or more style elements including, but not limited to, font, font size, character style, font color, background color, capitalization, overall transparency, and relative transparency of the display or one or more displayed words.
[0050] In an embodiment, if the co-occurrence rating does not meet or exceeds a pre-determined co-occurrence rating threshold, e.g., indicates a lower boundary, then program 150 may remove, erase, hide, or otherwise render invisible the associated collocate or associated collocates, or both. In an embodiment, if program 150 has a large number of possible collocates (e.g., words associated with co-occurrence scores that meet or exceed a threshold), program 150 may rank the words based on the co-occurrence ratings generated associated therewith. For example, when program 150 displays a ranked list of possible collocates, program 150 may reduce the font size of the displayed words as the co-occurrence ratings of such words decrease. In this embodiment, program 150 may display all of the possible collocation words and allow the user to select a word, or a ranking for one or more words, or provide feedback on the words, or a combination thereof.
[0051] In an embodiment, program 150 provides the generated collocation words to a content management system (CMS). In this embodiment, the CMS can use the collocation words as metadata and meta tags, which are commonly used in search engine optimization (SEO). SEO helps understand which words are most searchable and then uses them to tag or refine content. Program 150 uses the generated collocation words to modify HTML and associated code to both increase relevance for specific keywords (e.g., topic words) and enable effective indexing by search engines when generalized to similar domains or related to topic classification, such as optimizing a website by editing content. Program 150 can use SEO to increase the quality and quantity of web traffic, and the generated collocation words thus increase the viewability of web pages to search engine users. In an embodiment, program 150 uses the generated collocation words to tag one or more web pages by providing keywords and metadata for a number of web spiders, web crawlers, and associated search engines. In this embodiment, the program 150 uses the calculated co-occurrence ratings to modify the rank or remove one or more tagged collocates.
[0052] Program 150 can generate one or more predictive progressive collocation group models based on historical storage of related or similar ongoing topic matters. The predicted progressive collocation group models enable group-level profiling of frequently communicating groups based on linguistic patterns of similar or related words and themes. In an embodiment, program 150 is implemented within a software support system for providing the generated collocation words to multiple support teams. In this embodiment, program 150 enables effective querying by using group corpus profiling to predict pattern progression and evolution of topic words and their associated collocates (e.g., queries) based on historical software support activity. Program 150 can use CLM 126 to calculate and identify trends in collocation words over a time period. In an embodiment, program 150 models collocation trends between multiple channels within the same chat application, group, or organization. In various embodiments, the program 150 uses the described model to adjust the linguistic patterns of the groups and weights that comprise the points in time interactions.
[0053] Thus, in this embodiment, program 150 presents the generated terms to one or more users. In an embodiment, program 150 modifies one or more style elements of the presented terms based on their associated co-occurrence scores. In this embodiment, program 150 enables program 150 to profile the linguistic patterns of one or more groups using the generated terms as metadata or tags commonly used in SEO. Thus, this embodiment provides for users to build collaborative chat searches or optimize sets of linked terms in a content management system.
[0054] The program 150 records the associated communications and remodels the corpus link model (step 212). In one embodiment, the program 150 records the associated saves, comments, discussions, and associated data in the linguistic corpus 124. In another embodiment, the program 150 can receive user feedback through a graphical user interface (e.g., user interface 112). For example, after the program 150 analyzes the query and its associated collocates, the user can provide feedback on the client computing device 110's graphical user interface (e.g., user interface 112) about the query and the rated terms. In an embodiment, the feedback can include a simple positive or negative response. In another embodiment, the feedback can include user approval of the provided collocates. For example, if the program 150 generates collocates with low co-occurrence values or places words in a bad position relative to the topic words, the user can provide negative feedback to accurately identify the corrected collocates, their relative positions, and the associated communications. In an embodiment, program 150 provides user feedback and corrected words to CLM 126, allowing program 150 to adjust the model accordingly. In another embodiment, program 150 can record whether a user's response was positive or negative using one or more NLP techniques. Program 150 logs associated saves, comments, discussions, and associated data to linguistic corpus 124 and allows CLM 126 to retain and use the adjusted corpus and its associated training and testing sets.
[0055] 3A shows an embodiment 300 illustrating an embodiment of a collaborative real-time communication session, problem-solving session discussion between multiple users. The embodiment 300 includes a chat application 302, a real-time communication application, a query 304, an entered search query, a search bar 308, a text entry area, a focused channel 310, an active and viewable channel 312, and a list of available channels. The embodiment 300 uses linguistic and author analysis of a corpus as input when accessing the query 304.
[0056] 3B shows an example 350 illustrating an example of a collaborative real-time communication session, problem-solving session discussion between multiple users, including chat application 302, a real-time communication application, query 304, an entered search query, generated collocation terms 306, generated search terms, search bar 308, a text entry area, focused channel 310, an active and viewable channel, and channel 312, a list of available channels.
[0057] 4 illustrates a block diagram of a client computing device 110 and a server computer 120 in accordance with an exemplary embodiment of the invention. It should be appreciated that FIG. 4 is intended as an example of one implementation and is not intended to imply any limitations with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
[0058] The server computer 120 includes a communications function 404 that provides communication between the cache 403, the memory 402, the persistent storage 405, the communications unit 407, and the input / output (I / O) interface(s) 406. The communications function 404 may be implemented with any architecture designed to pass data or control information between a processor (such as a microprocessor, communications, and network processor) and the system memory, peripheral devices, and any other hardware components in the system. For example, the communications function 404 may be implemented with one or more buses or crossbar switches.
[0059] Memory 402 and persistent storage 405 are computer-readable storage media. In this embodiment, memory 402 includes random access memory (RAM). In general, memory 402 may include any suitable volatile or non-volatile computer-readable storage media. Cache 403 is a high-speed memory that improves the performance of computer processor(s) 401 by retrieving recently accessed data and data close to the accessed data from memory 402.
[0060] The program 150 may be stored in persistent storage 405 and memory 402 for execution by one or more respective computer processor(s) 401 via cache 403. In an embodiment, persistent storage 405 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 405 may include a solid state hard drive, a semiconductor storage device, a read only memory (ROM), an erasable programmable read only memory (EPROM), a flash memory, or any other computer readable medium capable of storing program instructions or digital information.
[0061] The media used by persistent storage 405 may also be removable. For example, a removable drive may be used as persistent storage 405. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer readable recording medium that is also part of persistent storage 405. Software and data 412 may be stored in persistent storage 405 for access and / or execution by one or more respective processors 401 via cache 403.
[0062] Communications unit 407, in these examples, provides communication with data processing systems or devices. In these examples, communications unit 407 includes one or more network interface cards. Communications unit 407 provides communication through either or both physical and wireless communications links. Programs 150 can be downloaded to persistent storage 405 through communications unit 407.
[0063] The I / O interface(s) 406 allow for input and output of data to and from other devices that may be connected to the client computing device 110. For example, the I / O interface(s) 406 provide a connection to an external device(s) 408, such as a keyboard, a keypad, a touch screen, or some other suitable input device. The external device 408 may also include portable computer-readable recording media, such as a thumb drive™, a portable optical or magnetic disk, and a memory card. Software and data used to implement embodiments of the present invention, such as the program 150, may be stored on such portable computer-readable recording media and may be loaded into the persistent storage 405 via the I / O interface(s) 406. The I / O interface(s) may also be connected to a display 409.
[0064] Display 409 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.
[0065] The programs described herein are identified based on the application for which they are implemented in a particular embodiment of the invention. However, it should be recognized that any particular nomenclature of the programs herein is used merely for convenience, and thus the invention should not be limited to use with any particular application identified or implied by such nomenclature.
[0066] The present invention may be a system, a method, or a computer program product, or a combination thereof. The computer program product may include a computer-readable recording medium (or media) having computer-readable program instructions thereon for causing a processor to perform features of the present invention.
[0067] A computer readable recording medium may be a tangible device capable of holding and storing a plurality of instructions for use by an instruction execution device. A computer readable medium may be, for example, but not limited to, an electrical recording device, a magnetic recording device, an optical recording device, an electro-magnetic recording device, a semiconductor recording device, or any suitable combination thereof. More specific examples of computer readable recording media include the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a punch card, or a mechanically encoded device having protruding structures within a groove having instructions recorded therein, and any suitable combination thereof. As used herein, a computer-readable recording medium is not to be construed as a transitory signal per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves such as wave guides or other communications media (e.g., light pulses passing through fiber optic cable), or electrical signals communicated through wires.
[0068] The computer program instructions described herein can be downloaded from a computer readable recording medium into each computing / processing device, or can be downloaded to an external computer or external recording device via a network, such as the Internet, a local area network, a wide area network, or a wireless network, and combinations thereof. The network can include copper communication cables, fiber optic communication, wireless communication routers, firewalls, switches, gateway computers, and edge servers, and combinations thereof. A network adapter card or network interface in each computing / processing device receives the computer readable program instructions from the network and transfers the computer readable program instructions into a computer readable recording medium in each computing / processing device for storage.
[0069] The computer readable program instructions for carrying out the operations of the present invention may be either source code or object code written in any combination of programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine language instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or one or more object-oriented programming languages, such as Smalltalk®, C++, or other object-oriented programming languages, traditional procedural programming languages such as “C” or similar programming languages, quantum programming languages such as the “Q” programming language, Q#, Quantum Computing Language (QCL) or similar programming languages, low level programming languages such as assembler languages or similar programming languages. The computer readable program instructions may be executed entirely on the user computer, partially on the user computer as a stand-alone software package, partially on the user computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user computer through any type of network, including a local area network (LAN), a wide area network (WAN), or the connection can be to an external computer (e.g., through an Internet service provider). In some embodiments, electronic circuitry, including, for example, programmable logic circuitry, a field programmable gate array (FPGA), or a programmable logic array (PLA), can execute computer readable program instructions and use state information of the computer readable program instructions to personalize the electronic circuitry to perform features of the present invention.
[0070] Features of the invention described herein have been described with reference to flowchart instructions and / or block diagrams of methods, apparatus (systems), and computer-readable recording media and computer program products according to embodiments of the invention. It will be understood that any combination of flowchart illustrations and / or block diagrams and / or blocks in flowchart illustrations and / or block diagrams can be implemented by computer-readable program instructions.
[0071] These computer readable program instructions can be provided to a computer processor or other programmable data processing device to create a machine, and the instructions, when executed by the computer processor or other programmable data processing device, generate means for implementing the functions / operations specified in the block or blocks of the flowcharts and block diagrams, or a combination thereof. These computer readable program instructions can also be stored on a computer readable recording medium that directs a computer, programmable data processing device, and other devices, or a combination thereof, to function in a particular manner, and a computer readable recording medium having instructions stored therein constitutes an article of manufacture containing instructions that implement the functional / operational features specified in the block or blocks of the flowcharts and block diagrams, or a combination thereof.
[0072] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device and cause a computer implemented process to perform a series of operational steps on the computer, other programmable apparatus, or other device to implement the functions / acts specified in the blocks of the flowcharts and block diagrams or in a combination thereof.
[0073] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and possible implementation operations of systems, methods, and computer programs according to various embodiments of the present invention. In this respect, the flowcharts or block diagrams may represent modules, segments, or portions of instructions, which include one or more executable instructions for implementing a particular logical function(s). In some alternative implementations, the functions described in the blocks may be performed other than as illustrated. For example, two blocks shown in succession may be performed in a manner that is actually performed as one step, may be performed simultaneously, substantially simultaneously, partially or completely overlapped in time, or the blocks may be performed in reverse order, depending on the functionality involved. Also, the block diagrams and / or flowchart illustrations and / or combinations of the blocks in the block diagrams and flowchart illustrations may be implemented by a special-purpose hardware-based system that performs a particular function or operation or performs a combination of specific-purpose hardware and computer instructions.
[0074] The description of various embodiments of the present disclosure has been presented for illustrative purposes, but is not intended to be exclusive or limited to the disclosed embodiments. Many modifications or variations will be obvious to those skilled in the art without departing from the scope and spirit of the present disclosure. The terms used in this specification are selected to best explain the principles of the present embodiments, practical applications, or technical improvements beyond the technology found in the market, or to allow others skilled in the art to understand the embodiments disclosed herein.
Claims
1. 1. A computer-implemented method comprising: training, by one or more computer processors, a corpus linking model based on the analysis of the linguistic corpus and the analysis of the one or more authorship criteria; generating, by one or more computer processors, one or more collocates based on one or more calculations with the trained corpus link model; generating, by one or more computer processors, a co-occurrence rating for each of the generated one or more collocate words, the co-occurrence rating including one or more probabilities describing the likelihood that an input query is related to one or more collocate words or one or more colligate words; displaying, by one or more computer processors, the generated one or more collocates according to the generated co-occurrence ratings of each collocate.
4. A computer-implemented method comprising:
2. moreover, Monitoring one or more queries by one or more computer processors.
2. The method of claim 1, comprising:
3. 3. The method of claim 2, wherein the query is selected from the group consisting of a real-time chat conversation, a user's words, a user's comments, a user's sentences, a user's search queries, or a user's search terms.
4. Monitoring one or more queries includes: detecting, by one or more computer processors, that a user inputs a query; and extracting, by one or more computer processors, topic information specific to the communication medium contained in the detected query. The method of claim 2 , comprising:
5. 5. The method of claim 1, wherein the linguistic corpus includes historical collocates, collocates, related topics, and author criteria, the author criteria including author-topic mappings, frequency of channels by the author, frequency of posts by the author, average post length by the author, average post view level by the author, and words frequently used by the author.
6. Training a corpus link model based on the linguistic corpus includes: retrieving, by one or more computer processors, one or more historical communications from said linguistic corpus; identifying, by one or more computer processors, one or more queries related to the retrieved one or more historical communications; determining, by one or more computer processors, one or more collocate words associated with the identified one or more of said queries; and training, by one or more computer processors, the corpus link model based at least in part on supervised training using the identified query and the determined one or more collocate words. The method of claim 5 , comprising:
7. generating one or more colligate words based on one or more calculations by the trained corpus link model, determining, by one or more computer processors, syntactic or lexical relationships between one or more of the monitored queries and one or more of the generated collocates; and determining, by one or more computer processors, a proximity measure for said query; The method of claim 2 , comprising:
8. moreover, 8. A method according to any one of claims 1 to 7, comprising generating, by one or more computer processors, one or more predictive progressive collocation group models based on ongoing topical related or similar group communications, the predictive progressive collocation group models enabling profiling of frequent communication groups using group linguistic patterns.
9. moreover, 10. The method of claim 8, further comprising: calculating, by one or more computer processors, one or more generated predictive progressive colocation group models to calculate one or more trends over a time interval among multiple channels in a chat application.
10. The method of any one of claims 1 to 9, wherein generating the co-occurrence ratings for one or more generated collocates comprises using a probabilistic model.
11. The method of any one of claims 1 to 10, wherein the corpus link model comprises one or more stackable recurrent neural networks.
12. generating one or more collocates based on one or more calculations by the trained corpus link model, 12. The method of claim 11, comprising generating, by one or more computer processors, one or more collocates at an application level based on one or more stackable recurrent neural networks, each recurrent neural network of the one or more stackable recurrent neural networks being trained based on a different channel included in the communication medium.
13. moreover, displaying, by one or more computer processors, the generated co-occurrence ratings for one or more of the displayed collocates. The method according to any one of claims 1 to 12, comprising:
14. Displaying one or more collocates according to the generated co-occurrence ratings of each collocate includes:
14. The method of claim 1, further comprising displaying, by one or more computer processors, one or more of the generated collocated words that are proximate to one or more monitored queries in response to exceeding a threshold co-occurrence rating.
15. Displaying one or more of the collocates according to the generated co-occurrence ratings of each collocate includes: transforming, by one or more computer processors, one or more style elements of the displayed collocate words based on the generated co-occurrence ratings, the style elements being selected from the group consisting of font, font size, character style, font color, background color, capitalization, general transparency, and relative transparency; displaying, by one or more computer processors, the transformed one or more style elements; The method according to any one of claims 1 to 14, comprising:
16. moreover, recording, by one or more computer processors, the real-time communications, the associated author criteria, the associated user posting frequency, the generated collocates, and the generated collocates in a linguistic corpus; and retraining, by one or more computer processors, the corpus linking model using the linguistic corpus. The method according to any one of claims 1 to 15, comprising:
17. 1. A computer-implemented method comprising: training, by one or more computer processors, a corpus linking model based on the analysis of the linguistic corpus and the analysis of the one or more authorship criteria; generating, by one or more computer processors, one or more collocated words based on computation with the trained corpus link model; generating, by one or more computer processors, a co-occurrence rating for each of the one or more generated collocate words, the co-occurrence rating including one or more probabilities describing the likelihood that an input query is related to one or more collocate words or one or more colligate words; tagging, by one or more computer processors, one or more web pages with the one or more generated collocate words according to the co-occurrence ratings of each collocate word.
4. A computer-implemented method comprising:
18. A computer program product for causing a computer to execute the computer-implemented method according to any one of claims 1 to 17.
19. 1. A computer system comprising: one or more computer processors; one or more computer readable recording media; and program instructions stored on the computer-readable storage medium for execution by one or more of the processors, the program instructions comprising: program instructions for training a corpus linking model based on an analysis of the linguistic corpus and an analysis of one or more authorship criteria; program instructions for generating one or more collocated words based on one or more calculations of the trained corpus link model; program instructions for generating a co-occurrence rating for each of the one or more generated collocate words, the co-occurrence rating including one or more probabilities describing a likelihood that an input query is related to one or more collocate words or one or more colligate words; program instructions for displaying one or more generated collocates according to the generated co-occurrence ratings of each collocate; 1. A computer system comprising:
20. program instructions for generating one or more collocates based on one or more calculations of the trained corpus link model, 20. The computer system of claim 19, comprising program instructions for generating one or more collocate words at an application level based on one or more stackable recurrent neural networks, each recurrent neural network of the one or more stackable recurrent neural networks being trained based on a different channel included in a communication medium.
21. The program instructions for displaying one or more collocates according to the generated co-occurrence ratings of each collocate, comprising: program instructions for transforming style elements selected from the group consisting of font, font size, character style, font color, background color, capitalization, overall transparency, and relative transparency of one or more of the displayed collocate words based on the generated co-occurrence ratings; and program instructions for displaying the transformed one or more of said style elements.
20. The computer system of claim 19, comprising:
Citation Information
Patent Citations
User-directed search refinement
US20080040325A1
Man-machine interaction method and apparatus based on artificial intelligence
WO2018040501A1
Cited By
Information processing device, information processing method, and computer program
JP7807767B1