WO2004075466A2 - Systeme et procede pour une extraction, une gestion, une capture, un partage, une decouverte, une distribution et une presentation de connaissances semantiques - Google Patents

Systeme et procede pour une extraction, une gestion, une capture, un partage, une decouverte, une distribution et une presentation de connaissances semantiques Download PDF

Info

Publication number
WO2004075466A2
WO2004075466A2 PCT/US2004/004674 US2004004674W WO2004075466A2 WO 2004075466 A2 WO2004075466 A2 WO 2004075466A2 US 2004004674 W US2004004674 W US 2004004674W WO 2004075466 A2 WO2004075466 A2 WO 2004075466A2
Authority
WO
WIPO (PCT)
Prior art keywords
semantic
user
request
information
smart
Prior art date
Application number
PCT/US2004/004674
Other languages
English (en)
Other versions
WO2004075466A3 (fr
Inventor
Nosa Omoigui
Original Assignee
Nervana, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to EP04711863A priority Critical patent/EP1599811A4/fr
Priority to JP2006503648A priority patent/JP2006522388A/ja
Priority to EA200501304A priority patent/EA200501304A1/ru
Priority to BR0407451-3A priority patent/BRPI0407451A/pt
Priority to AU2004213986A priority patent/AU2004213986A1/en
Priority to MXPA05008670A priority patent/MXPA05008670A/es
Application filed by Nervana, Inc. filed Critical Nervana, Inc.
Priority to CA002555280A priority patent/CA2555280A1/fr
Publication of WO2004075466A2 publication Critical patent/WO2004075466A2/fr
Publication of WO2004075466A3 publication Critical patent/WO2004075466A3/fr
Priority to US11/931,793 priority patent/US20080147788A1/en
Priority to US12/358,224 priority patent/US20100070448A1/en
Priority to US13/168,785 priority patent/US20120191716A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Definitions

  • This invention relates generally to computers and, more specifically, to information management and research systems.
  • the present invention is directed in part to a semantically integrated knowledge retrieval, management, delivery and presentation system, as is more fully described in my co-pending parent application (U.S. Application Serial No. 10/179,651 filed June 24, 2002).
  • the present invention and system includes several additional improved features, enhancements and/or properties, including, without limitation, Entities, Profiles and Semantic Threads, as are more fully described in the Detailed Description below.
  • FIGURE 1 is a partial screenshot overview and FIGURE 2 is an expansion of a dialog box of FIGURE 1 for a scenario of a Patent Examiner using the preferred embodiment in a prior art search, a screenshot of where "Magnetic Resonance imaging" occurs in a Pharmaceuticals taxonomy.
  • FIGURE 3 shows the Sharable Smart Request System Interaction, which is the binary document format that encapsulates the SQML buffer with the smart request and also illustrates how the extension handler opens a document.
  • FIGURE 4A is a partial screenshot overview of document files.
  • FIGURE 4B shows an illustration of two .REQ documents from FIGURE 4A (titled 'Headlines on Reuters Related to My Research Report (Live)' and 'Headlines on Reuters (as of January 21 2003, 08 17AM)' on the far right) with a registered association in the Windows shell.
  • FIGURE 5 is a Diagram Illustrating the Text-to-Speech Object Skin and shows an illustration of an email message being rendered via a text-to-speech object skin.
  • FIGURE 6 is a Diagram Illustrating a Text-to-Speech Request Skin.
  • FIGURE 7 is a Diagram Illustrating Knowledge Modeling for a Pharmaceuticals Company Example.
  • FIGURE 8 is a Diagram Illustrating Client Component Integration and Interaction Workflow.
  • FIGURES 9 - 11 show three different views of the Explore Categories dialog box.
  • FIGURES 12 and 13 show sample screenshots of the Dossier Smart Lens in operation.
  • FIGURE 14 shows how the server-side semantic query processor processes incoming semantic queries (represented as SQML).
  • FIGURE 15 illustrates the semantic browser showing two profiles (the default profile named "My Profile” and a profile named “Patents”). Observe how the user is able to navigate his/her knowledge worlds via both profiles without interference.
  • FIGURE 16A-C illustrate how a user would configure a profile (to create a profile, the user will use the "Create Profile Wizard" and the profile can then be modified via a property sheet as shown in other Figures).
  • FIGURE 17 shows how a user would select a profile when creating a request with the "Create Request Wizard.”
  • FIGURE 18 shows a screenshot with the 'Smart Styles' Dialog Box illustrating some of the foregoing operations and features.
  • FIGURE 19 illustrates the "Smart Request Watch” Dialog Box.
  • FIGURE 20 illustrates a Watch Window displaying Filtered Smart Requests (e.g., Headlines on Wireless).
  • Figure 20 is an Illustration of the Watch Window with a Current Smart Request Title (e.g., "Breaking News").
  • FIGURE 21 illustrates Entity views displayed in the Semantic Browser.
  • FIGURE 22A and 22B show the UI for the Knowledge Community Subscription.
  • FIGURE 23 illustrates a semantic thread object and its semantic links.
  • FIGURES 24 through 46B are additional screen shots further illustrating the functions, options and operations as described in the Detailed Description.
  • FIGURE 47 as a sample semantic image for Pharmaceuticals/Biotech industry (DNA helix).
  • FIGURE 48 is an illustration of a semantically appropriate image visualization for the Breaking News context template.
  • FIGURE 49 is a Visualization — Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc. (Headlines).
  • FIGURE 50 is a Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc. (Two people working at a desk).
  • FIGURE 51 illustrates a semantic "Newsmaker” Visualization or Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 52 illustrates a semantic "Upcoming Events” Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 53 is a Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc. (Petri Dish).
  • FIGURE 54 illustrates a semantic "History” Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 55 illustrates a semantic Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc. (Spacecraft).
  • FIGURE 56 illustrates a "Best Buys" Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 57 illustrates a semantic Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc. (Coffee).
  • FIGURE 58 illustrates a semantically appropriate Sample Image for "Classics" for smart hourglass, interstitial page, transition effects, background chrome, etc. (Car).
  • FIGURE 59 illustrates a semantically appropriate "Recommendation" Visualization - Sample Image for the contextual/application elements of smart hourglass, interstitial page, transition effects, background chrome, etc. (Thumbs up).
  • FIGURE 60 illustrates a semantic "Today” Visualization - Sample Image for the elements smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 61 illustrates a semantic "Annotated Items” Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 62 illustrates a semantic "Annotations” Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 63 illustrates a semantic "Experts" Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 64 illustrates a semantic "Places" Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURE 65 illustrates a semantic "Blenders” Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc.
  • FIGURES 66 through 84 illustrate semantic Visualizations for the following Information Object Types, respectively: Documents, Books, Magazines, Presentations, Resumes, Spreadsheets, Text, Web pages, White Papers, Email, Email Annotations, Email Distribution Lists, Events, Meetings, Multimedia, Online Courses, People, Customers, and Users.
  • Figure 85 illustrates a semantic "Timeline" Visualization - Sample Image for smart hourglass, interstitial page, transition effects, background chrome, etc..
  • RWLs Request Watch Lists
  • RWGs Groups
  • the Examiner could conduct a search, and with no additional effort or time as presently invested, obtain search results relevant to patentability even if they did not contain a single word in common with the key words chosen by the Examiner. Therefore, the system would obtain results relevant to the Examiner's task that would not ordinarily be located by present systems because it can locate references on the basis of meaning.
  • the Examiner is assigned to examine an application directed to computer software for a more accurate method of interpreting magnetic resonance data and thereby generating more accurate diagnostic images.
  • the Examiner would: a. Using the Create Entity wizard, create a "Topic" entity with the relevant categories in the various contexts in which "Magnetic Resonance Imaging” occurs. As an illustration, Figures 1 and 2 show where "Magnetic Resonance Imaging” occurs in a Pharmaceuticals taxonomy. Notice that there are several contexts in which the category occurs. Add the relevant categories to the entity and apply the "OR" operation.
  • the profile is preferably configured to include the "Patent Database” knowledge community. This launches a new
  • the request can be created by using the Create Request Wizard. To do this, select the Dossier context template and select the "Patent Database" knowledge community as the knowledge source for the request.
  • the wizard intelligently suggests a name for the request based on the semantics of the request.
  • the wizard also selects the right default predicates based on the semantics of the "Magnetic Resonance Imaging" "Topic” entity. Because the wizard knows the entity is a "Topic,” it selects the right entities that make sense in the right contexts. Hit Finish.
  • the wizard compiles the query, sends the SQML to the KISes in the selected profile, and then displays the results. hi the foregoing example, the results could be drawn, ultimately, from any source.
  • the results would have originated on the Web, some on the PTO intranet, some on other perhaps proprietary extranets.
  • the system by use of the system they have been automatically processed, and automatically "read” and “understood” by the system, so that when the Examiner's query was initiated, and also "read” and "understood” semantically, and by context, the system locates all relevant, and only relevant results. Again, not perfectly, but radically more accurately than in any prior systems. Note also that the system does not depend on any manual tagging or categorization of the documents in advance.
  • the Examiner may also wish to use additional features of the preferred embodiment of the invention.
  • the Examiner may wish to consult experts within the PTO, or literature by experts outside the PTO, as follows (note that Experts in Magnetic Resonance Imaging would be included in the Dossier on Magnetic Resonance Imaging; however, the examiner might want to create a separate request for Experts in order to track it separately, save it as a "request document," email it to colleagues, etc.). Find all Experts in Magnetic Resonance Imaging: a. Follow steps 1-4 above. b.
  • Biotech companies are research intensive, not only in laboratory research, but in research of the results of research by others, both within and outside of their own companies.
  • the research tools available to such companies have shortcomings.
  • Proprietary services provide context-sensitive and useful results, but those services themselves have inferior tools, and thus rely heavily on indexing and human effort, and subscriptions to expensive specialized journals, and as consequence are very expensive and not as accurate as the present system.
  • biotech researchers can search inexpensively using Google D, but it shares all the key word based limitations described above. i contrast, using the search features of the preferred embodiment of the present invention, a biotech researcher could more efficiently locate more relevant results. Specifically, the researcher might use the system as follows.
  • the researchers may wish to Find all Experts in Marketing or Research: a.
  • b. Drag and drop the "Marketing or Research” entity to the Experts (special agent or default knowledge request) icon in the desired profile. This launches a new request/agent appropriately titled “Experts in Marketing or Research.”
  • the semantic browser selects the right default predicate "in” because it "knows” the entity is a "Team” entity and the context template is a "People” template (Experts).
  • the default predicate is selected based on the intersection of these two arguments ("in") since this is what makes sense.
  • Dossier On Marketing or Research, as follows: a. Follow steps 1-4 above. b. Drag and drop the "Marketing or Research" entity to the Dossier (special agent or default knowledge request) icon in the desired profile. This launches a new Dossier request/agent that displays each special agent (context template). Each special agent is displayed with the right default predicate as follows:
  • the researchers may be interested in Finding "Breaking News on my Competitors", and would do so as follows: a. For each competitor, create a new "competitor" entity (under “companies") using the Create Entity Wizard. Select the right filters as needed. For instance, a competitor with a well-known English name - like "Groove” should have an entity that includes categories in which the company does business and also the keyword. b. Using the Create Entity Wizard, create a portfolio (entity collection) and add all the competitor entities you created in step a. Name the entity collection "My Competitors.” c. Using the Create Request Wizard, select the Breaking News context template and add the portfolio (entity collection) you created in step b. as a filter.
  • the semantic browser will now display a watch pane (e.g., a ticker) showing "Breaking News on My Competitors.”
  • a watch pane e.g., a ticker
  • the researchers may wish to keep records of competitors for future reference, and to have them constantly updated.
  • the system will create and update such records, by the researchers instructing the system to Show a collection of Dossiers on each of our competitors, as follows: a. Create entities for each of your competitors as described in 4a. above. b. For each competitor entity, create a new Dossier on that competitor by dragging the entity to the Dossier icon for the desired profile - this creates a Dossier on the competitor. c. Using the Create Request Wizard, create a new request collection (blender) and add each of the Dossier requests created in step b. above to the collection (you can also drag and drop requests to the collection after it has been created in order to further populate the collection). Hit Next — the wizard intelligently suggests a name for the request collection. Hit Finish. The wizard launches a request collection that contains the individual Dossiers. You can then add the request collection as a favorite and open it everyday to get rich, contextual competitive intelligence.
  • the researchers may wish to review a particular dossier, and can do so by instructing the system to Show a Dossier on the CEO (e.g., named John Smith): a. Using the wizard, launch an information-type request/agent for People with the keywords "John Smith”. b. Select the result and click "Save as Entity” - this saves the object as a "Person” entity (because the semantic browser "knows” the original object is a person - as such, a "Person” entity makes sense in this context). c. Using the Create Request Wizard, select the Dossier context template, and then select the "John Smith” entity as a filter. Hit Next - the wizard intelligently suggests a name for the request based on -the semantics of the request.
  • the wizard also selects the right default predicates based on the semantics of the "John Smith" person entity. Hit Finish.
  • the wizard compiles the query, sends the SQML to the KISes in the selected profile, and then displays the results (as sub-queries/agents) as follows:
  • the Smart Selection Lens is similar to the Smart Lens feature of the Information Nervous System information medium, hi this case, the user can select text within the object and the lens will be applied using the selected text as the object (dynamically generating new "images" as the selection changes). This way, the user can "lens” over a configurable subset of the object metadata, as opposed to being constrained to "lens” over either the entire object or nothing at all.
  • This method gets the SQML from the clipboard, takes the argument SRML for the object, and dynamically creates new SQML that includes the resource in the SRML as a link in the SQML (with the default predicate "relevant to”). The method then returns the new SQML. The Presenter then calls the method:
  • This method passes the generated lens SQML and then retrieves the number of items in the results and the SRML results, preferably asynchronously. For details on this call, see the specification "Information Nervous System Semantic Runtime OCX.” The Presenter then displays a preview window (or the equivalent, based on the current skin) with something like:
  • the timer is preferably reset (this will avoid flashing the window when the user moves the mouse around the same area).
  • outstanding lens query requests (which are regular SQML queries, albeit with SQML dynamically generated consistent with the agent lens) should be cancelled when the Presenter no longer needs them (e.g. if the Presenter is navigating to a new page, or if we are requesting new lens info for an object).
  • such cancellation is not critical from a performance (or bandwidth) standpoint because lens queries will likely only ask for a few objects at a time. Even if the queries are not cancelled, the Presenter can ignore the results. Regardless, because the Presenter also has to deal with stale results, dropping them on the floor -the Presenter will have to do this anyway (whether or not lens queries are also cancelled).
  • the preferred embodiment has asynchronous cancellation implementations - the software component has been designed to always be prepared to ignore bad or stale results.
  • the Presenter preferably has both icons (indicating the current lens request state) and tool-tips:
  • the Presenter can put up a tooltip with the words, "Requesting Lens Info” (or words to that effect).
  • hovering will show the "Found 23 Objects” tip and clicking will show the results.
  • This interstitial tool tip can then be transitioned to the preview window if it is still up when the results arrive.
  • the smart selection lens can be applied to objects other than textual metadata.
  • the Smart Selection Lens can be applied to images, video, a section of an audio stream, or other metadata.
  • the Presenter would return the appropriate SRML consistent with the data type and the "selection region.” This region could be an area of an image, or video, a time span in an audio stream, etc.
  • the rest of the smart lens functionality would apply as described above, with the appropriate SQML being generated based on the SRML (which in turn is based on the schema for the data type under the lens).
  • the Information Nervous System (which, again, is one of our current shorthand names for certain aspects of our presently preferred embodiments) also supports the drag and drop or copy and paste of 'Person' objects (People, Users, Customers, etc.).
  • 'Person' objects People, Users, Customers, etc.
  • the server's semantic query processor merely resolves the SQML from the client using the Person as the argument. For instance, if the user pastes (or drags and drops) a person 'Joe' on top of a smart request 'Headlines on Reuters,' the client will create a new smart request using the additional argument.
  • the Reuters Information Nervous System Web service will then resolve this request by returning all Headlines published or annotated by 'Joe.' In this case, the server will essentially apply the proper default predicate ('published or annotated by') - that makes sense for the scenario.
  • the Reuters Web service (in the preferred embodiment) must return Headlines that are "relevant to Joe's expertise.” This embodiment would then require that the client take a two- pass approach before sending the SQML to the destination Web service. First, it must ask the Knowledge community that the person belongs to for "representative data (SRML)" that represents the person's expertise.
  • SRML representationative data
  • the client queries the Knowledge community from whence the person came for several objects that belong to categories on which the person is an expert, hi the preferred embodiment, the implementation should pick a high enough number of objects that accurately represent the categories of expertise (this number is preferably picked based on experimentation).
  • the reason for picking objects in this case is that the destination Web service will not understand the categories of the Knowledge community from whence the person came and as such will not be able to map them to its own categories.
  • a category mapper can be employed (via a centralized Web service on the Internet) that maps categories between different Knowledge communities, i this case, the destination Knowledge community will always be passed categories as part of the SQML, even though it does not understand those categories - the Knowledge community will then map these categories to internal categories using the category mapper Web service.
  • the category mapper Web service will have methods for resolving categories as well as methods for publishing category mappings.
  • a sharable smart request document is a binary document that encapsulates SQML (via a secure stream in the binary format). It provides a safe, serialized representation of a semantic query that, among other features, can protect the integrity and help protect the intellectual property of the specification.
  • the query itself may embody trade secrets of the researcher's employer, which, if exposed, could enable a competitor to reverse engineer critical competitive information to the detriment of the company.
  • the protection can be accomplished in several ways, including by strongly encrypting the XML version of the semantic query (the SQML) or via a strong one-way hash.
  • the sharable document has an extension (.REQ) that represents the request.
  • An extension handler on the client operating system is installed to represent this extension. When a document with the extension is opened, the extension handler is invoked to open the document.
  • the extension handler opens the document by extracting the SQML from the secure stream, and then creating a smart request in the semantic namespace with the SQML.
  • the handler then opens the smart request in the semantic namespace.
  • the client serializes the SQML representing the smart request in the binary .REQ format and saves it at the requested directory path or opens the email client with the .REQ document as an attachment.
  • Figure 3 shows the binary document format that encapsulates the SQML buffer with the smart request and also illustrates how the extension handler opens the document.
  • a similar model can also be employed for sharing results (via SRML). hi this case, a binary document encapsulates the SRML, rather than the SQML as in the case above.
  • Figure 4A and 4B shows an illustration of two .REQ documents (titled 'Headlines on Reuters Related to My Research Report (Live)' and 'Headlines on Reuters (as of January 21 2003, 08 17AM)' on the far right) with a registered association in the Windows shell.
  • the first request document is 'live' and the second one is a snapshot at a particular time (they are both time-sensitive requests).
  • the operating system has associated the semantic browser application (Nervana Librarian) with the document.
  • the semantic query gets opened in the application.
  • Extension Property Sheet this will create a temporary smart request or entity (depending on the kind of document) in the semantic environment and display the property sheet for a smart request or entity.
  • Extension Tool tips this will display a helpful tool tip when the user hovers over a librarian document (a request, .REQ or an entity, .ENT).
  • the information Nervous System also supports the sharing of what the inventor calls "Smart Snapshots.”
  • a smart snapshot is a smart request frozen in time. This will enable a scenario where the user wants to share a smart request but not have it be “live.” For instance, by default, if the user shares the smart request "Breaking News on Reuters related to this document” with a colleague, the colleague will see the live results of the smart request (based on the "current time”). However, if the user wants to share "[Current] Breaking News on Reuters related to this document," a smart snapshot will be employed.
  • a smart snapshot is the same as a smart request (it is also represented by an SQML query document) except that the "attributes" section of the SQML document contains attributes marking it as a snapshot (the flag QUERYATTRIBUTES_SNAPSHOT).
  • the creation date/time of the SQML document is also stored in the SQML (as before - the SQML schema contains a field for the creation date/time).
  • the user interface the semantic browser, Information Agent, or Librarian
  • the process described above is employed. If the user indicates a smart snapshot, the binary document is populated with the edited SQML (containing the snapshot attribute) and the remainder the process is followed as above.
  • the extension handler opens the document and adds an entry into the semantic namespace as a smart request (as described above).
  • the client's semantic query processor will send the processed SQML to the server's XML web service (as previously described).
  • the server's semantic query processor then processes the SQML and honors the snapshot attribute by invoking the semantic query relative to the SQML creation date/time. As such, results will be relative to the original date/time, thereby honoring the intent of the sender.
  • Virtual Knowledge communities refer to a feature of the Information Nervous System that allows the publisher of a knowledge community to publish a group of servers to appear as though they were one server.
  • Reuters could have per-industry Reuters Knowledge Communities (for pharmaceuticals, oil and gas, manufacturing, financial services, etc.) but might also choose to expose one 'Reuters' knowledge community.
  • Reuters will publish and announce the SQML for the virtual knowledge community (rather than the URL to the WSDL of the XML Web Service).
  • the SQML will contain a blender (or collection) of the WSDLs of the actual Knowledge communities.
  • the semantic browser will then pick up the SQML and display an icon for the knowledge community (as though it were a single server).
  • Semantic queries that are time-sensitive are preferably implemented in an intelligent fashion to account for the rate of knowledge generation at the knowledge community (agency) in question. For instance, 'Breaking News' on a server that receives 10 documents per second is not the same as 'Breaking News' on a server that receives 10 documents per month.
  • the server-side semantic query processor would preferably adjust its time-sensitive semantic query handling according to the rate at which information accumulates at the server. To implement this, general rules of thumb could be used, for instance:
  • N can also be adjusted based on whether the query is a Headline or Breaking News.
  • newsmaker queries is preferably implemented with the same time- sensitivity parameters as Headlines.
  • Text-to-speech is implemented at the object level and at the request level.
  • the object skin runs a script to take the SRML of the object, interprets the SRML, and then passes select pieces of text (in the SRML fields) to a text-to-speech engine (e.g., using the Microsoft Windows Speech SDK) that generates voice output.
  • a text-to-speech engine e.g., using the Microsoft Windows Speech SDK
  • Figure 5 shows a diagram illustrating text-to-speech object skin. When executed, the pipeline shown in Figure 5 results in the following voice output:
  • the semantic browser's presentation engine loads a skin that takes the SRML for all the current objects being rendered (based on the user-selected cursor position) and then invokes the text-to-speech object skin for each object. This essentially repeats the text-to-speech action for each XML object being rendered, one after another.
  • Web services are software building blocks used for distributed computing
  • Figure 6 shows an illustration of several email objects being presented in the semantic browser via a request skin.
  • Language translation skins are implemented similar to text-to-speech skins except that the transform is on the language axis.
  • the XSLT skin (smart style) can invoke a software engine to automatically perform language translation in real-time and then generate XML that is encoded in Unicode (16 bits per character) in order to account for the universe of languages.
  • the XSLT transform that generates the final presentation output then will render the output using the proper character set given the contents of the translated XML.
  • Semantic queries can also be invoked in a language-agnostic fashion. This is implemented by having a translation layer (the SQML language translator) that translates the SQML that is generated by the semantic browser to a form that is suitable for interpretation by the KDS (or KBS) which in turn has a knowledge domain ontology seeded for one or more languages.
  • the SQML language translator translates the objects referred to by the predicates (e.g., keywords, text, concepts, categories, etc.) and then sends that to the server-side semantic query processor for interpretation. The results are then translated back to the original language by the language translation skin.
  • the end user will be able to issue a query for a category as an information type - e.g., 'Web services.'
  • the metadata will then be displayed in the semantic browser, as would be the case for any first-class information object type.
  • Visualizations, dynamic links, context palettes, etc. will also be available using the category object as a pivot. This feature is useful in cases where the user wants to start with the category and then use that as a pivot for dynamic navigation, as opposed to starting off with a smart request (smart agent) that has the category as a parameter.
  • Categorized annotations follow from categqries being first-class objects. Users will be able to annotate a category directly - thereby simulating an email list that is mapped to a category. However, for cases where there are many categories (for instance, in pharmaceuticals), this is not recommended because information can belong to many categories and the user should not have to think about which category to annotate - the user should publish the annotation directly to the knowledge community (agency) where it will be automatically categorized or annotate an object like a document or email message that is more contextual than a category. 11. Additional Context Templates
  • Experts - The Experts feature was indicated as a special agent in my parent application Serial No. 10/179,651. As should have also been understood from that application, the Experts feature can also operate in conjunction with the context templates section. Experts are a context template and as the name implies indicate people that have expertise on one or more subject matters or contexts (indicated by the PREDICATETYPEID_EXPERTON predicate).
  • Interest Group this refers to a context template which as the name implies indicate people that have interest (but not necessarily expertise) on one or more subject matters or contexts (indicated by the PREDICATETYPEJDJNTERESTIN predicate).
  • This context template returns People that have shown interest in any semantic category in the semantic network.
  • a very real-world scenario will have Experts returning people that have answers and interest Group returning results of people that have questions (or answers), hi the preferred embodiment, this is implemented by returning results of people who have authored information that in turn has been categorized in the semantic network, with the knowledge domains configured for the KIS.
  • this context template presents the user with dynamic, semantic communities of interest. It is a very powerful context template.
  • the Interest Group context predicate in turn is interpreted by the server-side semantic query processor. This allows powerful queries like “Interest Group on XML” or “Interest Group on Bioinformatics.” Similarly, this would allow queries (via drag, and drop and/or smart copy and paste) like "Interest Group on My Local Document” and "interest Group on My Competitor (an entity).”
  • the Interest Group context template also becomes a part of the Dossier (or Guide) context template (which displays all special agents for each context templates and loads them as sub-queries of the main agent/request).
  • the context template should have a time-limit for which it detects "areas of interest.” An example of this would be three months.
  • the logic here is that if the user has not authored any information (most typically email) that is semantically relevant to the SQML filter (if available) in three months, the user either has no interest in that category (or categories) or had an interest but doesn't any longer.
  • Annotations of My Items this is a context template that is a variant of Annotations but is further filtered with items that were published by the calling user. This will allow the user to monitor feedback specifically on items that he/she posted or annotated.
  • the semantic browser will support the importation and exportation of user state.
  • the user will be able to save his/her personal state to a document and export it to another machine or vice- versa.
  • This state will include information (and metadata) on:
  • Default user state e.g., computer sophistication level, default areas of interest, default job role, default smart styles, etc.
  • Smart requests per profile
  • Local Requests per profile
  • Subscribed Knowledge Communities per profile
  • the semantic browser will show UI (likely a wizard) that will allow the user to select which of the user state types to import or export.
  • the UI will also ask the user whether to include identity/logon information.
  • the semantic browser will serialize the user state into an XML document that has fields corresponding to the metadata of all the user state types.
  • the semantic browser will navigate the XML document nodes and add or set the user state types in the client environment corresponding to the nodes in the XML document.
  • Local smart requests would allow the user to browse local information using categories from an knowledge community (agency), i the case of categorized local requests, the semantic client crawls the local hard drives, email stores, etc. extracts the metadata (including summaries) and stores the metadata in a local version of the semantic metadata store (SMS).
  • the client sends the XML metadata (per object) to an knowledge community for categorization (via its XML Web Service).
  • the knowledge community then responds with the category assignment metadata.
  • the client updates the local semantic network (via the local SMS) and responds to semantic queries just like the server would.
  • this feature can provide functionality equivalent to a local server without the need for one.
  • Integrated Navigation integrated Navigation allows the user to dynamically navigate from within the Presenter (in the main results pane on the right) and have the navigation be integrated with the shell extension navigation on the left. Essentially, this merges both stacks, hi the preferred embodiment, this is accomplished via event signaling.
  • the Presenter wants to dynamically navigate to a new request, it sets some state off the GUID that identifies the current browser view.
  • the GULD maps to a key in the registry that also has a field called 'Navigation Event,' 'Next Namespace Object ID' and 'Next Path.'
  • the 'Navigation Event' field holds a DWORD value that points to an event handle that gets created by the current browser view when it is loaded.
  • the Presenter When the Presenter wants to navigate to a new request, it creates the request in the semantic environment and caches the returned ID of the request. It then dynamically gets the appropriate namespace path of the request (depending on the information/context type of the request) and caches that too. It then sets the two fields ('Next Namespace Object ID' and 'Next Path' with these two values). Next, it sets the 'Navigation Event' (in Windows, this is done by calling a Win32 API named 'SetEvent').
  • the browser view starts a worker thread when it first starts. This thread waits on the navigation event (and also simultaneously waits on a shutdown event that gets signaled when the browser view is being terminated - in Windows, it does this via a Win32 API named 'WaitForMultipleObjects'). If the navigation event is signaled, the 'Wait' API returns indicating that the navigation event was signaled. The worker thread then looks up the registry to retrieve the navigation state (the object id and the path). It then calls the shell browser to navigate to this object id and path (in Windows, this is done by retrieving a 'PIDL' and then calling IShellBrowser::BrowseTo off the shell view instance that implements IShellView).
  • the Nervana semantic browser empowers the user to dynamically navigate a knowledge space at the speed of thought.
  • the user could navigate along context, information or time axes. However, as the user navigates, he/she might be presented with redundant information. For instance, the user can navigate from a local document to 'Breaking News' and then from one of the 'Breaking News' result objects to 'Headlines.' However, semantically, some of the Headlines might overlap with the breaking news (especially if not enough time has elapsed). This is equivalent to browsing the Web and hitting the same pages over and over again from different 'angles.'
  • the Nervana semantic browser handles this redundancy problem by having a local cache of recently presented results.
  • the Presenter indicates redundant results to the user by showing the results in a different color or some other UI mechanism.
  • the local cache is aged (preferably after several hours or the measured time of a typical 'browsing experience'). Old entries are purged and the cache is eventually reset after enough time might have elapsed. Alternately, at the users option, the redundant results can be discarded and not presented at all.
  • the semantic browser will also handle duplicate results by removing duplicates before rendering them in the Presenter - for instance if objects with the same metadata appear on different Knowledge Communities (agencies). The semantic browser will detect this by performing metadata comparisons. For unstructured data like documents, email, etc., the semantic browser will compare the summaries - if the summaries are identical the documents are very likely to be identical (albeit this is not absolutely guaranteed, especially for very long documents).
  • Client-side Knowledge Federation which allows the user to federate knowledge communities and operate on results as though they came from one place (this federation feature was described in my parent Application Serial No. 10/179,651).
  • Client-side Knowledge Federation is accomplished by the semantic browser merging SRML results as they arrive from different (federated) KISes.
  • Server-Side Knowledge Federation is technology that allows external knowledge to be federated within the confines of a knowledge community. For instance, many companies rely on external content providers like Reuters to provide them with information. However, in the Information Nervous System, security and privacy issues arise - relating to annotations, personal publications, etc. Many enterprise customers will not want sensitive annotations to be stored on remote servers hosted and managed by external content providers.
  • Reuters will provide their content to a customer like Intel but Intel will host and manage the KIS.
  • the Intel KIS would crawl the Reuters KIS (thereby chaining KIS servers) or the Reuters DSA. This way, sensitive Intel annotations can be published as 'Post-Its' using Reuters content as context while Intel will still maintain control over its sensitive data.
  • Federated annotations is a very powerful feature that allows the user to annotate an object that comes from one agency/server (KIS) and annotate the object with comments (and/or attachment(s)) - like "Post-Its" on another server.
  • a server (call it Server A) might not support annotations (this is configurable by the administrator and might be the common case for Internet-based servers that don't have a domain of trust and verifiable identity).
  • a user might get a document (or any other semantic result) from Server A but might want to annotate that object on one or more agencies (KISes) that do support annotations (more typically Intranet or Extranet-based agencies that do have a domain of trust and verifiable identity).
  • the annotation email message would include the URI of the object to be annotated (the email message and its attachment(s) would contain the annotation itself).
  • the server crawls its System Inbox and picks up the email annotation, it scans the annotation's encoded To or Subject field and extracts the URI for the object to be annotated. If the URI refers to a different server, the server then invokes an XML Web Service call (if it has access) to that server to get the SRML metadata for the object. The server then adds the SRML metadata to its Semantic Metadata Store (SMS) and adds the appropriate semantic links from the email annotation to the SRML object.
  • SMS Semantic Metadata Store
  • the destination server (for the annotation) does not have access to the server on which the object to be annotated resides, the destination server informs the client of this and the client then has to get the SRML from the server (on which the object resides) and send the complete SRML back to the destination server (for the annotation).
  • This embodiment essentially implies that the client must first "de-reference" the URI and send the SRML to the destination server, rather than having the destination server attempt to "de-reference" the URI itself. This approach might also be superior for performance reasons as it spreads the CPU and I/O load across its clients (since they have to do the downloading and "de-referencing" of the URI to SRML).
  • Semantic Alerts for Federated Annotations hi the same manner that semantic browser would poll each KIS in the currently viewed user profile for "Breaking News" relevant to each currently viewed object on a regular basis (e.g., every minute), the same will be performed for annotations. Essentially, this resembles polling whether each object that is currently displayed "was just annotated.” For annotations that are not federated (i.e., annotations that have strong semantic links to the objects they annotate), this is a straightforward SQML call back to the KIS from whence the annotated object came.
  • the semantic browser would poll each KIS in the selected profile and pass the URI of the object to "ask" the KIS whether that object has been annotated on it. This way, semantic alerts will be generated even for federated annotations.
  • every category will be qualified with at least the following properties:
  • Knowledge Domain ID this is a globally unique identifier that uniquely identifies the knowledge domain from whence the category came
  • the categories knowledge domain id (and not the name) is preferably used in the category URI, because the category could be renamed as the knowledge domain evolves (but the identifier should remain the same).
  • the knowledge domain id is c9554bce-aedf-4564-81f7-48432bf8e5a0
  • the URI type is "category”
  • the category path is "Information Technology/Wireless/80211”.
  • the semantic browser will also allow users to anonymously annotate and publish to an knowledge community (agency).
  • the metadata is completely stored (with the user identity) but is flagged indicating that the publisher wishes to remain anonymous.
  • the inference Engine can infer using the complete metadata but requests for the publisher will not reveal his/her identity.
  • the administrator will also be able to configure the knowledge community (agency) such that the inference engine cannot infer using anonymous annotations or publications.
  • the semantic browser will also have offline support.
  • the browser will have a cache for every remote call.
  • the cache will contain entries to XML data. This could be SRML or could be any other data that gets returned from a call to the XML Web Service.
  • Each call is given a unique signature by the semantic browser and this signature is used to hash into the XML data. For instance, a semantic query is hashed by its SQML. Other remote calls are hashed using a combination of the method name, the argument names and types, and the argument data.
  • the semantic runtime client For every call to the XML Web Service, the semantic runtime client will extract the signature of the call and then map this to an entry in the local cache. If the browser (or the system) is currently offline, the client will return the XML data in the cache (if it exists). If it does not exist, the client will return an error to the caller (likely the Presenter). If the browser is online, the client will retrieve the XML data from the XML Web Service and update the cache by overwriting the previous contents of the file entry with a file path indicated by the signature hash.
  • the information Nervous System can be implemented in a cross-platform manner.
  • Standard protocols are preferably employed where possible and the Web service layer should use interoperable Web service standards and avoid proprietary implementations.
  • the test is that the semantic browser does not have to "know" whether the Knowledge community (or agency) Web service it is talking to is running on a particular platform over another.
  • the semantic browser need not know whether the Web service it is talking to is ranning on Microsoft's .NETTM platform or Sun's J2EE platform (to take 2 examples of proprietary application servers), a Linux or any other "open source” server.
  • the Knowledge community Web service and the client- server protocol should employ Web service standards that are commonly supported by different Web service implementations like .NETTM and J2EETM.
  • the Knowledge community schema is preferably extended to include a field that indicates the Web service platform implementation.
  • a .NETTM implementation of the Knowledge community is preferably published with a field that indicates that the platform is .NETTM.
  • J2EETM J2EETM.
  • the semantic browser will then have access to this field when it retrieves the metadata for the Knowledge community (either directly via the WSDL URL to the Knowledge community, or by receiving announcements via multicast, the enterprise directory (e.g., LDAP), the Global Knowledge community Directory, etc.).
  • the semantic browser can then issue platform-specific calls depending on the platform that the Knowledge community is running on. This is not a recommended approach but if it is absolutely necessary to make platform-specific calls, this model is preferably employed in the preferred embodiment.
  • Knowledge Modeling refers to the recommended way enterprises will deploy an Information Nervous System. This involves deploying several KIS servers (per high-level knowledge domain) and one (or at most few) KDS (formerly KBS) servers that host the relevant ontology and taxonomy. KIS servers are preferably deployed per domain to strike a balance between being too narrow such that there is not enough knowledge sharing possibility of navigation and inference in the network and being too high that scalability (in storage and CPU horsepower needed by the database and/or the inference engine) becomes a problem.
  • KIS servers are preferably deployed where access control becomes necessary at the server level (for higher-level security) as opposed to imposing access control at the group level with multiple groups sharing the same KIS.
  • a large pharmaceutical company could have a knowledge community KIS for oncology for the entire company and another KIS for researchers working on cutting-edge R&D and applying for strategic patents. These two KIS' might crawl the same sources of information but the latter KIS would be more secure because it would provide access only to users from the R&D group.
  • these researchers' publications and annotations will not be viewable on the corporate KIS.
  • FIG. 7 illustrates an example of a possible knowledge architecture for a pharmaceuticals company.
  • the KDS can serve several subsidiary KIS', as follows:
  • Knowledge integration Server 1 Oncology
  • Knowledge Integration Server 2 (Pharmacology)
  • Knowledge Integration Server 3 Biotechnology
  • Knowledge Integration Server 4 (Cardiology)
  • Knowledge Domain Server Purge
  • the Knowledge Integration Server will allow the admin to set up 'housekeeping' rales to purge old or stale metadata. This will prevent the SMS on the KIS from growing infinitely large. These rules could be as simple as purging any metadata older than a certain age (between 2-5 years depending on the company's policies for keeping old data) and which does not have any annotations and that is not marked as a favorite (or rated).
  • the client components of the system can be integrated in several different steps or sequences, as can the workflow interaction or usage patterns.
  • the workflow and component integration would be as follows:
  • Shell User implicitly creates a SQML query (i.e. an agent) via UI navigation or a wizard.
  • Registry entry contains: Agent Name, Creation date, Agent (Request)- GULO, SQML path, Comments, Namespace object type (agency, agent, blender, etc), and attributes
  • Shell The request is handed off to the presenter: a) A registry request GULD entry is created containing (namespace path that generated the request, and SQML file URL). b) Browser is initialized and opened with command line http://PresenterPage.html#RequestGUID http://presenterpage.html/. The Presenter loads default Chrome contained in the page. c) Presenter page loads presenter binary behavior and Semantic Runtime OCX.
  • Query Manager Monitors server requests and makes callback on data. It also signals an event on request completion or timeout. The callback is into the Presenter, which mean inter-process messaging to pass the XML.
  • Presenter receives data and loads appropriate skin: a) Receives SRML data in buffer; this will happen incrementally. b) Determines if there is a preferred skin (smart style) associated with this agent, otherwise chooses default skin. c) Transforms SRML into preferred skin format via XSLT. This is multistage, for the tree of results (root is list, then objects, then Deep/Lens/BN info) as results come in. d) Display results in target DIV in page. The target is an argument to the behavior itself and is defined by the root page.
  • Presenter Calls Semantic Runtime to fill context panels (per context template), deep info, smart copy and paste, and other semantic commands.
  • the Presenter also loads the smart style, which then loads semantic images, motion, etc. consistent with the semantics of the request.
  • Figure 8 illustrates the presently preferred client component integration and interaction workflow described above.
  • the Categories Dialog Box allows the user to select one or more categories from a category folder (or taxonomy) belonging to a knowledge domain. While more or fewer can be deployed in certain situations, in the preferred embodiment, the dialog box has all of the following user interface controls:
  • Profile this allows the user to select a profile with which to filter the category folders (or taxonomies) based on configured areas of interest. For instance, if a profile has areas of interest set to "Health and Medicine,” selecting that profile will display only those category folders that belong to the "Health and Medicine” area of interest (for instance, Pharmaceuticals, Healthcare, and Genes). This control allows the user to focus on the taxonomies that are relevant to his/her knowledge domain, without having to see taxonomies from other domains.
  • Area of Interest this allows the user to select a specific area of interest.
  • this combo box is set to "My Areas of Interest” and the profile combo box is set to "All Profiles.” This way, the dialog box will display category folders for all areas of interest for all profiles. However, by using the "Area of interest” combo box, the user can directly specify an area of interest with which to filter the category folders, regardless of the areas of interest in his/her pro file(s).
  • Publisher Domain Zone/Name this allows the user to select the domain zone and name of the taxonomy publisher. This is advantageous to distinguish publishers that might have name collisions.
  • the Publisher Domain Name uses the DNS naming scheme (for instance, IEEE.org, Reuters.com).
  • the domain zone allows the user to select the scope of the domain name.
  • the options are Internet, Intranet, and Extranet.
  • the zone selection further distinguishes the published category folder (or taxonomy).
  • a fairly common case would be where a department in a large enterprise has its own internal taxonomy. In this case, the department will be assigned the Intranet domain zone and will have its own domain name - for instance, Intranet ⁇ Marketing or Intranef ⁇ Sales.
  • Category Folder this allows the user to select a category folder or taxonomy. When this selection is made, the categories for the selected category folder are displayed in the categories tree view.
  • Search categories this allows the user to enter one or more keywords with which to filter the currently displayed categories. For instance, a Pharmaceuticals researcher could select the Pharmaceuticals taxonomy but then enter the keyword "anatomy" to display only the entries in the taxonomy that contain the keyword “anatomy.”
  • the taxonomy entry "Anatomy ⁇ Cells ⁇ Chromaffin Cells” will be included in a hierarchy filter because the hierarchy includes the word “Anatomy.” However, it will be excluded from a names filter because the end-name (“Chromaffm Cells”) does not include the word "Anatomy.”
  • search options allow the user to select whether the dialog box should check for all keywords, for any keyword, or for the exact phrase.
  • Categories Tree View - the tree view displays the taxonomy hierarchy and allows the user to select one or more items to add to the Create Request Wizard or to open as a new Dossier (Guide) request/agent.
  • the user interface breaks the category hierarchy into "category pages" - for performance reasons.
  • the UI allows the user to navigate the pages via buttons and a slide control. There is also a "Deselect All” button that deselects all the currently selected taxonomy items.
  • My parent application (Serial No. 10/179,651) described how the KIS can use a consistency checker (CC) to periodically purge stale entries from the SMS.
  • this approach might impair perfonnance because the CC would have to periodically scan the entire SMS and confirm whether the indexed objects still exist.
  • An alternative embodiment of this feature of the invention is to have the client (the semantic browser) notify the server if it gets a 404 error. To do this, the semantic browser would have to track when it gets a 404 error for each result that the user "opens.”
  • the client can poll for the HTTP headers when it displays the results, even before the user opens the results. In this case, if the source web server reports a 404 error (object not found), the client should report this to the KIS.
  • the KIS When the KIS gets a "404 report" from the client, it then intelligently decides whether this means the object is no longer available.
  • the KIS cannot arbitrarily delete the object because it is possible that the 404 error was due to an intermittent Web server failure (for instance, the directory on the Web server could have been temporarily disabled).
  • the KIS should itself then attempt to asynchronously download the object (or at the very least, the HTTP headers in the case of a Web object) several times (e.g., 5 times). If each attempt fails, the KIS can then conclude that the object is no longer available and remove it from the SMS. If another client reports the 404 error for the same object while the KIS is processing the download, the KIS should ignore that report (since it is redundant).
  • This alternate technique could be roughly characterized as lazy consistency checking, h some situations, it may be advantageous and preferred.
  • the server performs duplicate detection by checking the source URIs before adding new objects into the semantic metadata store (SMS).
  • SMS semantic metadata store
  • the server does not perform strict duplicate-detection. In such cases, duplicate detection is best performed at the client.
  • the client federates results from several KISes, it is possible for the client to get duplicates from different KISes. As such, it is advantageous if the client also performs duplicate detection.
  • the client removes objects that are definitely duplicates and flags objects that are likely duplicates. Definite duplicates are objects that have the same URI, last modified time stamp, summary/concepts, and size.
  • Likely duplicates are objects that have the same summary/concepts, but have different URIs, last modified times, or sizes. For objects for which summary extraction is difficult, it is recommended that the title also be used to check for likely duplicates (i.e., objects that have the same summary but different titles are not considered likely duplicates because the summary might not be a reliable indicator of the contents of the object).
  • the semantic browser can limit the file-size check to plus or minus N % (e.g., 5%) - for instance, an object with the same summary/concepts and different URIs, last-modified times, and sizes might be disqualified as a likely duplicate if the file-size is within 5% of the file-size of the object it is being compared to for redundancy checking.
  • N % e.g., 5%
  • the client also provides the user with a seamless user experience when there are multiple knowledge communities (agencies) subscribed to a user profile.
  • the semantic browser preferably presents the results as though they came from one source.
  • the browser preferably presents the user with one navigation cursor - as the user scrolls, the semantic browser re-queries the KISes to get more results.
  • the semantic browser keeps a results cache big enough to prevent frequent re-querying - for instance, the cache can be initialized to handle enough results for between 5-10 scrolls (pages).
  • the cache size are preferably capped based on memory considerations.
  • the browser checks if the current page generates a cache hit or miss. If it generates a cache hit, the browser presents the results from the cache, else if re-queries the KISes for additional results which it then adds to the cache.
  • the cache can be implemented to grow indefinitely or to be a sliding window.
  • the former option has the advantage of simplicity of implementation with the disadvantage of potentially high memory consumption.
  • the latter option which is the preferred embodiment, has the advantage of lower memory consumption and higher cache consistency but with the cost of a more complex implementation.
  • the semantic browser will purge results from pages that do not fall within the window (e.g., the last N - e.g., 5-10 - pages as opposed to all pages as with the other embodiment).
  • the client also provides the user with a seamless user experience when authenticating the user to his/her subscribed knowledge communities (agencies). It does this via what the inventor calls "virtual single sign-on.”
  • This model involves the semantic browser authenticating the user to knowledge communities without the user having to enter his/her username and password per knowledge community.
  • the user will have a few usernames and passwords but might have many knowledge communities of which he/she is a member (especially within a company based on departmental or group access, and on Internet- based knowledge communities).
  • the ratio of the number of knowledge communities to the number of authentication credentials (per user) is likely to be very high.
  • the user specifies his/her logon credentials to the semantic browser in a server (knowledge community)-independent fashion.
  • the semantic browser stores the credentials in a Credential Cache Table (CCT).
  • CCT has columns as illustrated below:
  • logon user name e.g., an email address
  • KCEL Knowledge Community Entry List
  • the semantic browser When the user first attempts to subscribe to a knowledge community (or access the knowledge community in some other way - for instance, to get the properties of the community), the semantic browser prompts the user for his/her password and then tries to logon to the server using the supplied credentials. If a logon is successful, the semantic browser creates a new CCT entry (CCTE) with the supplied credentials and adds the KC to the Knowledge Community Entry List (KCEL) for the new CCT entry.
  • CCTE CCT entry
  • KCEL Knowledge Community Entry List
  • the semantic browser For each subsequent subscription attempt, the semantic browser checks the CCT to see if the KC the user is about to subscribe to is in the KCEL for any CCTE. If it is, the semantic browser retrieves the credentials for the CCTE and logs the user on with those credentials. This way, the user does not have to redundantly enter his/her logon credentials.
  • the semantic browser also supports pass-through authentication when the operating system is already logged on to a domain. For instance, if a Windows machine is already logged on to an NT (or Active Directory) domain, the client-side Web service proxy also includes the default credentials to attempt to logon to a KC. hi the preferred embodiment, the additional credentials supplied by the user are preferably passed via SOAP security headers (via Web Services Security (WS-Security) or a similar scheme).
  • WS-Security Web Services Security
  • the semantic browser exposes a property to allow the user to indicate whether the credentials for a CCTE are preferably purged when the KCEL for the CCTE is empty or whether the credentials should be saved, hi the preferred embodiment, the credentials are preferably saved by default unless the user indicates otherwise. If the user wants the credentials purged, the semantic browser should remove a KC from a CCTE in which it exists when that KC is no longer subscribed to any profile in the browser. If after removing the KC from the CCTE's KCEL, the CCTE becomes empty, the CCTE is preferably deleted from the CCT.
  • the virtual single sign-on feature like many of the features in this application, could be used in applications other than with my Information Nervous System or the Virtual Librarian. For example, it could be adapted for use by any computer user who must log into more than one domain.
  • the table below shows the actions that the semantic browser invokes when namespace objects are copied and pasted onto other namespace objects.
  • the Information Nervous SystemTM will support dynamic updates of ontologies and taxonomies.
  • Knowledge domain plug-ins that are published by Nervana (or that are provided to Nervana by third-party ontology publishers) will be hosted on a central Web service (an ontology depot) on the Nervana Web domain (Nervana.com).
  • Each KDS will then periodically poll the central Web service via a Web service call (for each of its knowledge domain plug-ins, referenced by the URI or a globally unique identifier of the plug-in) and will "ask” the Web service if the plug-in has been updated.
  • the Web service will use the last-modified timestamp of the ontology file to determine whether the plug-in has been updated. If the plug-in has been updated, the Web service will return the new ontology file to the calling KDS.
  • the KDS then replaces its ontology file.
  • the KDS If the KDS is running during the update, it will ordinarily temporarily stop the service before replacing the file, unless it supports file-change notifications and reloads the ontology (which is the recommended implementation).
  • Each KIS also has to poll each KDS it is connected to in order to "ask" the KDS if its ontology has changed.
  • the KIS should poll the KDS and not the central Web service in case the KDS has a different version of the ontology.
  • the KDS also uses the last modified time stamp of the knowledge domain plug-in (the ontology) to determine if the ontology has changed. It then indicates this to the KIS. If the ontology has changed, the KIS needs to update the semantic network accordingly. In the preferred embodiment, it does this by removing semantic links that refer to categories that are not in the new version of the ontology and adding/modifying semantic links based on the new version of the ontology.
  • the client purges the semantic network and re-indexes it.
  • the client polls each KIS it is subscribed to in order to determine if the taxonomies it is subscribed to (directly via the central Web service or via the KISes) have changed.
  • the KIS exposes a method via the XML Web service via which the client determines if the taxonomy has changed (via the last modified time stamp of the taxonomy/ontology plug-in file). If the taxonomy has changed, the client needs to update the Categories Dialog user interface (and other Ul-based taxonomy dependents) to show the new taxonomy.
  • the client For taxonomies that are centrally published (e.g., via Nervana), the client should poll the central Web service to update the taxonomies.
  • Dossier (Guide) queries are preferably invoked by the client-side semantic query processor by parsing the SQML of the request/agent and replacing the Dossier context predicate with each special agent (context template) context predicate - e.g., All Bets, Best Bets, Breaking News, Headlines, Random Bets, Newsmakers, etc.
  • Each query (per context template) is then invoked via the query processor - just like an individual query. This way, the user operates at the level of the Dossier but the semantic browser maps the dossier to individual queries behind the scenes.
  • the client-side semantic query processor retains every other predicate except the context predicate. This way, the filters remain consistent as illustrated by the example above.
  • dossiers can be used as a Smart Lens (just like how they can be targets for drag and drop, smart copy and paste, etc.).
  • the smart lens displays a "Dossier Preview Window" with sections/tabs/frames for each context template (special agent). Sample screenshots of the Dossier showing the UI of the Dossier Smart Lens are included in Figures 12 and 13.
  • the semantic browser adds the KC's email address to the local email contacts (e.g., in Microsoft Outlook or Outlook Express). This makes it easy for the user to publish knowledge to the KC by sending it email (via the integrated contacts list). Similarly, when the KC is unsubscribed from all profiles, the semantic browser prompts the user whether it should remove the KC from the local email contacts list. 32. Dynamic Ontology and Taxonomy Mapping
  • the Information Nervous SystemTM accomplishes this by the following algorithm:
  • Each KDS will be responsible for ontology mapping (via an Ontology Mapper (OM)) and will periodically update the central Web service (the ontology depot) with an Ontology Mapping Table (OMT).
  • the updates are bi-directional: the KDS will periodically update its ontologies and taxonomies from the central Web service and send updates of the OMT to the central Web service.
  • Each OMT will be different but the central ontology depot will consolidate all OMTs into a Master OMT.
  • the ontology mapper will create a consistent user experience because the user wouldn't have to select all items in the umbrella taxonomy that are relevant but overlapping.
  • the semantic browser will automatically handle this.
  • the KIS wouldn't have any concept of the mapper but will get mapped results from the KDS which it will then use to update the semantic network.
  • the KDS and KIS administrators would still be responsible for selecting the right KDS ontology plug-ins, however - based on the quality of each ontology/taxonomy (the ontology mapping doesn't improve ontologies; it merely maps them).
  • Semantic Alerts in the semantic browser can be optimized by employing the following rule (in order):
  • Headlines are implemented similar to Breaking News except with a larger time window. As a consequence, if there are no Headlines (in the preferred embodiment), there is no Breaking News. Also, in the preferred embodiment, Newsmakers are implemented by returning the authors of Headlines. As such, if there are no Headlines, there are no Newsmakers.
  • Corbis http://www.corbis.com
  • Getty Images http://www.gettyimages.com
  • the Information Nervous SystemTM can use these kinds of images for semantic images that are not only context-sensitive but also "fresh.” This can be advantageous in terms of keeping the user interface interesting and "new.” For instance, "Breaking News on SARS” can show not only pharmaceutical images but images showing doctors responding to recent SARS outbreaks, etc.
  • Semantic images can be dynamically and intelligently selected using the following rules:
  • the currently displayed namespace object is a request, parse the SQML of the object for categories. If there are categories, send the categories to the central Web service (that hosts the semantic image cache) to get images that are relevant to the categories. Also, send the request type (e.g., knowledge types like All Bets and Headlines, or information types like Presentations) to the central Web sendee to return images consistent with the request type
  • the request type e.g., knowledge types like All Bets and Headlines, or information types like Presentations
  • the namespace object is not a request, send the areas of interest for the current profile (if available) to the central Web service.
  • the Web service then returns semantic images consistent with the profile's areas of interest. If the profile does not have configured areas of interest, send the areas of interest for the application (the semantic browser). If the application does not have configured areas of interest, send an empty string to the central Web service - in this case, the central Web service returns generic images (e.g., branded images).
  • Dynamic Knowledge Community Contacts Membership Knowledge communities (agencies) have members (users that have read, write, or read- write access to the community) and contacts. Contacts are users that are relevant to the community but are not necessarily members. For example, a departmental knowledge community (KC) in a large enterprise would likely have the members of the department as members of the KC but would likely have all the employees of the enterprise as contacts. Contacts are advantageous because they allow members of the KC to navigate users that are semantically relevant to the KC but might not be members. The KC might semantically index
  • the index in this case would include the contacts even though the contacts are not members of the KC.
  • Core members are users that are very active in the community while peripheral members include "other" users such as knowledge hobbyists, occasional contributors, potential recruits, and even members of other relevant communities.
  • the KIS With dynamic KC contacts membership in the Information Nervous SystemTM, the KIS will add users to its Contacts table in the semantic metadata store (SMS) and to the semantic network "when and as it sees them” (in other words, as it indexes email messages that have new users that are not members). This allows the community to dynamically expand its contacts, but in a way that distinguishes between Members and mere Contacts, and "understands” the importance of the distinction semantically when operating the system (e.g., executing searches and the like).
  • SMS semantic metadata store
  • the KIS also indexes concepts (key phrases) and keywords as first-class members of the semantic network. This can be done in a domain-independent fashion as follows:
  • Entities can be defined with categories and can be further narrowed with keywords (to disambiguate the keywords in the case where the keywords could mean different things in different contexts).
  • Integrated full-text indexing allows the KIS semantic query processor (SQP) to interpret entities seamlessly - by applying the necessary sub-queries with categories and keywords/concepts to the semantic network.
  • SQL KIS semantic query processor
  • the KIS might not have the resources to store semantic links between People and objects on a per-object basis.
  • semantic-based redundancy is not the same as per-object redundancy — as in email.
  • email clients allow users to select an email message as read or unread - this is typically implemented as a flag stored on the mail server with the email message.
  • email is not a semantic system, a semantically similar or identical message on the server would not be flagged as such - the user has to flag each message separately regardless of semantic redundancy.
  • the user is able to flag an object as read not unlike in email.
  • the semantic browser extracts the concepts from the object and informs all the KISes in the request profile that the "concepts" have been read.
  • the KIS then dynamically maps the concepts to categories via the KDSes it is configured with and adds a flag to the objects belonging to those categories (in the preferred embodiment) and/or adds a flag to the semantic network with a semantic link with the predicate PREDICATETYPEID_VIEWEDCATEGORY between the categories corresponding to the concepts and all the objects that are linked to the categories.
  • the KIS should only flag those categories over a link-strength threshold (for the source concepts). This ensures that only those objects (in the preferred embodiment) and/or categories that are semantically close to the original object will be flagged.
  • the KISes When the semantic browser flags the object via the KISes, the KISes should return a flag indicating whether the network was updated (it is possible that no changes would be made in the event that the object does not have any "strong” categories or if there are no other objects that share the same "strong” categories). If at least one KIS in the request profile indicates that the network was updated, the semantic browser should refresh the request/agent.
  • the semantic browser can expose a property to allow the user to indicate whether he/she wants the KISes to return only unread objects or all objects (read or unread), in which case the browser should display unread objects differently (like how email clients display unread messages in a bold font).
  • the presentation layer in the semantic browser should then display the read and unread objects with an appropriate font and/or color to provide a clear visual distinction.
  • Multi-select object lens is an alternative implementation of the object lens that was described in my parent application, hi that embodiment, the object lens was invoked via smart copy and paste - pasting an object over another object would invoke the object lens with the appropriate default predicate. This has the benefit of allowing the user to copy objects across instances of the semantic browser, across profiles, and from other environments (like the file- system, word processors, email clients, etc.).
  • the object lens is a Dossier Lens (the context predicate is a Dossier, the filters are the source and target objects, and the profile is the profile in which the source object was displayed).
  • Multi-selection can also be used instead of copy and paste to invoke an object lens.
  • the semantic browser will allow the user to select multiple objects (results). The user can then hit a button (or alternative user-interface object) to invoke the object lens on the selected objects.
  • a Dossier Lens will be displayed (in a preview pane) with a Dossier context predicate, with the filters as the selected objects, and the current profile as the request profile.
  • the KIS (in the preferred embodiment) would only add objects to the Semantic Metadata Store (SMS) if those objects belong to at least one category from at least one of the knowledge domains the KIS is configured with (via one or more KDSes). This essentially means the KIS will not index objects it "does not understand.” The exception to this is that the KIS will index all objects from its System Inbox - because this contains at-times personal community-specific publications and annotations that might be relevant but not always semantically relevant.
  • SMS Semantic Metadata Store
  • a side-effect of this ontology-based filtering model is spam management - ontology- based indexing would be effective in preventing spam from being indexed and stored. If users use the semantic browser to access email, as opposed to their inboxes, only email that has been semantically filtered will get through.
  • the results of a request/agent can be further refined via additional filters and predicates.
  • the request/agent Headlines on Bioinformatics could be further refined with keywords specific to certain areas of Bioinformatics. This way, the end-user can further narrow the result set using the request/agent as a base.
  • the user can specify a time-window to override the default time-window. For example, the default Breaking News time-request could be set to 3 hours. The user should be able to override this for a specific request/agent (in addition to changing the defaults on a per-profile or application-wide basis) with an appropriate UI mechanism (e.g., a slider control that ranges from 1 hour to 24 hours). The same applies to Headlines and Newsmakers (e.g., a slider control that ranges from 1 day to 1 week).
  • the semantic browser invokes the XML Web Service call for each of the KISes in the request profile and passes the override arguments as part of the call. If override arguments are present, the Web service uses those values instead of the default filter values. The same applies to additional filters (e.g., keywords) - these will be passed as additional arguments to the Web service and the Web service will apply additional sub-queries appropriately to further filter the query that is specified in the agent/request SQML (in other words, the SQML is passed as always, but in addition, the filter overrides and additional filters are also passed).
  • additional filters e.g., keywords
  • a good case for filter-overrides will be for Best Bets.
  • the default semantic relevance strength for Best Bets could be set to 90% (in the preferred embodiment).
  • Exposing a relevance UI control e.g., a slider control that ranges from 0% to 100%
  • This essentially allows the user to change the Best Bets on the fly from “All Bets” (0%) all the way to "Perfect Bets" (100%).
  • a hybrid model should also be employed for embodiments of context template (special agent) implementations that involve multiple axes of filtering. For instance, Breaking News could also impose a relevance filter of 25% and Headlines and Newsmakers could impose a relevance filter of 50% (Breaking News has a lower relevance threshold because it has a higher time-sensitivity threshold; as such, the relevance threshold can be relaxed), i this case, the semantic browser should expose UI controls to allow the user to refine the special agents across both axes (a slider control for time-sensitivity and another slider control for relevance).
  • the semantic browser can display UI controls for each special agent displayed in the Dossier - the main Dossier pane can show all the UI controls (changing any UI control would then refresh the Dossier sub-request for that special agent). Also, if the Dossier has tabs for each special agent, each tab can have a UI control specific to the special agent for the tab.
  • the Information Nervous SystemTM can also be used to manage information stores such as personal email inboxes, personal contact lists, personal event calendars, a desktop file-system (e.g., the Microsoft Windows Explorer file-management system for local and network-based files), and also other stores like file-shares, content management systems, and web sites.
  • information stores such as personal email inboxes, personal contact lists, personal event calendars, a desktop file-system (e.g., the Microsoft Windows Explorer file-management system for local and network-based files), and also other stores like file-shares, content management systems, and web sites.
  • the client runtime of the semantic browser should periodically poll the store via a programmatic interface to check for items that have become redundant, stale, or meaningless. This would address the problem today where email inboxes keep growing and growing with stale messages that might have "lost their meaning and relevance.”
  • email inboxes keep growing and growing with stale messages that might have "lost their meaning and relevance.”
  • many computer users are losing the ability to manage their email inboxes themselves, resulting in a junk-heap of old and perhaps irrelevant messages that take up storage space and make it more difficult to find relevant messages and items.
  • the client runtime should enumerate the items in the user's information stores, extract the concepts from the items (e.g., from the body of email messages and from local documents) and send the concepts to the KISes in the user's profiles. In an alternative embodiment, only the default profile should be used. The client then essentially "asks" the user's subscribed KISes whether the items mean anything to them. In the preferred embodiment, the client should employ the following heuristics:
  • the client should check for meaninglessness or irrelevance.
  • the client should only check items that are "older" than N days (e.g., 30 days) by examining the last-modified time of the email item, document, or other object.
  • N days e.g. 30 days
  • the client should specify a very low threshold of meaning to the XML Web Service (e.g., 25%) for preservation. Essentially, this is akin to deleting (or flagging) those items that are very old and weak in meaning.
  • the client should specify a very low threshold (e.g., 10%) for preservation. This is akin to deleting (or flagging) those items that are fairly old and very weak in meaning.
  • the client should specify a very low threshold (e.g., 0%) for preservation. This is akin to deleting (or flagging) those items that are old (but not too old) but are meaningless, based on the user's profile(s).
  • a very low threshold e.g., 0%
  • the model for this aspect or feature of the preferred embodiment balances semantic sensitivity with time-sensitivity by imposing a higher semantic threshold on younger items (thereby preserving items that might be largely - albeit not totally - meaningless if they are fairly young. For example, fairly recent email threads might be very weak in meaning - the client should preserve them anyway because their "youth" is also a sign of relevance. As they "age,” however, the client can safely delete them (or flag them for deletion).
  • This model can also be applied to manage documents on local file-systems.
  • the model can be extended to content-management systems, document repositories, etc. by configuring an Information Store Monitor (ISM) to monitor these systems (via calls to the Information Nervous SystemTM XML Web Services) and configuring the ISM with KISes that are configured with KDSes that have ontologies consistent with the domain of the repositories to be semantically managed.
  • ISM Information Store Monitor
  • KISes that are configured with KDSes that have ontologies consistent with the domain of the repositories to be semantically managed.
  • the refinement pane in the semantic browser allows the user to "search within results.”
  • the user will be able to add additional keywords, specify date ranges, etc.
  • the date-range control can be implemented like a slide-rule. Shifting one panel in the slide-rule would shift the lower date boundary while moving the other panel will shift the upper date boundary. Other panels can then be added for time boundaries - shifting both time and date panels will impose both date and time constraints. Panels can also be added for other filter axes.
  • queries can be broken into several components: a. Context (documents, keywords, entities, portfolios (or entity collections)). b. Context/Knowledge Template (or Special Agent) or Information Template - this describes whether the request if for a knowledge type (e.g., Breaking News, Conversations, Newsmakers, or Popular Items) or for a particular information type (e.g., Documents, Email).
  • a knowledge type e.g., Breaking News, Conversations, Newsmakers, or Popular Items
  • information type e.g., Documents, Email
  • a semantic query is made up of the triangulation of context, request (or Agent) type, and the knowledge communities (or Agencies).
  • the client sends the SQML that represents the semantic query to all the knowledge communities in the profile in which the request lives.
  • the client asks for a few results at a time and then aggregates the results from one or more servers.
  • the server-side semantic query processor subdivides semantic queries into several sub- queries, which it then applies (via SQL inner joins or sub-queries in the preferred embodiment). These sub-queries are:
  • Request type sub-query this represents a sub-query (semantic or non-semantic) depending on the request type. Examples are context (knowledge) types (e.g., All Bets, Best Bets, Headlines, Experts, etc.) and information types (like General Documents, Presentations, Web Pages, Spreadsheets, etc.).
  • context knowledge
  • information types like General Documents, Presentations, Web Pages, Spreadsheets, etc.
  • Semantic context sub-query this represents a semantic sub-query derived from the context (filter) passed from the client (an example of this is categories sent from the client or mapped from keywords/text via semantic stemming).
  • Non-semantic context sub-query this represents a non-semantic sub-query derived from the context (filter) passed from the client (examples are keywords without semantic stemming - mapping to ontology-based categories).
  • Access-control sub-query this represents a sub-query that filters out those items in the semantic metadata store (SMS) that the calling user does not have access to.
  • SMS semantic metadata store
  • Figure 14 shows how the server-side semantic query processor processes incoming semantic queries (represented as SQML).
  • the semantic relevance score defines the normalized score that the concept extraction engine returns. It maps a given term of "blob” of text to one or more categories for a given ontology. The score is added to the semantic network (in the "LinkStrength” field of the "SemanticLinks” table) when items are added to the Semantic Network.
  • the relevance filter is different from the relevance score (indeed, both will typically be combined).
  • the relevance filter indicates how the SQP will semantically interpret context (note: in the currently preferred embodiment, the filtering is always semantic in this case).
  • the relevance filter is preferably used only to create sub-query "buckets" that are then used for ordering results.
  • the SQP might decide to prioritize a High relevance filter ahead of a Low relevance filter when filtering the semantic network but would still return both (with duplicates removed) in order to help guarantee that synonyms don't get rejected during the final semantic filtering process.
  • the time-sensitivity filter determines how time-critical the semantic sub-query is. There are two levels: High and Low. A High filter is meant to be extremely time-critical. Default is 3 hours (this accounts for lunch breaks, time away from the office/desk, etc.). A Low filter is meant to be moderately time-critical. The default is 12 hours.
  • the server simply returns all the items in the semantic metadata store. If the SQML has filters, the filters are imposed via an inner sub-query with no semantic link strength threshold. For instance, All Bets on Topic A will return all items that have anything (strongly or barely) to do with Topic A. b. Random Bets the preferred embodiment, for "Random Bets” queries, the server simply returns all the items in the semantic metadata store (like in the case of "All Bets” queries) but orders the results randomly. If the SQML has filters, the filters are imposed via an inner sub-query with no semantic link strength threshold. For instance, Random Bets on Topic A will return all items (ordered randomly) that have anything (strongly or barely) to do with Topic A. c. Breaking News
  • Breaking News can be implemented in a very intelligent way.
  • the table below illustrates the currently preferred ranking and prioritization for Breaking News when the server tracks what items (and/or categories) the user has read: hi the preferred embodiment, the server processes SQML for Breaking News (via the Breaking News context predicate) as follows:
  • the Semantic Network Manager should update the semantic network to indicate the "last read time" for each user to each category. This is then used in the sub-query to check whether news has been "read” or not (per category or per object - per category is the preferred embodiment because the latter will not scale).
  • the primary ordering axis (Creation Time) guarantees that results are filtered by freshness.
  • the secondary ordering axis (Relevance Score) acts as a tiebreaker and guarantees that equally fresh results are distinguished primary based on relevance.
  • Breaking News Intrinsic Alerts can be implemented on the client by limiting the Brealdng News priority to Priority 2 and by changing the Priority 1 and Priority time-sensitivity filters to high. This way, only very fresh Breaking Unread Semantic News (of both High and Low semantic relevance filters) will be returned. This is advantageous because the alert should have a higher disruption threshold than the Breaking News Request (or agent) - since it is implicit rather than explicit.
  • Unread Breaking News has a lower time-sensitivity filter than Read Breaking News because users are likely to be more tolerant of older news that is new to them than younger news that is not. hi some cases, the server might not have user-state (and "read” information). In this case, a simple implementation of Breaking News is shown below:
  • Breaking News should return only items younger than N hours (default is 3 hours).
  • Breaking News should apply the time- sensitivity filter (3 hours) to the outer sub-query and also apply a moderately strong relevance filter to the inner sub-query (off the SemanticLinks table). In the preferred embodiment, this should correspond to a relevance score (and link strength) of 50%. For instance, Breaking News on Topic A should return those items that have been posted in the last 3 hours and which belong to the category (or categories) represented by Topic A with at least a relevance score of 50%. This will avoid false positives like Breaking News items which are barely relevant to Topic A. d. Headlines
  • the High filter is 12 hours instead of 3 hours and the low filter is 1 day instead of 12 hours.
  • the time-sensitivity constraint is 1 day. This can also be made 3- days on Mondays to dynamically handle weekends (making the number of days the "number of working days"). e. Newsmakers
  • Best Bets are implemented by imposing a filter on the strength of the semantic link with the "Belongs to Category" predicate. The preferred default is 90%, although the client (at the option of the user) can change this on the fly via an argument passed via the XML Web Service. Best Bets are implemented with a SQL inner join between the Objects table and the SemanticLinks table and joining only those rows in the SemanticLinks table that have the "Belongs to Category" predicate and a LinkStrength greater than 90% (default).
  • the server-side semantic query processor must also invoke a sub-query, which is a SQL inner join that maps to the desired filters, i the preferred embodiment, this sub-query should also include a "Best Bets" filter.
  • filters e.g., keywords, text, entities, etc.
  • the outer sub-query it is advantageous and probably preferable for most users for the outer sub-query to be a Best Bet, and for the inner sub-query.
  • "Best Bets on Topic A” is semantically different from “Best Bets that are also relevant to Topic A.”
  • Best Bets which are Best Bets "ON" Topic A, will be returned (via applying the "Best Bets” semantic filter on the inner sub-query).
  • Best Bets will return Best Bets on anything that might have anything to do with Topic A.
  • the second example might return false positives because for example, a document, which is a Best Bet on Topic B but a "weak bet" on Topic B, will be returned and that is not consistent with the semantics of the query or the presumably desired results. Extending the "Best Bets" filter to not only the outer sub-query but also all inner sub-queries will prevent this from happening.
  • Other query implementations can also follow this rule (with the right sub-queries applied based on the semantics of the main query) if the SQML contains filters.
  • the SQP returns only those objects that have the object type id that corresponds to the requested information type.
  • An example is "Information TypeXPresentations.”
  • the SQP parses the SQML received from the client, it extracts this attribute from the SQML and maps it to an object type id. It then invokes a SQL query with an added filter for the object type id.
  • the SQP maps the request to a set of object type ids and invokes a SQL query with this added filter.
  • the server-side SQP has to first semantically interpret the context before generating sub-queries that correspond to it. To do this, the server sends the concepts to all KDS'es (KBS'es) it is configured with (for the desired knowledge community or agency) for semantic categorization. When the server gets the categories back, it preferably determines which of those categories are "strong" enough to be used as filters before generating the appropriate sub-queries.
  • KBS'es KDS'es
  • the server-side SQP preferably chooses only "strong categories" to apply to the sub-queries.
  • the server-side semantic query processor performs semantic stemming to map keywords, text, and concepts to categories based on one or more domain ontologies.
  • One way it does this by invoking an XML Web Service call to the KDS/KBS (or KDSes/KBSes) it is configured with in order to obtain the categories. It then maps the categories to its semantic network.
  • This form of stemming is superior to regular stemming that is based on keyword variations (such as singular and plural variations, tense variations, etc.) because it also involves domain-specific semantic mapping that stems based on meaning rather than merely stemming based on keyword forms.
  • the KIS calls the KDS/KBS each time it receives SQML that requires further semantic interpretation.
  • this could result in delays if the KDS/KBS resides on a different server, if the network connection is not fast, or if the KDS/KBS is busy processing many requests, hi this case, the KIS can also implement a Semantic Stemming Cache.
  • This cache maps keywords and concepts to categories that are fully qualified with URIs (making them globally unique).
  • the server-side semantic query processor receives SQML that contains keywords, text, or concepts (extracted from, say, documents on the client by the client-side semantic query processor), it first checks the cache to see if the keywords have already been semantically stemmed.
  • the SQP simply retrieves the categories from the cache and maps those categories to the semantic network via SQL queries. If there is a cache miss (i.e., if the context is not in the cache), it then calls the KDSes/KBSes to perform semantic categorization. It then takes the results, maps them to unique category URIs, and adds the entry to the cache (with the context as the hash code). Note that even if the context does not map to any category, the "lack of a category" is preferably cached. In other words, the context is added as a cache entry with no categories. This way, the server can also quickly determine that a given context does not have any categories, without having to call the KDSes/KBSes each time to find out.
  • the SQP can also manage the semantic stemming cache. It has to do this for two reasons: first, to keep the cache from growing uncontrollably and consuming too much system resources (particularly memory with a heap-based hash table); and, second, if the KIS configuration is changed (e.g., if knowledge domains are added/removed), the cache is preferably purged because the entries might now be stale.
  • the first scenario can be handled by assigning a maximum number of entries to the cache, the preferred embodiment, the SQP caches the current amount of memory consumed by the cache and the cache limit is dictated by memory usage. For example, the administrator might set the maximum cache size to 64MB. To simplify the implementation, this can be mapped to an approximate count of items (e.g., by dividing the maximum memory usage by an estimate of the size of each cache entry).
  • the SQP For each new entry, if the cache limit has not been reached, the SQP simply adds the entry to the cache. However, if the cache limit has been reached, the SQP (in the preferred embodiment) should purge the least recently added items from the cache. In the preferred embodiment, this can be implemented by keeping a queue of items that is kept in sync with a hash table that implements the cache itself (for quick lookups using the context as a key). When the SQP needs to purge items from the cache to free up space, it de-queues an item from the least-recently-added queue and also removes the corresponding item from the hash table (using the context as key). This way, fresh items are more likely to result in a cache hit than older items.
  • Extensible client-side user profiles allow the user of a semantic browser to have a different state for different job roles, knowledge sources, identities, personas, work styles, etc. This essentially allows the user to create different "knowledge worlds" for different scenarios. For instance, a Pharmaceuticals researcher might have a default profile that includes all sources of knowledge that are relevant to his/her work. As described in my parent application Serial No. 10/179,651, the SRML from each of these sources will be merged on the client thereby allowing the user to seamlessly go through results as though they were coming from one source. However, the researcher might want to track patents separate from everything else. In such a case, the researcher would be able to create a separate "Patents" profile and also include those knowledge communities (agencies) that have to do with patents (e.g.,. the US Patent Office Database, the EU Patent Database, etc.)
  • the user might create a profile for 'Work' and one for 'Home.
  • Many investment analysts track companies across a variety of industries. With the semantic browser, they would create profiles for each industry they track. Consultants move from project to project (and from industry to industry) and might want to save requests and entities created with each project. Profiles will be used to handle this scenario as well. Profiles contain the following user state:
  • Smart styles the smart styles to be used by default for requests and entities created with the profile.
  • Default Flag this indicates whether the profile is the default profile.
  • the default profile is initiated by default when the user wishes to create requests and entities, browse information communities, etc. Unless the user explicitly selects a different profile, the default profile gets used.
  • Profiles can be created, deleted, modified, and renamed. However, in the preferred embodiment the default profile cannot be deleted because there has to be at least one profile in the system at all times. In alternate embodiments, a minimum profile would not be required.
  • all objects in the semantic browser are opened within the context of a profile.
  • a smart request is created in a profile and at runtime, the client semantic query processor will use the properties of the profile (specifically the subscribed knowledge communities (agencies) in that profile) to invoke the lequest.
  • the client semantic query processor will use the properties of the profile (specifically the subscribed knowledge communities (agencies) in that profile) to invoke the lequest.
  • the client semantic query processor will use the properties of the profile (specifically the subscribed knowledge communities (agencies) in that profile) to invoke the lequest.
  • Figure 15 illustrates the semantic browser showing two profiles (the default profile named "My Profile” and 15Aand a profile named “Patents” 15B). Observe how the user is able to navigate his/her knowledge worlds via both profiles without interference.
  • Figures 16A-C illustrate how a user would configure a profile (to create a profile, the user will use the "Create Profile Wizard" and the profile can then be modified via a property sheet as shown).
  • Figure 17 shows how a user would select a profile when creating a request with the "Create Request Wizard.”
  • a color theme and animation theme applied to a style theme yields a "smart style”.
  • Smart in this context means the style is adaptive or responsive to the mood of its request, context panes, preview mode, handheld mode, live mode, slideshow mode, Screensaver mode, ' blender/collection mode, accessibility, user settings recognition, and possibly other variables within the system (see below).
  • the preferred embodiment comprises at least the following style Classes:
  • Implicit and Dynamic Smart Style Properties a. Mood - the smart style must convey the mood of the request (i.e., the request is a parameter passed to the smart style). This will involve semantic images, semantic motions, Visualizations, etc. that convey the semantically informed or semantically determined properties of the smart request (the context template or information type, the categories, whether there are filters (e.g., local documents), the information types of those filters, etc.) b. Context panes - e.g., deep info pane (per object), dockable preview panes, dockable contextual PU? watch groups/panes, etc. c. Preview Mode - each smart style must be able to display its results for preview (in a small window). d.
  • Handheld Mode - each smart style must be able to display its results optimized for a handheld device.
  • Live mode each smart style must have a "live” mode during which it would display real-time semantic Visualizations (per object). This can be toggled on or off (e.g. if the user does not want real-time semantic Visualizations, or to save bandwidth that results from real-time Web service calls per object).
  • Slideshow mode preferably, each smart style must be able to "play” the results of the request - like a live stream.
  • Screensaver mode preferably, each smart style must be able to "play” the results of the request as a screensaver. This is a variant of slideshow mode, except in fullscreen theater mode.
  • Blender/collection mode preferably, each smart style must change its UI appropriately if the request it is displaying is a blender/collection.
  • Accessibility preferably, each smart style must support accessibility.
  • User settings recognition - the Nervana Librarian will allow users to indicate whether they are beginners, moderate users, or power-users, and their respective job function s) (R&D, sales, marketing, executive, etc.).
  • each smart style considers (or is influenced by) these functions where appropriate.
  • each smart style is responsible, consistent with the semantics of the request, for recognizing (or discerning or perceiving) and then Visualizing (or presenting or depicting or illustrating, consistent with what should deserve the user's attention): the Mood of the Current Request (including semantic images, motion, chrome, etc. a Change in the number of Items in the Current Request the Mood of each object (intrinsically) the Mood of each object's context (headlines, breaking news, experts, etc.)
  • the characteristic is on a gradient or continuum, perceiving the relative placement along it (e.g., how breaking is breaking news?, how critical are the headlines? what is the level of expertise for the experts?, etc.) a change in each object's context (there is new breaking news, there are new annotations, etc.) the RELATIVE criticality of each object being displayed (different sized view ports, different fonts, different chrome, etc.) a request navigation and "loading" status (interstitials that INTRODUCE the mood of the new request being loaded)
  • Figure 18 shows a screenshot with the 'Smart Styles' Dialog Box illustrating some of the foregoing operations and features.
  • the Dialog Box allows the user to browse smart styles by pivoting across style classes, style themes, color themes, and animation themes.
  • a preview window shows the user a preview of the currently selected smart style.
  • Smart Request Watch refers to a feature of the information Nervous System that allows users of the semantic browser (the Info ⁇ nation Agent or the Librarian) to monitor (or “watch") smart requests in parallel. This is a very advantageous feature in that it enhances productivity by allowing users to track several requests at the same time.
  • the feature is implemented in the client-side semantic runtime, the semantic browser, and skins that allow a configurable way of watching smart requests (via a mechanism similar to "Picture-fri-Picture” (PIP) functionality in television sets).
  • PIP Picture-fri-Picture
  • one or more of the following software components are used:
  • the Watch Window 2. Request Watch Lists (RWLs) and Groups (RWGs)
  • the Request Watch List is a list of smart requests (or smart agents) that the client runtime manages. This list essentially comprises the smart requests the user wishes to monitor.
  • the Request Watch List comprises a list of entries, the Request Watch List Entry (RWLE) with the following data structure:
  • the Request Watch List contains an array or vector of RWLE structures.
  • the Request Watch List Manager manages the RWL.
  • the semantic browser provides a user interface that allows the user to add smart requests to the RWL - the UI talks to the RWLM to add and remove RWLEs to/from the RWL.
  • the RWL is stored (and persisted) centrally by the client-side semantic runtime (either as an XML file-based representation or in a store like the Windows registry).
  • the RWL can also be populated by means of Request Watch Groups (RWGs).
  • RWGs Request Watch Groups
  • a Request Watch Group provides a means for the user to monitor a collection of smart requests. It also provides a simple way for users to have the semantic browser automatically populate the RWL based on configurable criteria.
  • RWGs There are at least two types of RWGs: Auto Request Watch Groups and the Manual Request Watch Group.
  • Auto Request Watch Groups are groups that are dynamically populated by the semantic browser depending on the selected profile, the profile of the currently displayed request, etc.
  • the Manual Request Watch Group allows the user to manually populate a group of smart requests (regular smart requests or blenders) to monitor as a collection.
  • the Manual Request Watch Group also allows the user to add support context types (e.g., documents, categories, text, keywords, entities, etc.) - in this case, the system will dynamically generate the semantic query (SQML) from the filter(s) and add the resulting query to the Manual Request Watch Group.
  • SQL semantic query
  • Auto-RWGs for one or more configurable profiles, including "All Profiles" as shown in the Smart Request Watch Dialog Box in Figure 19:
  • Breaking News this tells the semantic browser to automatically add a Breaking News smart request to the RWL (for the selected profile(s)).
  • Headlines this tells the semantic browser to automatically add a Headlines smart request to the RWL (for the selected profile(s)).
  • Categorized Breaking News this tells the semantic browser to automatically add Categorized Breaking News smart requests to the RWL (for the contextual profile).
  • the semantic browser will dynamically add smart requests with category filters corresponding to each subcategory of the currently displayed smart request (and for the contextual or current profile) - if the currently displayed smart request has categories. For example, if the smart request "Breaking News" about Technology" is currently being displayed in a semantic browser instance, and if the category "Technology” has 5 sub-categories (e.g., Wireless, Semiconductors, Nanotechnology, Software, and Electronics), the following smart requests will be dynamically added to the RWL when the current smart request is loaded:
  • the RWLEs for these entries will be initialized with the RequestViewInstancelD of the current semantic browser instance. If the user navigates to a new smart request, the categorized Breaking News for the previously loaded smart request will be removed from the
  • Categorized Headlines this tells the semantic browser to automatically add Categorized Headlines smart requests to the RWL (for the contextual profile). This is similar to Categorized Breaking News, except that Headlines are used in this case. The user will then be able to monitor Categorized Headlines smart requests as a watch group or collection.
  • Categorized Newsmakers this tells the semantic browser to automatically add Categorized Newsmakers smart requests to the RWL (for the contextual profile). This is similar to Categorized Breaking News, except that Newsmakers are used in this case. The user will then be able to monitor Categorized Newsmakers smart requests as a watch group or collection.
  • My Favorite Requests this tells the semantic browser to automatically add all favorite smart requests to the RWL (for the selected profile(s)). This allows the user to watch or monitor all his/her favorite smart requests as a group.
  • My Favorite Breaking News this tells the semantic browser to automatically add all favorite breaking news smart requests to the RWL (for the selected profile(s)). This allows the user to watch or monitor all his/her favorite breaking news smart requests as a group.
  • My Favorite Newsmakers this tells the semantic browser to automatically add all favorite newsmakers smart requests to the RWL (for the selected profile(s)). This allows the user to watch or monitor all his/her favorite newsmakers smart requests as a group.
  • FIG 19 illustrates the "Smart Request Watch” Dialog Box in the semantic browser of the preferred embodiment.
  • the top half of the dialog is used to add auto-watch groups.
  • the user can select auto-watch group types and profile types ("All Profiles,” "Contextual Profile,” and the actual profile names) and add them to the auto-watch-group list.
  • the user can also remove auto- watch-groups.
  • the bottom half of the dialog box is used to add/remove smart requests to/from the manual watch group.
  • the Notification Manager is a component of the semantic runtime client that monitors smart requests in the RWL.
  • the NM has a thread that periodically invokes each smart request in the RWL (via the client semantic query processor) and updates the RWLE with the "results count” and the "last update time.” i the preferred embodiment the NM preferably invokes the smart requests every 5-30 seconds.
  • the NM can intelligently adjust the periodicity or frequency of request checks depending on the size of the RWL (in order to minimize bandwidth usage and the scalability impact on the Web service).
  • the NM For time-sensitive smart requests (like Breaking News, Headlines, and Newsmakers), the NM preferably invokes the smart request without any additional time filter. However, for non time-sensitive requests (like for information as opposed to context types or for non time-sensitive context templates like Favorites and Recommendations), the NM preferably invokes the query for the smart request with a time filter (e.g., the last 10 minutes).
  • a time filter e.g., the last 10 minutes.
  • the semantic runtime client manages what the inventor calls Watch Group Monitors (WGM). For each watch group the user has added to the watch group list, the client creates a watch group monitor. A watch group monitor tracks the number of new results in each request in its watch group. The watch group monitor creates a queue for the RWLEs in the watch group that have new results. The WGM manages the queue in order to maximize the freshness of the results. The WGM periodically polls the NM to see whether there are new results for each request in its watch group. If there are, it adds the request to the queue depending on the 'last result time' of the request. It does this in order to prioritize requests with the freshest results first.
  • WGM Watch Group Monitors
  • the currently displayed visual style (skin) running in the Presenter would then call the semantic runtime OCX to dequeue the requests in the WGM queue. This way, the request watch user interface will be consistent with the existence of new results and the freshness of the results. Once there are no more new results in the currently displayed request, the smart style will dequeue the next request from the WGM queue.
  • the Watch Pane refers to a panel that gets displayed in the Presenter (alongside the main results pane) and which holds visual representations of the user's watch groups.
  • the WP allows the user to glance at each watch group to see whether there are new results in its requests.
  • the WP also allows the user to change the current view with which each watch group's real-time status gets displayed.
  • the following views are currently defined:
  • Ticker View this displays the total number of new results in all the watch group's smart requests but also shows an animation that sequentially displays the number of new results in each smart request (as a ticker).
  • Preview View this is similar to the ticker view except that the most recent result per smart request is also displayed alongside the number of new results in the ticker.
  • the WP displays the total number of new results in all the watch group's smart requests along with a ticker that shows the number of new results in each smart request and a slide-show of all the new results per smart request.
  • the WP also allows the user to watch a watch group. The user will do this by selecting one of the watch groups in the WP and dragging it into the main results pane (or by a similar technique).
  • This WW resembles or can be analogized to TV's picture-in-picture functionality in appearance or layout, but differs in several ways, most noticeably in that in this case the displayed content is comprised of semantic requests and results as opposed to television channels are being "watched.” Of course, the underlying technology generating the content is also quite different.
  • the WW can be displayed in any of the aforementioned views. When the WW is in Deep View however, the WW's view controls are displayed. The following controls are currently defined:
  • Stop, Play, Seek, FF, RW, Speedup - these allow the user to stop, play, seek, fast- forward, rewind or speedup the "watch group request stream.” For instance, a fast-forward will advance to several requests ahead of the currently displayed one.
  • Results controls this allows the user to control the results in each request in the watch group. Essentially, the results are a stream within a stream and this will also allow the user to control the results in the current request in the current watch group.
  • FIG 20 illustrates a Watch Window displaying Filtered Smart Requests (e.g.,. Headlines on Wireless).
  • Figure 20 is an Illustration of the Watch Window with a Current Smart Request Title (e.g., "Breaking News").
  • the Watch List can be named "News Watch.”
  • the user will be asked to add/remove requests, objects, keywords, text, entities, etc. to/from the "News Watch.”
  • the "News Watch” can be viewed with a Newsstand watch pane. This will provide a spatially- oriented view of the user's requests and dynamically-created requests (via objects added to the Watch List, and created dynamically by the runtime using those objects as filters) - not unlike the view of a news-magazine rack when one walks into a Library or Bookstore.
  • Entities are a very powerful feature of the preferred embodiment of the Information Nervous System. Entities allow the user to create a contextual definition that maps to how they work on a regular basis. Examples of entities include:
  • Entities could include drags, drag interaction issues, patents, FDA clinical trials, etc.
  • an entity is a semantic envelope that is a smart contextual object. An entity can be dragged and dropped like any other smart object. However, an entity is represented by SQML and not SRML (i.e., it is a query-object because it has much richer semantics). An entity can be included as a parameter to a smart request. The user creates entities based on his/her tasks. Entities in the preferred embodiment contain at least the following information (in alternate embodiments they could contain more or less information):
  • Contextual resources these could include keywords, local documents, Internet documents, or smart objects (such as people).
  • An entity can be opened in the semantic browser, can be used as a pivot for navigation, as a parameter for a smart request (e.g., Headlines on My Project), can be dragged and dropped, can be copied and pasted, can be used with the smart lens, can be visualized with a smart style, can be used as the basis for an intrinsic alert, can be saved as a .ENT document, can be emailed, shared, etc.
  • a smart request e.g., Headlines on My Project
  • the semantic runtime client dynamically creates SQML by appending the rich metadata of the entity to the subject of the relational request to create a new rich SQML that refers to the entity.
  • Gene Project is an internal project, it would likely not exist in a public taxonomy which could be used with the semantic browser of this the preferred embodiment of my invention.
  • the researcher could create an entity named "Gene Project”, typed as a Project, and could then initialize the entity by scoping it to Genomics (which exists in broad taxonomies) and then also qualifying it with the keyword-phrase "Gene Project” (using the AND operator).
  • the server-side semantic query processor will interpret this (by mapping the SQML to the semantic network) as "Experts on any information that belongs to the category Genomics AND which also includes the phrase "Gene Project.”
  • Entities also allow the user to create a dynamic taxonomy - public taxonomies are very static and are not updated regularly. With entities, the user can "extend" his/her private taxonomy dynamically and at the speed of thought. Knowledge is transferred at the speed of thought. Entities allow the user to create context with the same speed and dynamism as his/her mind or thought flow. This is very significant. For instance, the user can create an entity for a newly scheduled meeting, a just-discovered conference, a new customer, a newly discovered competitor, etc. - ALL AT THE SPEED OF THOUGHT. Taxonomies don't allow this.
  • Taxonomies assume that topics are the only source of context. With entities, a user can create abstract contextual definitions that include - but are not limited to - topics. Examples include people, teams, events, companies, etc. Entities might eventually "evolve” into topics in a taxonomy (over time and as those entities gain “fame” or “notoriety") but in the "short-term," entities allow the user to create context that has not yet evolved (or might never evolve) into a full-blown taxonomic entry. For instance, Nervana (our company) was initially an entity (known only to itself and its few employees) but as we have grown and attracted public attention, as an entity we are evolving into a topic in a public taxonomy. With entities, users don't have to wait for context (like Nervana) to "eventually become” topics.
  • Entities allow the user to create what the inventor calls "compound context.”
  • An example of this is a meeting.
  • a meeting typically involves several participants with documents, presentation slides, and/or handouts relevant to the topic of discussion.
  • entities in the Information Nervous System a user can create a "meeting" context that captures the semantics of the meeting.
  • the Create Entity Wizard the user can specify that the entity is a meeting, and then specify the semantic filters.
  • the Presenter of the meeting might want to create an entity in order to track knowledge specifically relevant to the meeting. For instance, he/she might want to do this to determine when to schedule a follow-up meeting or to track specific action items relating to the meeting.
  • the user would add the email addresses of the participants, the handed out documents, and also the presentation to the entity filter definition.
  • the user then saves the entity which is then created in the semantic namespace/environment.
  • the user can then edit the entity with new or removed filters (and/or a new name/description) at a later date/time - for instance, if he/she has discovered new documents that would have been relevant to the meeting.
  • the semantic browser When the user drags and drops the entity or includes it in a request/agent, the semantic browser then compiles the entity and includes it in a master SQML with the sub-queries also passed to the XML Web Service for interpretation.
  • the server-side semantic query processor then processes the compound SQML by constructing a series of SQL sub-queries (or an equivalent) and by joining these queries with the entity sub-queries which in turn are generated using SQL sub-queries.
  • the user can use an AND or OR (or other) operator to indicate how the entity filters should be applied. For instance, the user can indicate that the meeting (semantically) is the participants of the meeting AND the documents/slides handed out during the meeting.
  • the SQML equivalent is used to interpret the entity (with the desired operator). This is very powerful. It means that the user can define an entity named "Project Meeting” and drag and drop that entity to the special agent named "Breaking News.” This then creates a request named "Breaking News on Project Meeting” (with the appropriate SQML referring to the identifier of the entity- which will then be compiled into sub- SQML before it is passed to the server(s) for interpretation.
  • the server then applies default predicates to the entries in the entity (based on what "makes sense” for the object). In this particular example, because of the definition of the entity, the server will then only return:
  • Entities can include other entities to allow for compound entities. For instance, if an entire team of people were involved in the meeting, the Presenter might want to create an entity that includes an email distribution list of those people, hi this case, the user might search the Information Nervous System for the distribution list and then save the result as an entity.
  • the browser will allow the user to save results as entities and based on the result type, it will automatically create an entity with a default entity type that "makes sense.” For instance, if the user saves a document result as an entity, the semantic browser it will create a "Topic" entity. If the user saves a Person result as an entity, the semantic browser will create a "Person” entity. If the user saves an email distribution list as an entity, the semantic browser will create a "Team" entity.
  • the user can save a Person result as a Person entity and then drag and drop that entity into the Project Meeting entity.
  • the Team entity that maps to the email distribution list of the meeting participants can be dragged and dropped to the Project Meeting entity.
  • the user can then create a request called "Headlines on Project Meeting" that includes the entity.
  • the semantic query processor will then return Headlines BY anyone in the email distribution list (using the right default predicate) and which is semantically relevant to ALL the handouts given out during the meeting.
  • a Dossier (Guide) on the Project Meeting will return All Bets on the meeting, Best Bets on meeting, Experts on the meeting, etc.
  • Entity A refers to Entity B and the user attempts to delete Entity B
  • the semantic browser will detect this and flag the user that Entity B has an outstanding reference. If the user deletes Entity B anyway, the reference in Entity A (and any other references to Entity B) will get removed. Alternately, in some embodiments, the user could be prohibited (whether informed or not) from deleting Entity B in the same situation, based on permissions of others within an organization associated with the entity.
  • Popular entities can also be shared amongst members of a knowledge community. Like other items in the semantic browser (like requests or knowledge communities (agencies), entities can be saved as files (so the user can later open them or email them to colleagues, or save them on a central file share, etc.).
  • a common scenario would be that the corporate Librarians at businesses would create entities that map to internal projects, meetings, seminars, tasks, and other important corporate knowledge items of interest. These entities would then be saved on a file-share or other sharing mechanism (like a portal or web-site) or on a knowledge community (agency). The knowledge workers in the organization would then be able to use the entities.
  • the Librarians can and will automatically edit their context and users will be able refresh or synchronize to the new entities. Entities could also and alternately be shared on a peer-to-peer basis by individual users. This is akin to a legal peer-to-peer file sharing for music, but instead of music, what is shared is context to facilitate meaning, or more meaningful communication.
  • Portfolios are a special type of entity that contains a collection of entities.
  • an entity can be of any size or composition, and portfolio can contain any kind or number of entities, a portfolio would not contain other portfolios.
  • a portfolio allows the user to manage a group of entities as one unit.
  • a portfolio is a first-class entity and as such has all the aforementioned features of an entity.
  • the OR qualifier is applied (by default) to its containing entities, hi other words, if Portfolio P contains entities El and E2, a smart request titled 'Headlines on P' will be processed as 'Headlines on El or E2.' The user can change this setting on individual smart requests (to an AND qualifier).
  • a pharmaceuticals 'patent' entity could include the categories of the patent, relevant keywords, and relevant documents.
  • a CIA agent could create a 'terrorist' entity to track terrorists. This could include categories on terrorism, suspicious wire transfers, suspicious arms sales, classified documents, keywords, and terrorism experts in the information community.
  • the Nervana semantic browser will allow the user to subscribe and unsubscribe to/from knowledge communities (agencies) for a given profile. These knowledge communities will be readily available to the user underneath the profile entry in the semantic environment. In addition, these l ⁇ iowledge communities will be queried by default for intrinsic alerts, context panels, and etc. whenever results are displayed for any request created using the same profile.
  • the semantic environment includes state indicating the subscribed knowledge communities for each profile.
  • the client-side semantic query processor uses this information for dynamic requests that start from results for requests of a given profile (the SQP will ask the semantic runtime client for the knowledge communities for the profile and then issue XML Web Service calls to those knowledge communities as appropriate).
  • Figures 22A and 22B show the user interface for the knowledge community subscription and un-subscription.
  • the dialog box has combo boxes allowing the user to filter by profile, to view all, new, subscribed, suggested, and un-subscribed communities, by industry and area of interest, by keywords, by publishing point (all publishing points, the local area network, the enterprise directory, and the global knowledge community directory), and by creation time (anytime, today, yesterday, this week, and last week).
  • the semantic runtime client queries the publishing point endpoint listeners (for each publishing point) using the filters. It then gathers the results and displays them in the results pane. The user is also able to view the categories of each knowledge community in the results pane via a combo box.
  • Figure 20B illustrates the bottom portion of the Knowledge Communities Dialog Box.
  • SQL Semantic Query Markup Language
  • the Nervana Semantic DHTML Behavior is an Internet Explorer DHTML Behavior that, from the client's perspective, every thing it understands as a query document.
  • the client opens 'query documents,' in a manner resembling how a word processor opens 'textual and compound documents.
  • the Nervana client is primarily responsible for processing a Nervana semantic query document and rendering the results.
  • a Nervana semantic query document is expressed and stored in form of the Nervana Semantic Query Markup Language (SQML). This is akin to a "semantic file format.”
  • SQL Nervana Semantic Query Markup Language
  • the SQML semantic file format comprises of the following:
  • Head - The 'head' tag like in the case of HTML, includes tags that describe the document.
  • RequestType - This indicates the type of request. It can be "smart request"
  • “dumb request” (indicating requests to one or more local or network resources).
  • ObjectType - This fully qualifies the type of objects returned by the query.
  • CreationTime The creation time of the document.
  • LastModifiedTime The last modified time of the document.
  • LastAccessedTime The last accessed time of the document.
  • Attributes The attributes of the document, if any.
  • Version - this indicates the version of the query. This allows the web service's semantic query processor to return results that are versioned. For instance, one version of the browser can use VI of a query, and another version can use V2.
  • Targets - This indicates the names and the URLs of the information community web services that the query document targets.
  • Type - this indicates the type of targets. This can be "targetentries,” in which case the tag includes sub-tags indicating the actual web service targets, or
  • Each "category" entry contains a name attribute and a URI attribute that indicates the URL of the Knowledge Domain Server (KDS) from which the category came.
  • KDS Knowledge Domain Server
  • Type - this indicates the type of categories. This can be either “categoryentri.es,” in which case the sub-tag refers to the list of category entries, "allcategories,” in which case all categories are requested from the information community web services, or "myfavoritecategories,” in which case the query processor gets the user's favorite categories and then generates compiled SQML that contains these categories (this compiled SQML is then sent to the server(s)).
  • Resource - The reference to the 'dumb' resource being queried. Examples include file paths, URLs, cache entry identifiers, etc. These will be mapped to actual resource managers components by the interpreter.
  • Type - The type of resource reference, qualified with the namespace.
  • defined resource reference types are: nervana:url (this indicates that the resource reference is a well-formed standard Internet URL, or a custom Nervana URL like
  • nervana filepath (this indicates that the resource reference is a path to a file or directory on the file-system), and nervana amespaceref (this indicates that the resource comes from the client semantic namespace).
  • Uri This indicates the universal resource identifier of the resource. In the case of paths and Internet URLs, this indicates the URL itself. In the case of namespace entries, this indicates the GUID identifier of the entry.
  • Type - this indicates the type of links. This can be "linkentries,” indicating the links are explicit entries.
  • the predicate "nervana:relevantto” indicates that the query is "return all objects from the resource R that are relevant to the object O," where R and O and the specified resource and object, respectively.
  • Other examples of predicates include nervana:reportsto, nervana:teammateof, nervana:from, nervana:to, nervanaxc, nervana:bcc, nervana: attachedto, nervana:sentby, nervana: sentto, nervana:postedon, nervana ontainstext, etc.
  • Examples include standard XML data types like xmkstring, xmkinteger, Nervana equivalents of same, custom Nervana types like nervana: datetimeref (which could refer to object references like 'today' and 'tomorrow'), and any standard Internet URL (HTTP, FTP, etc.) or Nervana URL (objects://, etc.) that refers to an object that Nervana can process as a semantic XML object.
  • MetadataEntry this indicates the details of a metadata entry.
  • SQML is generated in any one or more of several possible ways:
  • SQML Parsing hi some embodiments in some situations, SQML that gets created on the client might not be ready (in real-time) for remote consumption - by the server's XML web service or at another machine site. This is especially likely to be the case when the SQML refers to local context such as documents, Entities, or Smart Requests (that are identified by unique identifiers in the semantic environment). 1
  • the client generally creates SQML that is ready for remote consumption. Preferably, it does this by caching the metadata for all references in the metadata section of the document. This is preferable because in some cases, the resource or object to which the reference points might no longer exist when the query is invoked.
  • a user might drag and drop a document from the Internet to a smart request in order to generate a new relational request.
  • the client extracts the metadata (including the summary) from the link and inserts the metadata into the SQML. Because the resolution of the query uses only the metadata, the query is ready for consumption once the metadata is inserted into the SQML document.
  • the link that the object refers to might not exist the day after the user found it. In such a case, even if the user invokes the relational request after the link might have ceased to exist, the request will still work because the metadata would already have been cached in the SQML.
  • the client SQML parser performs "lazy" updating of metadata in the SQML.
  • the request When the request is invoked, it attempts to update the metadata of all parameters (resources, etc.) in the SQML to handle the case where the objects might have changed since they were used to create
  • Blenders contain references to smart requests. the relational request. If the object does not exist, the client uses the metadata it already has. Otherwise, it updates it and uses the updated metadata. That way, even if the object has been deleted, the user experience is not interrupted until the user actually tries to open the object from whence the metadata came.
  • the Nervana Semantic Runtime Control is an ActiveX control that exposes properties and methods for use in displaying semantic data using the Nervana semantic user experience.
  • the control will be primarily called from XSLT skins that take XML data (using the SRML schema) and generate DHTML+TLME or SVG output, consistent with the requirements of the Nervana semantic user experience.
  • the Nervana control encapsulates the "SDK" on top of which the XSLT skins sit in order to produce a semantic content-driven user experience.
  • the APIs listed below illustrate the functionality that will be exposed or made available by the final API set in the preferred embodiment.
  • Nervana Semantic Runtime Control API a. EnumObjectsInNamespacePath
  • the EnumObjectsInNamespacePath method returns the objects in a namespace path.
  • the CompileSemanticQueryFromBuffer method opens an SQML buffer and compiles it into one or more execution-ready SQML buffers. For instance, an SQML file containing a blender will be compiled into SQML buffers representing each blender entry. If the blender contains blenders, the blenders will be unwrapped and an SQML buffer will be returned for each contained blender.
  • a compiled or "execution-ready" SQML buffer is one that can be semantically processed by an agency. The implication is that a blender that has agents from multiple agencies will have its SQML compiled to buffers with the appropriate SQML from each agency.
  • a Nervana client application for instance, the semantic browser or a Nervana skin will call this method to compile an SQML buffer and retrieve generated "compiled code" that is ready for execution.
  • the application or skin will compile an SQML buffer and then prepare frame windows where it wants each individual SQML query to sit. It can then issue individual SQML semantic calls by calling OpenSemanticQueryFromBuffer and then have the results displayed in the individual frames.
  • the OpenSemanticQueryFromBuffer method opens an SQML buffer and asynchronously fires the XML results (in SRML) onto the DOM, from whence a Nervana skin can sink the event. Note that in this embodiment the SQML has to be "compiled" and ready for execution. If the SQML is not ready for execution, the call will fail. To compile an SQML buffer, call CompileSemanticQueryFromBuffer.
  • a Nervana client application for instance, the semantic browser
  • a Nervana skin will call this method to open a compiled SQML buffer.
  • the GetSemanticQueryBufferFromFile method opens an SQML file, and returns the buffer contents.
  • the buffer can then be compiled and/or opened.
  • a Nervana client application for instance, the semantic browser or a Nervana skin will call this method to convert an SQML file into a buffer before processing it.
  • the GetSemanticQueryBufferFromNamespace method opens a namespace object, and retrieves its SQML buffer.
  • a Nervana client application for instance, the semantic browser or a Nervana skin will call this method to open an SQML buffer when it already has access to the id and path of the namespace object.
  • the GetSemanticQueryBufferFromURL method wraps the URL in an SQML buffer, and returns the buffer.
  • a Nervana client application for instance, the semantic browser or a Nervana skin will call this method to convert an URL of any type to SQML.
  • This can include file paths, HTTP URLs, FTP URLs, Nervana agency object URLs (prefixed by "wsobject://”) or Nervana agency URLs (prefixed by "wsagency ://").
  • the GetSemanticQueryBufferFromClipboard method converts the clipboard contents to SQML, and returns the buffer.
  • a Nervana client application for instance, the semantic browser or a Nervana skin will call this method to get a semantic query from the clipboard.
  • the application can then load the query buffer.
  • the Stop method stops current open request.
  • the Refresh method refreshes the current open request.
  • a Nervana client application for instance, the semantic browser
  • a Nervana skin will call this method to refresh the currently loaded request.
  • the CreateNamespaceObject method creates a namespace object and returns its GULD.
  • a Nervana client application for instance, the semantic browser or a Nervana skin will typically call this method to create a temporary namespace object when a new query document has been opened.
  • the DeleteNamespaceObject method deletes a namespace object.
  • a Nervana client application for instance, the semantic browser
  • a Nervana skin will typically call this method to delete a temporary namespace object.
  • the CopyObject method copies the semantic object to the clipboard as an SQML buffer using a proprietary SQML clipboard format.
  • the object can then be "pasted" onto agents for relational semantic queries, or used as a lens over other objects or agents.
  • a Nervana skin will typically call the CopyObject method when the user clicks on the
  • the CanObjectBeAnnotated method checks whether the given object can be annotated.
  • a Nervana skin will typically call the CanObjectBeAnnotated method to determine whether to show UI indicating the "Annotate" command.
  • the AnnotateObject method invokes the currently installed email client and initializes it to send an email annotation of the object to the email agent of the agency from whence the object came.
  • a Nervana skin will typically call the AnnotateObject method when the user clicks on the "Annotate" menu option - off a popup menu on the object.
  • a Nervana skin will typically call the CanObjectBePublished method to determine whether to show UI indicating the "Publish" command.
  • the PublishObject method invokes the currently installed email client and initializes it to send an email publication of the object to the email agent of the agency from whence the object came.
  • a Nervana skin will typically call the PublishObject method when the user clicks on the "Publish" menu option - off a popup menu on the object.
  • OpenObjectContents method opens the object using an appropriate viewer. For instance, an email object will be opened in the email client, a document will be opened in the browser, etc..
  • a Nervana skin will typically call the OpenObjectContents method when the user clicks on the "Open" menu option - off a popup menu on the object.
  • the SendEmailToObject method is called to send email to a person or customer object.
  • the method opens the email client and initializes it with the email address of the person or customer object.
  • a Nervana skin will typically call the SendEmailToObject method when the user clicks on the "Send Email" menu option - off a popup menu on a person or customer object.
  • the GetObj ect Annotations method is called to get the annotations an object has on the agency from whence it came.
  • a Nervana skin will typically call the GetObj ectAnnotations method when it wants to display the titles of the annotations an object has - for instance, in a popup menu or when it wants to display the annotations metadata in a window.
  • the IsObjectMarkedAsFavorite method is called to check whether an object is marked as a favorite on the agency from whence it came.
  • a Nervana skin will typically call the IsObjectMarkedAsFavorite method to determine what UI to show - either the "Mark as Favorite” or the "Unmark as Favorite” command. If the object cannot be marked as a favorite (for instance, if it did not originate on an agency), the error code E_LNVALIDARG is returned.
  • the MarkObj ect AsFavorite method is called to mark the object as a favorite on the agency from whence it came.
  • a Nervana skin will typically call the MarkObj ect AsFavorite method when the user clicks on the "Mark as Favorite" command.
  • UnmarkObjectAsFavorite method is called to unmark the object as a favorite on the agency from whence it came.
  • the IsSmartAgentOnClipboard method is called to check whether a smart agent has been copied to the clipboard.
  • a Nervana skin will typically call the IsSmartAgentOnClipboard method when it wants to toggle the user interface to display the "Paste” icon or when the "Paste" command is invoked.
  • the GetSmartLensQueryBuffer method is called to get the query buffer of the smart lens.
  • a Nervana skin will typically call the GetSmartLensQueryBuffer method when the user hits "Paste as Smart Lens” to invoke the smart lens off the smart agent that is on the clipboard.
  • the OpenObjectContents method opens the object using an appropriate viewer. For instance, an email object will be opened in the email client, a document will be opened in the browser, etc.
  • a Nervana skin will typically call the OpenObjectContents method when the user clicks on the "Open" menu option - off a popup menu on the object.
  • Email Control APIs a. Email_GetFromLink bjects
  • the Email_GetFromLinkObjects method is called to get the metadata for the "From" links on an email object from the agency from whence it came.
  • a Nervana skin will typically call the Email_GetFromLinkObjects method when it wants to navigate to the "From" list from an email object, or to display a popup menu with the name of the person in the "From" list.
  • the Email_GetFromLinkObjects method is called to get the metadata for the "To" links on an email object from the agency from whence it came.
  • a Nervana skin will typically call the Email_GetToLinkObjects method when it wants to navigate to the "To" list from an email object, or to display a popup menu with the name of the person in the "To" list.
  • the Email_GetCcLinkObjects method is called to get the metadata for the "CC" links on an email object from the agency from whence it came.
  • a Nervana skin will typically call the Email_GetCcLinkObjects method when it wants to navigate to the "CC" list from an email object, or to display a popup menu with the name of the person in the "CC" list.
  • the Email_GetBccLinkObjects method is called to get the metadata for the "BCC" links on an email object from the agency from whence it came.
  • a Nervana skin will typically call the Email_GetBccLinkObjects method when it wants to navigate to the "BCC" list from an email object, or to display a popup menu with the name of the person in the "BCC” list.
  • Email_Get AttachmentLinkObj ects method is called to get the metadata for the
  • a Nervana skin will typically call the Email_Get AttachmentLinkObj ects method when it wants to navigate to the "Attachments" link from an email object, or to display a popup menu with the titles of the attachments in the "Attachments" list.

Abstract

L'invention concerne un cadriciel d'implémentation intégré et un support résultant pour une extraction, une gestion, une capture, un partage, une découverte, une distribution et une présentant de connaissances. Ce système est responsable de la maintenance d'informations sémantiques.
PCT/US2004/004674 2001-06-22 2004-02-17 Systeme et procede pour une extraction, une gestion, une capture, un partage, une decouverte, une distribution et une presentation de connaissances semantiques WO2004075466A2 (fr)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP2006503648A JP2006522388A (ja) 2003-02-14 2004-02-17 意味論的知識の取得、管理、取り込み、共有、発見、伝達および提示用のシステムおよび方法
EA200501304A EA200501304A1 (ru) 2003-02-14 2004-02-17 Система для поиска, управления, сбора, обнаружения, доставки и представления семантических знаний
BR0407451-3A BRPI0407451A (pt) 2003-02-14 2004-02-17 Sistema e método para recuperação do conhecimento, semântico, gerenciamento e apresentação
AU2004213986A AU2004213986A1 (en) 2003-02-14 2004-02-17 Semantic knowledge retrieval management and presentation
MXPA05008670A MXPA05008670A (es) 2003-02-14 2004-02-17 Sistema y metodo para la recuperacion, manejo, captura, reparticion, descubrimiento, entrega y presentacion de conocimientos semanticos.
EP04711863A EP1599811A4 (fr) 2003-02-14 2004-02-17 Systeme et procede pour une extraction, une gestion, une capture, un partage, une decouverte, une distribution et une presentation de connaissances semantiques
CA002555280A CA2555280A1 (fr) 2003-02-14 2004-02-17 Systeme et procede pour une extraction, une gestion, une capture, un partage, une decouverte, une distribution et une presentation de connaissances semantiques
US11/931,793 US20080147788A1 (en) 2001-06-22 2007-10-31 Information nervous system
US12/358,224 US20100070448A1 (en) 2002-06-24 2009-01-22 System and method for knowledge retrieval, management, delivery and presentation
US13/168,785 US20120191716A1 (en) 2002-06-24 2011-06-24 System and method for knowledge retrieval, management, delivery and presentation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44773603P 2003-02-14 2003-02-14
US60/447,736 2003-02-14

Publications (2)

Publication Number Publication Date
WO2004075466A2 true WO2004075466A2 (fr) 2004-09-02
WO2004075466A3 WO2004075466A3 (fr) 2004-10-28

Family

ID=32908491

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/004674 WO2004075466A2 (fr) 2001-06-22 2004-02-17 Systeme et procede pour une extraction, une gestion, une capture, un partage, une decouverte, une distribution et une presentation de connaissances semantiques

Country Status (10)

Country Link
EP (1) EP1599811A4 (fr)
JP (1) JP2006522388A (fr)
KR (1) KR20060004909A (fr)
CN (1) CN1853180A (fr)
AU (1) AU2004213986A1 (fr)
BR (1) BRPI0407451A (fr)
CA (1) CA2555280A1 (fr)
EA (1) EA200501304A1 (fr)
MX (1) MXPA05008670A (fr)
WO (1) WO2004075466A2 (fr)

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016499A1 (fr) * 2006-07-31 2008-02-07 Microsoft Corporation Présentation d'informations relatives à des sujets extraits de classes d'événements
US7546295B2 (en) 2005-12-27 2009-06-09 Baynote, Inc. Method and apparatus for determining expertise based upon observed usage patterns
WO2010025390A2 (fr) * 2008-08-29 2010-03-04 The Administrators Of The Tulane Educational Fund Système et méthode de détermination de l'état d'un copyright
US7698270B2 (en) 2004-12-29 2010-04-13 Baynote, Inc. Method and apparatus for identifying, extracting, capturing, and leveraging expertise and knowledge
WO2010089248A1 (fr) 2009-02-03 2010-08-12 International Business Machines Corporation Procédé et système de recherche sémantique
WO2011008862A2 (fr) * 2009-07-14 2011-01-20 Zoomii, Inc. Création basée sur un langage de balisage et environnement d’exécution pour une plateforme de contenu interactif
US7921067B2 (en) 2006-09-04 2011-04-05 Sony Deutschland Gmbh Method and device for mood detection
US7930263B2 (en) 2007-01-12 2011-04-19 Health Information Flow, Inc. Knowledge utilization
WO2011163384A2 (fr) * 2010-06-22 2011-12-29 Eyewonder Inc. Création et distribution créative et dynamique
WO2011160204A1 (fr) * 2010-06-22 2011-12-29 Primal Fusion Inc. Procédés et appareil de recherche de contenu à l'aide d'une synthèse sémantique
US8095523B2 (en) 2004-12-29 2012-01-10 Baynote, Inc. Method and apparatus for context-based content recommendation
US8204856B2 (en) 2007-03-15 2012-06-19 Google Inc. Database replication
US8495001B2 (en) 2008-08-29 2013-07-23 Primal Fusion Inc. Systems and methods for semantic concept definition and semantic concept relationship synthesis utilizing existing domain definitions
US8495147B1 (en) 2006-07-13 2013-07-23 Avaya Inc. Threading of mixed media
US8510302B2 (en) 2006-08-31 2013-08-13 Primal Fusion Inc. System, method, and computer program for a consumer defined information architecture
US8638319B2 (en) 2007-05-29 2014-01-28 Livescribe Inc. Customer authoring tools for creating user-generated content for smart pen applications
US8676722B2 (en) 2008-05-01 2014-03-18 Primal Fusion Inc. Method, system, and computer program for user-driven dynamic generation of semantic networks and media synthesis
US8676732B2 (en) 2008-05-01 2014-03-18 Primal Fusion Inc. Methods and apparatus for providing information of interest to one or more users
US8849860B2 (en) 2005-03-30 2014-09-30 Primal Fusion Inc. Systems and methods for applying statistical inference techniques to knowledge representations
US20150200875A1 (en) * 2013-01-16 2015-07-16 Boris Khvostichenko Double filtering of annotations in emails
US9092516B2 (en) 2011-06-20 2015-07-28 Primal Fusion Inc. Identifying information of interest based on user preferences
US9098502B1 (en) 2012-11-16 2015-08-04 Google Inc. Identifying documents for dissemination by an entity
US9104779B2 (en) 2005-03-30 2015-08-11 Primal Fusion Inc. Systems and methods for analyzing and synthesizing complex knowledge representations
US9177248B2 (en) 2005-03-30 2015-11-03 Primal Fusion Inc. Knowledge representation systems and methods incorporating customization
US9235806B2 (en) 2010-06-22 2016-01-12 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
US9262520B2 (en) 2009-11-10 2016-02-16 Primal Fusion Inc. System, method and computer program for creating and manipulating data structures using an interactive graphical interface
US9292855B2 (en) 2009-09-08 2016-03-22 Primal Fusion Inc. Synthesizing messaging using context provided by consumers
US9378203B2 (en) 2008-05-01 2016-06-28 Primal Fusion Inc. Methods and apparatus for providing information of interest to one or more users
US9524506B2 (en) 2011-10-21 2016-12-20 Bigmachines, Inc. Methods and apparatus for maintaining business rules in a configuration system
US9836765B2 (en) 2014-05-19 2017-12-05 Kibo Software, Inc. System and method for context-aware recommendation through user activity change detection
US10002325B2 (en) 2005-03-30 2018-06-19 Primal Fusion Inc. Knowledge representation systems and methods incorporating inference rules
US10002335B2 (en) 2011-01-06 2018-06-19 Cardinal Logistics Management Corporation Dynamic workflow for remote devices
US10223637B1 (en) 2013-05-30 2019-03-05 Google Llc Predicting accuracy of submitted data
US10248669B2 (en) 2010-06-22 2019-04-02 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
US10372815B2 (en) 2013-07-12 2019-08-06 Microsoft Technology Licensing, Llc Interactive concept editing in computer-human interactive learning
WO2021041998A3 (fr) * 2019-08-29 2021-04-08 Fraudmarc Inc. Surveillance, commande et authentification de messages sortants à faible latence
CN112749548A (zh) * 2020-11-02 2021-05-04 万齐智 一种基于规则的中文结构化金融事件缺省补全抽取方法
TWI737857B (zh) * 2016-11-18 2021-09-01 日商倍樂生思泰服務股份有限公司 服務支援系統、服務支援方法及程式
WO2021260684A1 (fr) * 2020-06-21 2021-12-30 Avivi Eliahu Kadoori Système et procédé de détection et d'auto-validation de données clés dans un document non manuscrit quelconque
US11294977B2 (en) 2011-06-20 2022-04-05 Primal Fusion Inc. Techniques for presenting content to a user based on the user's preferences
US11483413B1 (en) * 2019-06-04 2022-10-25 Thomas Layne Bascom Federation broker system and method for coordinating discovery, interoperability, connections and correspondence among networked resources
WO2022272188A1 (fr) * 2021-06-22 2022-12-29 Ravindra Pratap Singh Dispositifs et systèmes qui mesurent, quantifient, comparent, conditionnent et capturent un contenu humain dans des bases de données
WO2023278639A1 (fr) * 2021-06-30 2023-01-05 Earley Information Science, Inc. Systèmes et procédés de traitement de données numériques pour extraction et génération de contenu numérique multi-domaines avec prévention d'extrémité morte
WO2023278682A1 (fr) * 2021-06-30 2023-01-05 Earley Information Science, Inc. Systèmes de génération et de récupération de contenu numérique de multi-robot

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882582B1 (ko) * 2006-12-20 2009-02-12 한국과학기술정보연구원 시맨틱 웹 기반 연구정보 서비스 시스템 및 그 방법
CA2674866C (fr) * 2007-01-16 2017-04-25 Timmins Software Corporation Systemes et procedes d'analyse de systemes de technologie de l'information utilisant une intelligence collaborative
KR101436661B1 (ko) * 2007-01-22 2014-09-01 소니 주식회사 정보 처리 장치 및 방법, 및 기록매체
KR100913441B1 (ko) * 2007-08-20 2009-09-03 한국과학기술원 자원의 시맨틱 공간 매핑을 이용한 시맨틱 자원 검색 방법
KR100918503B1 (ko) * 2008-01-21 2009-09-24 윤재민 웹사이트 링크정보를 이용한 웹페이지 정보 전달 방법 및 그 시스템
US9589381B2 (en) 2008-06-12 2017-03-07 Microsoft Technology Licensing, Llc Copying of animation effects from a source object to at least one target object
CA2639438A1 (fr) 2008-09-08 2010-03-08 Semanti Inc. Repertoire de recherches informatiques a associations semantiques, et utilisations connexes
KR101072147B1 (ko) * 2009-02-10 2011-10-10 경북대학교 산학협력단 블로그 포스트를 온톨로지 기반 정보로 변환하는 방법 및 그 시스템
US20110178860A1 (en) * 2010-01-15 2011-07-21 Imrey G Christopher System and method for resolving transactions employing goal seeking attributes
US20110184945A1 (en) * 2010-01-22 2011-07-28 Qualcomm Incorporated Location aware recommendation engine
KR101146510B1 (ko) * 2010-05-20 2012-05-25 소프트포럼 주식회사 Synk 데이터베이스 암호화 시스템 및 그 방법
CN102737052A (zh) * 2011-04-12 2012-10-17 国际商业机器公司 一种用于处理输入的方法和系统
CN102185917A (zh) * 2011-04-29 2011-09-14 深圳市五巨科技有限公司 一种服务器适配移动终端的方法及系统、服务器适配装置
US9104765B2 (en) 2011-06-17 2015-08-11 Robert Osann, Jr. Automatic webpage characterization and search results annotation
CN102609819A (zh) * 2012-02-16 2012-07-25 华为软件技术有限公司 一种信息展现系统
KR101445218B1 (ko) * 2012-05-23 2014-09-30 이청종 컨텐츠 협력작업의 수익배분 방법
JP5962256B2 (ja) * 2012-06-29 2016-08-03 カシオ計算機株式会社 入力支援装置及び入力支援プログラム
US9270667B2 (en) * 2012-11-01 2016-02-23 Microsoft Technology Licensing, Llc Utilizing X.509 authentication for single sign-on between disparate servers
KR101503463B1 (ko) * 2013-09-25 2015-03-19 목포대학교산학협력단 가중치평균을 이용한 선박 내부 모니터링 방법
CN103729112B (zh) * 2014-01-10 2018-03-06 百度在线网络技术(北京)有限公司 显示信息的方法和装置
CN105095320B (zh) 2014-05-23 2019-04-19 邓寅生 基于关系叠加组合的文档的标识、关联、搜索及展现的系统
EP3198427B1 (fr) * 2014-09-25 2021-05-26 Oracle International Corporation Système et procédé de détermination d'identificateurs de partition dans un environnement de serveur d'applications partagé
CN104639987B (zh) * 2015-01-29 2018-12-14 联发科技(新加坡)私人有限公司 被控终端及其信息提供方法
CN106326300A (zh) * 2015-07-02 2017-01-11 富士通株式会社 信息处理方法以及信息处理设备
CN105141668B (zh) * 2015-07-31 2018-09-25 中冶南方工程技术有限公司 一种基于分布式多智能体的数据同步方法
US10042619B2 (en) 2015-08-25 2018-08-07 Cognizant Technology Solutions India Pvt. Ltd. System and method for efficiently managing enterprise architecture using resource description framework
CN106886543B (zh) * 2015-12-16 2020-01-17 清华大学 结合实体描述的知识图谱表示学习方法和系统
CN111144795A (zh) * 2016-02-29 2020-05-12 飞救医疗科技(北京)有限公司 一种协同工作与质量控制方法与系统
US11403418B2 (en) * 2018-08-30 2022-08-02 Netskope, Inc. Enriching document metadata using contextual information
CN105740471A (zh) * 2016-03-14 2016-07-06 燕山大学 一种可动态查询论文收录状态的智能方法
US10404835B2 (en) * 2016-03-17 2019-09-03 Google Llc Hybrid client-server data provision
US10387888B2 (en) * 2016-07-08 2019-08-20 Asapp, Inc. Assisting entities in responding to a request of a user
US10083451B2 (en) 2016-07-08 2018-09-25 Asapp, Inc. Using semantic processing for customer support
KR101869618B1 (ko) * 2016-12-29 2018-06-20 (주) 쓰리웨어 맞춤형 뉴스컨텐츠 제공시스템
KR101904643B1 (ko) 2017-02-09 2018-10-05 한국기술교육대학교 산학협력단 의사결정트리를 이용한 기사 생성 방법
JP6667876B2 (ja) * 2017-04-26 2020-03-18 サイレックス・テクノロジー株式会社 基地局、基地局システム、及び、通信方法
KR102457568B1 (ko) * 2017-09-29 2022-10-21 삼성전자주식회사 입력된 정보와 관련된 이미지를 제공하기 위한 전자 장치 및 그의 동작 방법
CN107862081B (zh) * 2017-11-29 2021-07-16 四川无声信息技术有限公司 网络信息源查找方法、装置及服务器
CN109299400A (zh) * 2018-09-06 2019-02-01 北京奇艺世纪科技有限公司 一种观点抽取方法、装置及设备
CN109256029B (zh) * 2018-09-12 2021-09-03 广州小鹏汽车科技有限公司 一种地点属性的自动设置方法及装置
CN109492208B (zh) * 2018-10-12 2023-06-23 天津字节跳动科技有限公司 文档编辑方法及其装置、设备、存储介质
CN111049723B (zh) * 2018-10-15 2022-11-08 广州虎牙信息科技有限公司 消息推送方法、消息管理系统、服务器及计算机存储介质
JP7167997B2 (ja) * 2018-10-16 2022-11-09 株式会社島津製作所 文献検索方法および文献検索システム
CN109858036B (zh) * 2019-02-26 2023-07-28 科大讯飞股份有限公司 一种文书划分方法及装置
CN110048936B (zh) * 2019-04-18 2021-09-10 宁波青年优品信息科技有限公司 一种语义关联词判断垃圾邮件的方法
CN110222017B (zh) * 2019-05-13 2021-09-21 北京百度网讯科技有限公司 实时数据的处理方法、装置、设备及计算机可读存储介质
CN110347839B (zh) * 2019-07-18 2021-07-16 湖南数定智能科技有限公司 一种基于生成式多任务学习模型的文本分类方法
CN110727760B (zh) * 2019-09-08 2023-11-07 天津大学 一种对大规模知识图谱进行分布式正则路径查询的方法
CN110781685B (zh) * 2019-10-18 2022-08-19 四川长虹电器股份有限公司 基于用户反馈自动标注语义分析结果正误性的方法
CN110728389B (zh) * 2019-10-21 2023-11-10 中国民航信息网络股份有限公司 一种跨预定系统的机票订单处理方法、装置及系统
CN111209028B (zh) * 2020-01-07 2021-10-01 京东数字科技控股有限公司 一种数据处理方法、装置、电子设备及存储介质
CN111392296B (zh) * 2020-04-14 2021-03-09 重庆市环卫集团有限公司 一种用于垃圾转运站的智慧收运系统
US11720346B2 (en) 2020-10-02 2023-08-08 International Business Machines Corporation Semantic code retrieval using graph matching
KR102542394B1 (ko) 2020-12-09 2023-06-13 주식회사 이앤지테크 고객맞춤형 여행 스케줄링 가상현실 플랫폼 시스템 및 그 구동방법
CN113312656B (zh) * 2021-07-29 2022-04-15 阿里云计算有限公司 数据轮转方法、装置、设备及系统
CN113657121B (zh) * 2021-09-03 2023-04-07 四川大学 一种日志变量语义标注方法
CN114398442B (zh) * 2022-01-25 2023-09-19 中国电子科技集团公司第十研究所 一种基于数据驱动的情报处理系统
CN115357581B (zh) * 2022-08-19 2023-05-05 筑智建科技(重庆)有限公司 一种海量bim数据的分布式存储方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126136A1 (en) 2001-06-22 2003-07-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240407B1 (en) * 1998-04-29 2001-05-29 International Business Machines Corp. Method and apparatus for creating an index in a database system
US6418448B1 (en) * 1999-12-06 2002-07-09 Shyam Sundar Sarkar Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US6311194B1 (en) * 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126136A1 (en) 2001-06-22 2003-07-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation

Cited By (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698270B2 (en) 2004-12-29 2010-04-13 Baynote, Inc. Method and apparatus for identifying, extracting, capturing, and leveraging expertise and knowledge
US8095523B2 (en) 2004-12-29 2012-01-10 Baynote, Inc. Method and apparatus for context-based content recommendation
US8601023B2 (en) 2004-12-29 2013-12-03 Baynote, Inc. Method and apparatus for identifying, extracting, capturing, and leveraging expertise and knowledge
US7702690B2 (en) 2004-12-29 2010-04-20 Baynote, Inc. Method and apparatus for suggesting/disambiguation query terms based upon usage patterns observed
US9904729B2 (en) 2005-03-30 2018-02-27 Primal Fusion Inc. System, method, and computer program for a consumer defined information architecture
US10002325B2 (en) 2005-03-30 2018-06-19 Primal Fusion Inc. Knowledge representation systems and methods incorporating inference rules
US8849860B2 (en) 2005-03-30 2014-09-30 Primal Fusion Inc. Systems and methods for applying statistical inference techniques to knowledge representations
US9177248B2 (en) 2005-03-30 2015-11-03 Primal Fusion Inc. Knowledge representation systems and methods incorporating customization
US9104779B2 (en) 2005-03-30 2015-08-11 Primal Fusion Inc. Systems and methods for analyzing and synthesizing complex knowledge representations
US9934465B2 (en) 2005-03-30 2018-04-03 Primal Fusion Inc. Systems and methods for analyzing and synthesizing complex knowledge representations
US7856446B2 (en) 2005-12-27 2010-12-21 Baynote, Inc. Method and apparatus for determining usefulness of a digital asset
US7693836B2 (en) 2005-12-27 2010-04-06 Baynote, Inc. Method and apparatus for determining peer groups based upon observed usage patterns
US7580930B2 (en) 2005-12-27 2009-08-25 Baynote, Inc. Method and apparatus for predicting destinations in a navigation context based upon observed usage patterns
US7546295B2 (en) 2005-12-27 2009-06-09 Baynote, Inc. Method and apparatus for determining expertise based upon observed usage patterns
US8495147B1 (en) 2006-07-13 2013-07-23 Avaya Inc. Threading of mixed media
WO2008016499A1 (fr) * 2006-07-31 2008-02-07 Microsoft Corporation Présentation d'informations relatives à des sujets extraits de classes d'événements
US8510302B2 (en) 2006-08-31 2013-08-13 Primal Fusion Inc. System, method, and computer program for a consumer defined information architecture
US7921067B2 (en) 2006-09-04 2011-04-05 Sony Deutschland Gmbh Method and device for mood detection
US7930263B2 (en) 2007-01-12 2011-04-19 Health Information Flow, Inc. Knowledge utilization
US8204856B2 (en) 2007-03-15 2012-06-19 Google Inc. Database replication
US8842100B2 (en) 2007-05-29 2014-09-23 Livescribe Inc. Customer authoring tools for creating user-generated content for smart pen applications
US8638319B2 (en) 2007-05-29 2014-01-28 Livescribe Inc. Customer authoring tools for creating user-generated content for smart pen applications
US9792550B2 (en) 2008-05-01 2017-10-17 Primal Fusion Inc. Methods and apparatus for providing information of interest to one or more users
US8676732B2 (en) 2008-05-01 2014-03-18 Primal Fusion Inc. Methods and apparatus for providing information of interest to one or more users
US9378203B2 (en) 2008-05-01 2016-06-28 Primal Fusion Inc. Methods and apparatus for providing information of interest to one or more users
US8676722B2 (en) 2008-05-01 2014-03-18 Primal Fusion Inc. Method, system, and computer program for user-driven dynamic generation of semantic networks and media synthesis
US11182440B2 (en) 2008-05-01 2021-11-23 Primal Fusion Inc. Methods and apparatus for searching of content using semantic synthesis
US9361365B2 (en) 2008-05-01 2016-06-07 Primal Fusion Inc. Methods and apparatus for searching of content using semantic synthesis
US11868903B2 (en) 2008-05-01 2024-01-09 Primal Fusion Inc. Method, system, and computer program for user-driven dynamic generation of semantic networks and media synthesis
US10803107B2 (en) 2008-08-29 2020-10-13 Primal Fusion Inc. Systems and methods for semantic concept definition and semantic concept relationship synthesis utilizing existing domain definitions
US8943016B2 (en) 2008-08-29 2015-01-27 Primal Fusion Inc. Systems and methods for semantic concept definition and semantic concept relationship synthesis utilizing existing domain definitions
US8495001B2 (en) 2008-08-29 2013-07-23 Primal Fusion Inc. Systems and methods for semantic concept definition and semantic concept relationship synthesis utilizing existing domain definitions
WO2010025390A3 (fr) * 2008-08-29 2010-06-17 The Administrators Of The Tulane Educational Fund Système et méthode de détermination de l'état d'un copyright
US9595004B2 (en) 2008-08-29 2017-03-14 Primal Fusion Inc. Systems and methods for semantic concept definition and semantic concept relationship synthesis utilizing existing domain definitions
CN102224504A (zh) * 2008-08-29 2011-10-19 图兰恩教育基金管理人 版权状态确定系统和方法
WO2010025390A2 (fr) * 2008-08-29 2010-03-04 The Administrators Of The Tulane Educational Fund Système et méthode de détermination de l'état d'un copyright
WO2010089248A1 (fr) 2009-02-03 2010-08-12 International Business Machines Corporation Procédé et système de recherche sémantique
WO2011008862A2 (fr) * 2009-07-14 2011-01-20 Zoomii, Inc. Création basée sur un langage de balisage et environnement d’exécution pour une plateforme de contenu interactif
WO2011008862A3 (fr) * 2009-07-14 2011-05-05 Zoomii, Inc. Création basée sur un langage de balisage et environnement d'exécution pour une plateforme de contenu interactif
US9292855B2 (en) 2009-09-08 2016-03-22 Primal Fusion Inc. Synthesizing messaging using context provided by consumers
US10181137B2 (en) 2009-09-08 2019-01-15 Primal Fusion Inc. Synthesizing messaging using context provided by consumers
US10146843B2 (en) 2009-11-10 2018-12-04 Primal Fusion Inc. System, method and computer program for creating and manipulating data structures using an interactive graphical interface
US9262520B2 (en) 2009-11-10 2016-02-16 Primal Fusion Inc. System, method and computer program for creating and manipulating data structures using an interactive graphical interface
US10474647B2 (en) 2010-06-22 2019-11-12 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
US9576241B2 (en) 2010-06-22 2017-02-21 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
US9235806B2 (en) 2010-06-22 2016-01-12 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
WO2011160204A1 (fr) * 2010-06-22 2011-12-29 Primal Fusion Inc. Procédés et appareil de recherche de contenu à l'aide d'une synthèse sémantique
WO2011163384A2 (fr) * 2010-06-22 2011-12-29 Eyewonder Inc. Création et distribution créative et dynamique
US10248669B2 (en) 2010-06-22 2019-04-02 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
US11474979B2 (en) 2010-06-22 2022-10-18 Primal Fusion Inc. Methods and devices for customizing knowledge representation systems
WO2011163384A3 (fr) * 2010-06-22 2012-05-03 Eyewonder Inc. Création et distribution créative et dynamique
US10140619B2 (en) 2010-06-22 2018-11-27 Sizmek Technologies, Inc. Dynamic creative creation and delivery
US10002335B2 (en) 2011-01-06 2018-06-19 Cardinal Logistics Management Corporation Dynamic workflow for remote devices
US9092516B2 (en) 2011-06-20 2015-07-28 Primal Fusion Inc. Identifying information of interest based on user preferences
US11294977B2 (en) 2011-06-20 2022-04-05 Primal Fusion Inc. Techniques for presenting content to a user based on the user's preferences
US9098575B2 (en) 2011-06-20 2015-08-04 Primal Fusion Inc. Preference-guided semantic processing
US10409880B2 (en) 2011-06-20 2019-09-10 Primal Fusion Inc. Techniques for presenting content to a user based on the user's preferences
US9715552B2 (en) 2011-06-20 2017-07-25 Primal Fusion Inc. Techniques for presenting content to a user based on the user's preferences
US9524506B2 (en) 2011-10-21 2016-12-20 Bigmachines, Inc. Methods and apparatus for maintaining business rules in a configuration system
US9098502B1 (en) 2012-11-16 2015-08-04 Google Inc. Identifying documents for dissemination by an entity
US10439969B2 (en) * 2013-01-16 2019-10-08 Google Llc Double filtering of annotations in emails
US20150200875A1 (en) * 2013-01-16 2015-07-16 Boris Khvostichenko Double filtering of annotations in emails
US10223637B1 (en) 2013-05-30 2019-03-05 Google Llc Predicting accuracy of submitted data
US11526773B1 (en) 2013-05-30 2022-12-13 Google Llc Predicting accuracy of submitted data
US11023677B2 (en) 2013-07-12 2021-06-01 Microsoft Technology Licensing, Llc Interactive feature selection for training a machine learning system and displaying discrepancies within the context of the document
US10372815B2 (en) 2013-07-12 2019-08-06 Microsoft Technology Licensing, Llc Interactive concept editing in computer-human interactive learning
US9836765B2 (en) 2014-05-19 2017-12-05 Kibo Software, Inc. System and method for context-aware recommendation through user activity change detection
TWI737857B (zh) * 2016-11-18 2021-09-01 日商倍樂生思泰服務股份有限公司 服務支援系統、服務支援方法及程式
US11483413B1 (en) * 2019-06-04 2022-10-25 Thomas Layne Bascom Federation broker system and method for coordinating discovery, interoperability, connections and correspondence among networked resources
WO2021041998A3 (fr) * 2019-08-29 2021-04-08 Fraudmarc Inc. Surveillance, commande et authentification de messages sortants à faible latence
US11063986B2 (en) 2019-08-29 2021-07-13 Fraudmarc Inc. Low-latency, outbound message monitoring, control, and authentication
US11805151B2 (en) 2019-08-29 2023-10-31 Fraudmarc Inc. Low-latency, outbound message monitoring, control, and authentication
WO2021260684A1 (fr) * 2020-06-21 2021-12-30 Avivi Eliahu Kadoori Système et procédé de détection et d'auto-validation de données clés dans un document non manuscrit quelconque
CN112749548A (zh) * 2020-11-02 2021-05-04 万齐智 一种基于规则的中文结构化金融事件缺省补全抽取方法
CN112749548B (zh) * 2020-11-02 2024-04-26 万齐智 一种基于规则的中文结构化金融事件缺省补全抽取方法
WO2022272188A1 (fr) * 2021-06-22 2022-12-29 Ravindra Pratap Singh Dispositifs et systèmes qui mesurent, quantifient, comparent, conditionnent et capturent un contenu humain dans des bases de données
WO2023278639A1 (fr) * 2021-06-30 2023-01-05 Earley Information Science, Inc. Systèmes et procédés de traitement de données numériques pour extraction et génération de contenu numérique multi-domaines avec prévention d'extrémité morte
WO2023278682A1 (fr) * 2021-06-30 2023-01-05 Earley Information Science, Inc. Systèmes de génération et de récupération de contenu numérique de multi-robot

Also Published As

Publication number Publication date
EP1599811A4 (fr) 2008-02-06
EA200501304A1 (ru) 2006-08-25
EP1599811A2 (fr) 2005-11-30
AU2004213986A1 (en) 2004-09-02
CN1853180A (zh) 2006-10-25
KR20060004909A (ko) 2006-01-16
JP2006522388A (ja) 2006-09-28
MXPA05008670A (es) 2005-11-17
WO2004075466A3 (fr) 2004-10-28
BRPI0407451A (pt) 2006-02-07
CA2555280A1 (fr) 2004-09-02

Similar Documents

Publication Publication Date Title
EP1599811A2 (fr) Systeme et procede pour une extraction, une gestion, une capture, un partage, une decouverte, une distribution et une presentation de connaissances semantiques
US20030126136A1 (en) System and method for knowledge retrieval, management, delivery and presentation
US20100070448A1 (en) System and method for knowledge retrieval, management, delivery and presentation
US20070081197A1 (en) System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
US7433876B2 (en) Semantic web portal and platform
Dzbor et al. Magpie–towards a semantic web browser
CA2808275C (fr) Plate-forme de services informatiques distribuee
US20070016563A1 (en) Information nervous system
US20080195483A1 (en) Widget management systems and advertising systems related thereto
US20080046369A1 (en) Password Management for RSS Interfaces
US20080052343A1 (en) Usage-Based Prioritization
US20080052162A1 (en) Calendar-Based Advertising
US20080046437A1 (en) Manual Conflict Resolution for Background Synchronization
AU2001268674A1 (en) Distributed computing services platform
KR100919606B1 (ko) 분산 컴퓨팅 서비스 플랫폼
US20160077727A1 (en) Online Protocol Community
AU2002345906A1 (en) System and method for knowledge retrieval, management, delivery and presentation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: PA/a/2005/008670

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2006503648

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 1020057015062

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2004711863

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2004213986

Country of ref document: AU

Ref document number: 2255/CHENP/2005

Country of ref document: IN

Ref document number: 200501304

Country of ref document: EA

ENP Entry into the national phase

Ref document number: 2004213986

Country of ref document: AU

Date of ref document: 20040217

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 2004213986

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 20048099806

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2004711863

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057015062

Country of ref document: KR

ENP Entry into the national phase

Ref document number: PI0407451

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 2555280

Country of ref document: CA