Many organizations, including businesses, government agencies, and non-profit institutions, are constantly accumulating information related to their activities. Common sources of information may include, for example, emails, intranet pages, memoranda, work product, manuals, and the like. Useful knowledge may be revealed from this information both implicitly (e.g., by patterns in the information) and explicitly (e.g., by a document that summarizes a particular activity of an organization).
Sharing knowledge between individuals within an organization may provide a variety of benefits, including increased efficiency and improved decision making. Accordingly, many organizations devote substantial resources to collecting and managing information of all sorts. Even when substantial and consistent effort is expended to distill and organize knowledge from a large volume of information, e.g., by producing a comprehensive operations manual, the effort required to access the knowledge may prevent many people from taking advantage of it. Of course, many organizations do not maintain any comprehensive repositories of knowledge whatsoever, and in these organizations the benefits of knowledge sharing are even more limited.
Several elements may be required to make use of shared knowledge, and increasing the efficiency of any or all of these elements may increase the benefits derived from such knowledge. Elements may include, for example, (1) considering the possibility that shared knowledge exists when faced with a particular problem; (2) identifying a source of such knowledge; and (3) finding the desired knowledge within the source.
Ideally, knowledge will be provided at the moment it is needed. If knowledge is provided too early, its usefulness may not be apparent or it may be forgotten before it can be used. If knowledge is provided too late, the need itself may be forgotten and more effort may be required to use the knowledge. Making access to shared knowledge more efficient also makes it easier to provide knowledge at the moment it is most useful.
Throughout the drawings, reference numbers may be re-used to indicate correspondence between referenced elements. The drawings are provided to illustrate example embodiments described herein and are not intended to limit the scope of the disclosure.
Introduction
Generally described, the present disclosure relates to facilitating knowledge sharing within an organization. Aspects of the present disclosure relate to automatically determining when shared knowledge relevant to an ongoing meeting is available and presenting such knowledge to meeting participants while it is relevant. For example, if several individuals are participating in a meeting, a knowledge sharing system may use automatic speech recognition (ASR) to generate a transcript of any discussion that occurs. Relevant topics may be identified from the transcript, and shared knowledge related to the identified topics may be presented to one or more of the participants. Both the topics identified and the knowledge presented may depend on information obtained from the meeting, including, e.g., the identities of the participants, the purpose of the meeting, and the content of the discussion. By minimizing the effort required to obtain shared knowledge at relevant moments during the course of a meeting, features disclosed herein may facilitate efficient and competent action by individuals within an organization.
Although aspects of the embodiments described in this disclosure will focus, for the purpose of illustration, on features provided by a central knowledge sharing system and various user devices, one skilled in the art will appreciate that the techniques disclosed herein may be applied to any number of software processes or applications, implemented on any number of different hardware devices. In addition, the term “meeting,” as used herein, is a broad term and includes, without limitation, seminars, speeches, informal discussions, and conversations. Further, although various aspects of the disclosure will be described with regard to illustrative examples and embodiments, one skilled in the art will appreciate that the disclosed embodiments and examples should not be construed as limiting. Various aspects of the disclosure will now be described with regard to certain examples and embodiments, which are intended to illustrate but not limit the disclosure.
Knowledge Sharing Environment
Prior to describing embodiments of the knowledge sharing systems and methods in detail, an example knowledge sharing environment in which the systems and methods may be implemented will be described.
The user devices 112-118 can correspond to a wide variety of electronic devices. In some embodiments, one or more user devices 112-118 are computing devices that include one or more processors and a memory which may contain software applications executed by the processors. User devices 112-118 may include displays for presenting information and microphones for capturing audio. In addition, the user devices 112-118 may be configured with one or more wireless network antennae or wired ports to facilitate communication with other devices and with the knowledge sharing servers 150. The software of the user devices 112-118 may include components for establishing communications over the communication network 140. In addition, the software may include knowledge sharing applications which capture meeting audio for processing by an ASR engine, present transcripts generated from the audio, and provide information on topics discussed in the meeting. In certain embodiments, some or all of the user devices will receive text input, in addition to or instead of audio input, e.g., via a physical or virtual keyboard. Manually entered text may be combined with automatically generated text from ASR to produce a unified transcript.
The user devices may include tablet computers, laptop computers, mobile phones, electronic book readers, personal audio players, personal digital assistants, and the like. The user devices may also be built specifically for knowledge sharing. Different user devices in the same knowledge sharing environment may include different hardware and software. In some embodiments, multiple user devices may be integrated into a single physical unit. For example, the user devices may comprise several screens and microphones built into a conference room table, all of which may be connected to a single computing device. In other embodiments, multiple user devices may be located remotely from one another.
In addition to devices for individual users, such as user devices 112-118, the knowledge sharing environment may include devices for group use, such as group device 130. While user devices 112-118 may present knowledge that is relevant to any individual meeting participant, group device 130 may only present knowledge that is likely to be relevant to multiple participants. In some embodiments, multiple group devices many be provided to accommodate different participant groups, particularly in meetings with large numbers of participants. For example, one group device may be configured for use by members of a marketing department, and another group device may be configured for use by members of an engineering department. When multiple group devices are used, the knowledge presented on each device may vary depending on what is deemed relevant to each participant group.
In general, group device 130 may comprise hardware and software similar to user devices 112-118, although various aspects may be modified to support shared use by multiple individuals. For example, group device 130 may comprise a larger display area, additional microphones, etc. Although group device 130 is depicted as a projector in
The knowledge sharing servers 150 illustrated in
In some embodiments, the knowledge sharing environment may include additional or fewer components than those illustrated in
Turning now to
As illustrated in
In addition to various modules of user device 210 and server 220, the knowledge sharing system of
Knowledge store 240 may comprise various primary sources from which knowledge may be obtained, such as document management systems, email repositories, wikis, project management databases, operations manuals, dictionaries, glossaries, etc. In addition, knowledge store 240 may comprise reference sources for organizing, summarizing, or structuring the contents of the primary sources. For example, reference sources may comprise search indexes, lists of topics, and document clusters, any or all of which may be automatically generated from the primary sources.
Context store 230 may comprise information that can be used to facilitate automated knowledge sharing based on the context of a meeting. As described below, context information may be used to improve accuracy and relevance in various parts of the knowledge sharing system. Context store 230 may include specific information about the circumstances of a meeting, such as the identities of meeting participants, the date and time of the meeting, or the meeting agenda. In addition, context store 230 may include supplemental information related to the specific circumstances, such as job titles, responsibilities, documents previously distributed, and recent emails of the meeting participants. This supplemental information may overlap with the contents of knowledge store 240, but may be used differently. For example, supplemental information in the form of one or more emails may be used to determine which meeting participants are already familiar with a particular topic. Knowledge regarding the particular topic may then be shared only with participants who are not yet familiar with it.
Example interactions between the various components of the knowledge sharing system will now be described. As noted above, the knowledge sharing system may be used to transcribe a discussion that occurs between several participants during a meeting. Accordingly, user device 210 may be configured to capture audio when a participant speaks. The captured audio signal may be used for ASR, as described below. If multiple user devices are present in a meeting, each device may be configured to only capture audio corresponding to the speech of a particular participant or subset of participants. For example, if each participant has a separate device, then the device belonging to each participant may capture audio for that participant only. Alternatively, all of the devices may capture audio for all of the participants, and audio data from multiple devices may be combined to produce better ASR results. If multiple audio signals are provided by devices in different locations relative to a particular speaker, the accuracy of ASR results produced from the audio signals may be improved by selecting the single device with the best audio quality for a particular portion of an utterance, or by determining the most likely content of the utterance in light of the combination of captured audio signals.
Audio processing module 212 may receive an audio signal captured by user device 210 and extract data for use in ASR. An ASR process may include several “front-end” elements, such as speech detection and feature extraction. Any or all of these elements may be performed by audio processing module 212. Alternatively, some or all of these elements may be performed by speech recognition module 222 of server 220. If the audio processing module performs the feature extraction, the audio data transmitted to server 220 may include feature vectors, which measure certain aspects of an audio signal that are useful for ASR. If the feature extraction is performed by the speech recognition module instead, then the transmitted audio data may comprise a digital audio stream.
The audio data, whether it comprises feature vectors, an audio stream, or other data, is sent by audio processing module 212 to speech recognition module 222. The speech recognition module performs ASR using the audio data, producing a transcript of any words spoken by meeting participants. Speech recognition module 222 may also identify different speakers, and label the transcript to specify which participant spoke which words. In some embodiments, the identity of a particular speaker may be provided by user device 210, and transmitted to speech recognition module 222 along with the audio data. As speech is transcribed, the resulting text is provided to topic identification module 224.
Topic identification module 224 identifies topics for which shared knowledge is available based on the transcribed text, and information from context store 230. Annotations may be added to the transcript to indicate the availability of shared knowledge on a particular topic. For example, words in the transcript that describe a relevant topic may be underlined, highlighted, or otherwise set apart. Alternatively, if a topic is identified as relevant but the words in the transcript do not appropriately describe it, an annotation may be added between lines of the transcript or in a margin. Although topic identification module 224 may distinguish between multiple types of annotations, such as inline and marginal, the manner in which such annotations are actually presented may be determined by transcript presentation module 214, described below. Accordingly, when the annotated transcript is constructed and transmitted, the annotations therein may be represented semantically rather than visually, e.g., using Extensible Markup Language (XML).
Meeting topics may be identified from a transcript in a variety of ways. In some embodiments, topic identification may be fully automatic, while in other embodiments there may be some manual involvement. In the case of manual involvement, a user may prepare a list of topics, keywords, or other metadata, and embed this metadata in an agenda, presentation, or other form of meeting materials made available to topic identification module 224. For example, a user may provide a list of topics in the “Notes” section of one or more slides in a Microsoft PowerPoint presentation, and as each slide is presented at a meeting, the topics listed in the slide's “Notes” section may be annotated in the meeting transcript. Specific topics may also be provided by input to a user device, which may transmit the topic directly to topic identification module 224, or to knowledge retrieval module 226 (described below).
In the case of automated topic identification, the transcript may be analyzed to identify one or more relevant attributes, and the identified attributes may be used to search for available topics. The topic search may also rely on information from context store 230, as noted above. In one example, a list of available topics may be provided by knowledge store 240. An index may be provided as well, to associate one or more keywords with each available topic from the list. Both the list and the index may be updated regularly based on new information generated by the organization. During a meeting, words from the transcript may be compared with keywords from the index to identify potentially relevant topics from the list. These potentially relevant topics may be filtered based on information from context store 230, to determine which topics will actually be annotated in the transcript.
In the foregoing example, the attributes identified from the transcript are the words of the transcript themselves. In some embodiments, however, more complex attributes may be used. Complex attributes may be calculated, looked up, or otherwise determined from the words of the transcript in any number of ways. Specifically, attributes may include any text, number, or other data value that is likely to be correlated with the relevance of particular topics. In addition, while the foregoing example contemplated the use of context information to filter potentially relevant topics after they are identified from a set of attributes, context information may also be incorporated into the attributes themselves and used to identify topics from an index directly.
In some embodiments, different topics may be identified and annotated for different users. The specific topics that are identified and annotated for a particular user may be based on, e.g., context information about the user or other meeting participants, or a set of security permissions. For example, topic identification module 224 may determine that a certain topic is more or less relevant for a particular user based on the supplemental information from context store 230, described above. The supplemental information may include emails from the user indicating that the user is already familiar with available knowledge on a particular topic, in which case the topic may not be annotated in a transcript transmitted to the user's device.
Topics may also be identified and annotated on the basis of context information about meeting participants other than the particular user to whom the topics are presented. For example, if a meeting is being led by a member of an engineering team, technical topics may be assigned a higher relevance for some or all meeting participants. Alternatively, if a meeting is being led by a high-level executive, topics related to business strategy may be assigned a higher relevance. As described below, the factors that influence topic identification may also influence the knowledge results that are produced when a topic is selected.
With respect to security permissions, certain users may be prevented from accessing knowledge related to certain topics, e.g., because the knowledge is derived from sources that the user is does not have permission to view. Security permissions may be specified manually for certain types of sources and automatically for others. For example, all users within an organization may have access to knowledge derived from wiki pages, but knowledge derived from emails may be more tightly controlled by security rules that are based on each email's original recipients.
As topics are identified for a particular portion of the transcript, topic identification module 224 may transmit the resulting annotated transcript portion to user device 210. At the user device, topic selection module 216 may receive the annotated transcript portion and present it to a user. Example user interfaces for presenting annotated transcripts are described below with respect to
Knowledge retrieval module 226 may generate knowledge results for a selected topic. These results may comprise, e.g., a summary, digest, or other collection of knowledge relating to the selected topic, based on data retrieved from knowledge store 240. In some embodiments, knowledge results for a particular topic may include references to related topics. Knowledge retrieval module may also generate results for topics that are selected automatically, without user input. Automatic topic selection may be based on, for example, estimated relevance of selected topics to one or more users.
The knowledge results generated by knowledge retrieval module 226 may comprise information excerpted from one or more primary sources within knowledge store 240. These excerpts may be harmonized to varying degrees. For example, excerpts from multiple sources may be automatically integrated into a coherent whole, e.g., comprising substantially continuous prose. Alternatively, a single primary source may contain an excerpt suitable for presentation by itself, such as a wiki page. Excerpts may also be combined into a list, with separate entries for each excerpt. Knowledge results for different topics may use different approaches for selecting and combining source information. With any approach, the excerpts from the primary sources may include information in various mediums, such as text, images, videos, etc.
Knowledge results for some or all available topics may be partially or completely generated ahead of time. For example, a summary of the knowledge available for a particular topic may be generated and stored in completed form in knowledge store 240. Then, if the topic is selected, whether automatically or by a user, knowledge retrieval module 226 may provide a result for the topic simply by accessing the pre-generated summary. As an example of partially pre-generated results, knowledge store 240 may store associations that link a particular topic with relevant excerpts from primary sources. Then, if the topic is selected, knowledge retrieval module 226 may generate a result by listing the linked excerpts along with the corresponding primary sources.
Knowledge results, much like the topic annotations, may vary between users. Specifically, certain information may be included or excluded when a knowledge result is generated based on security permissions associated with the underlying sources, or with particular topics. In addition, knowledge results on the same topic may vary between users depending on what each user is likely to be familiar with and what each user is likely to be interested in, as determined from information in context store 230.
As results are generated, they may be transmitted to user device 210. The results may be received by knowledge presentation module 218, and presented to one or more users. Example interfaces for such presentation are described below with respect to
As described previously, both topic identification module 224 and knowledge retrieval module 226 may rely on topic lists, indexes, and other reference sources. These reference sources may allow server 220 to identify relevant topics and retrieve relevant knowledge in real time as a meeting transcript is generated. Reference sources may be generated and updated in accordance with a wide variety of techniques, many of which are known to person skilled in the art of natural language processing. Relevant techniques may include topic segmentation, automatic summarization, named entity recognition, and terminology extraction.
In one example, pages on an organizational intranet may include titles that are explicitly designated as such, e.g., according to a database or XML schema. The knowledge sharing system may compile a topic list in part by creating topics for each of the titles. The system may also identify key words from each intranet page, e.g., based on the frequency with which they occur. The identified key words may be stored in an index and associated with the topic that corresponds to the page. These key words may be used to identify topics in a meeting transcript, as described earlier in this disclosure.
Lists, indexes, and other reference sources may need to be updated as information is generated or modified. Therefore, in some embodiments, the knowledge sharing system may maintain a database of dependencies between reference sources and primary sources, or portions thereof. When information in a primary source is modified, any reference sources that depend on that primary source may be updated accordingly.
Meeting transcripts themselves may constitute an important source of knowledge and context. Accordingly, information from meeting transcripts may be included in context store 230 or knowledge store 240. In particular, context store 230 may include the transcript of a meeting that is underway, and the text in the transcript may be used to improve topic identification, automated topic selection, and knowledge retrieval as the meeting goes on. For example, at the beginning of the topic identification module 224 may lack sufficient information to definitively identify certain topics that are being discussed. As the meeting transcript grows, however, more context may be available and additional topics may be identified.
Meeting transcripts are also a source of knowledge. Accordingly, transcripts of past meetings may be included in knowledge store 240. In some situations, meeting transcripts may not be stored permanently (e.g., because they contain sensitive information), but may be used to improve existing reference sources. For example, a meeting transcript may be used to identify associations between related topics, and these associations may be added to a table in knowledge store 240 before the meeting transcript is deleted. Of course, meeting transcripts may also be used to improve reference sources even if they are also stored in full-text form.
Interfaces for Transcript Presentation, Topic Selection, and Knowledge Presentation
As explained above, user device 210 of
With reference to
The annotated transcript displayed in transcript panel 310 may include words 314 associated with a particular meeting participant. The words may be labeled with an identifier of the participant who spoke or wrote the words, such as name 312. The identifier may also comprise, e.g., initials, a portrait, or a graphical avatar. The annotated transcript may also include annotations associated with particular topics, such as annotation 316. Annotations may be presented in various ways, in order to draw a user's attention and invite input such as a finger tap or mouse click. For example, words corresponding to a topic may be underlined, highlighted, or otherwise emphasized. Input directed by a user to a particular annotation may be interpreted as a selection of the corresponding topic.
When a user selects a topic displayed in transcript panel 310, knowledge results corresponding to the topic may be displayed in topic panel 320. Words identifying the topic and/or the knowledge results may be provided in header 322, and the knowledge results themselves may appear below. If the topic is broad or ambiguous, however, it may be associated with several subtopics or possible meanings. Accordingly, a menu may be provided to allow the user to select one of the subtopics or possible meanings, in order to narrow the scope of the knowledge results before they are presented. Thus, for example, when the user selects the topic “Project X” by clicking annotation 316, the topic name may be provided in header 322 and the subtopics of Project X may be listed in menu 324. The results of selecting one of the subtopics from menu 324 are depicted in
As shown in
As described previously with respect to
In some embodiments, a knowledge result for an automatically selected topic may be presented compactly in notification box 404. Such compact presentation may allow knowledge results for an automatically selected topic to be presented with less risk of annoyance to the user, e.g., because knowledge results for incorrectly selected topics may be less conspicuous, and may be less likely to interfere with a user's reading of knowledge results for a manually selected topic. For added convenience, notification box 404 may be configured to disappear automatically after a specific period of time unless input is detected therein. If the user is interested in obtaining more information about an automatically selected topic, button 406 may be used to display detailed knowledge results in the area below heading 322.
Whether knowledge results are displayed in notification box 404 or elsewhere, the timing of automatic topic selection may be configured to avoid interfering with the presentation of knowledge results for manually selected topics. For example, automatic topic selection may be avoided when a user has recently made a manual selection, or input collected at the user device (e.g., scrolling) suggests that the user is currently reviewing knowledge results for a manually selected topic. In some embodiments, manually selected topics may be presented in the style of notification box 404, particularly if the knowledge results for the selected topic are concise.
Although the foregoing disclosure describes a system in which meeting transcripts are generated and displayed on various devices, some embodiments may not include such transcripts. For example, rather than providing a full annotated transcript to a user device, some embodiments may simply provide a list of topics that are identified from a meeting discussion. A topic list may scroll automatically, like an annotated transcript, so that new topics are visible as they are added to the list. Using a topic list in place of an annotated transcript may be advantageous for user devices with small screens, such as mobile phones. In addition, some interfaces may support both annotated transcripts and topic lists. For example, a transcript may be hidden or minimized when knowledge results are displayed, in order to provide additional screen space for viewing the knowledge results. A topic list may be provided when the transcript is hidden so that new topics can continue to be displayed.
Terminology
Depending on the embodiment, certain acts, events, or functions of any of the processes or algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described operations or events are necessary for the practice of the algorithm). Moreover, in certain embodiments, operations or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially.
The various illustrative logical blocks, modules, routines, and algorithm elements described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, elements and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. The described functionality can be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.
The elements of a method, process, routine, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of a non-transitory computer-readable storage medium. An exemplary storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can reside in an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor and the storage medium can reside as discrete components in a user terminal.
Conditional language used herein, such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment. The terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list.
Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it can be understood that various omissions, substitutions, and changes in the form and details of the devices or algorithms illustrated can be made without departing from the spirit of the disclosure. As can be recognized, certain embodiments of the inventions described herein can be embodied within a form that does not provide all of the features and benefits set forth herein, as some features can be used or practiced separately from others. The scope of certain inventions disclosed herein is indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Number | Name | Date | Kind |
---|---|---|---|
6185527 | Petkovic | Feb 2001 | B1 |
7840418 | Schoenberg | Nov 2010 | B2 |
9386107 | Browning | Jul 2016 | B1 |
20040267730 | Dumais | Dec 2004 | A1 |
20050022252 | Shen | Jan 2005 | A1 |
20050216443 | Morton et al. | Sep 2005 | A1 |
20060093998 | Vertegaal | May 2006 | A1 |
20060116861 | Kaplan | Jun 2006 | A1 |
20070016553 | Dumais | Jan 2007 | A1 |
20080027921 | Chandrasekar | Jan 2008 | A1 |
20080028036 | Slawson | Jan 2008 | A1 |
20080065414 | Schoenberg | Mar 2008 | A1 |
20090043581 | Abbott et al. | Feb 2009 | A1 |
20090089088 | Schoenberg | Apr 2009 | A1 |
20090089098 | Schoenberg | Apr 2009 | A1 |
20090252305 | Rohde et al. | Oct 2009 | A1 |
20090313076 | Schoenberg | Dec 2009 | A1 |
20110043652 | King et al. | Feb 2011 | A1 |
20120229446 | Hyndman | Sep 2012 | A1 |