WO2015154144A1 - Facilitating user interaction with electronic text documents - Google Patents

Facilitating user interaction with electronic text documents Download PDF

Info

Publication number
WO2015154144A1
WO2015154144A1 PCT/AU2015/050158 AU2015050158W WO2015154144A1 WO 2015154144 A1 WO2015154144 A1 WO 2015154144A1 AU 2015050158 W AU2015050158 W AU 2015050158W WO 2015154144 A1 WO2015154144 A1 WO 2015154144A1
Authority
WO
WIPO (PCT)
Prior art keywords
string
text
user
concept
strings
Prior art date
Application number
PCT/AU2015/050158
Other languages
French (fr)
Inventor
Christopher DALTON
Original Assignee
Ceres Systems Pty Ltd
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 claimed from AU2014901278A external-priority patent/AU2014901278A0/en
Application filed by Ceres Systems Pty Ltd filed Critical Ceres Systems Pty Ltd
Publication of WO2015154144A1 publication Critical patent/WO2015154144A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes

Definitions

  • This disclosure relates to facilitating user interaction with electronic text documents.
  • the electronic text document comprises text and text formatting data that is indicative of the visual presentation of the text.
  • the method comprises: identifying based on the text formatting data a first string of the text as representing a concept; identifying a second string of the text such that the second string corresponds to the first string; and storing an attribute associated with the second string, the attribute allowing detection of a user action with respect to the second string.
  • the method identifies the concept string based on the formatting data, the identification can be performed automatically and without user input. This is an advantage when complex text documents, such as legal text documents, are reviewed or edited in cases where these documents contain a large number of concepts that are defined at a different place in the document than where they are used. Storing attributes that allow detection of user actions with respect to the definition allows a user to click on the definition strings to trigger a particular function. For example, a formatted glossary of legal concepts at the end of the text document can be processed by the method in order to create links to the concept definition throughout the document.
  • the attribute may be an event handler and may be a hyperlink.
  • Identifying the first string based on text formatting data may comprise determining whether the text formatting data corresponds to template text formatting data.
  • the method may further comprise receiving the template text formatting data from a user.
  • the method may further comprise receiving from a user a selection of part of the text, wherein identifying the first string of the text may comprise identifying the first string from the selection; and identifying the second string of the text may comprise identifying the second string from text other than the selection.
  • the method may further comprise: identifying a third string of the text as representing a definition associated with the identified first string representing the concept; detecting a user action with respect to the second string; and in response to detecting the user action with respect to the second string creating a user interface to display the third string representing the definition.
  • Identifying the third string of the text may comprise identifying the third string from the text neighbouring the first string.
  • the method may further comprise: repeating the step of identifying the first string to identify multiple first strings; selecting a subset of first strings from the multiple first strings such that each of the subset of first strings corresponds to at least part of the third string displayed by the user interface, wherein creating the user interface may comprise creating the user interface to display the subset of first strings.
  • the method may further comprise: detecting a user action within the user interface with respect to one of the subset of first strings; in response to detecting the user action within the user interface with respect to one of the subset of first strings identifying the third string that is associated with the one of the subset of first strings; and creating a user interface to display the third string.
  • the method may further comprise: detecting a user action with respect to a control element associated with the user interface; and in response to detecting a user action with respect to the control element, locating a cursor in the electronic text document in relation to the third string to facilitate modification of the third string by a user.
  • the method may further comprise: identifying based on the text formatting data a fourth string of the text as representing a further concept; attempting to identify a fifth string of the text which corresponds to the fourth string representing the further concept; and in response to the attempt being unsuccessful, generating a user interface comprising the fourth string to indicate to a user that the fourth string is unused in the text document.
  • the method may further comprise: identifying a sixth string of the text such that the sixth string corresponds to the first string representing the concept except for the use of capital letters in the first string is not present in the sixth string; and generating a user interface comprising the sixth string to indicate to a user that the sixth string corresponds to the first string except for the use of capitalised letters.
  • the method may further comprise: repeating the step of identifying the first string to identify multiple first strings; attempting to identify one of the multiple first strings which corresponds to a seventh string of the text; and in response to the attempt being unsuccessful, generating a user interface comprising the seventh string to indicate to a user that the seventh string is undefined in the text document.
  • the method may further comprise: detecting a user action with respect to the seventh string; in response to detecting a user action with respect to the seventh string, creating the seventh string in the text document to allow a user to enter a definition of the seventh string.
  • the method may further comprise: receiving from a user a first input string and a second input string; creating the first input string and the second input string in the text document; and storing text formatting data associated with the first input string and the second input string to indicate that the first input string represents a concept and the second input string represents a definition of that concept.
  • Identifying based on the text formatting data the first string may comprise determining the first string such that the text formatting data of the first string corresponds to text formatting data of text at a current position of a cursor.
  • the electronic text document comprises text and text formatting data that is indicative of the visual presentation of the text.
  • the computer system comprises: a processor to identify based on the text formatting data a first string of the text as representing a concept; to identify a second string of the text such that the second string corresponds to the first string; and to store an attribute associated with the second string, the attribute allowing detection of a user action with respect to the second string.
  • the computer system may further comprise a datastore to store the electronic text document and the attribute.
  • Fig. 1 illustrates a computer system or facilitating user interaction with an electronic text document.
  • Fig. 2 illustrates a method 200 as performed by processor 102 for facilitating user interaction with an electronic text document.
  • Fig. 3 illustrates a glossary
  • Fig. 4 illustrates a user interface to define template text formatting data.
  • Fig. 5 illustrates the body of a text document.
  • Fig. 6 illustrates the body of the text document with an added attribute.
  • Fig. 7 illustrates a user interface to display a concept string and a definition string.
  • Fig. 8 illustrates a user interface to display a list of all defined concept strings.
  • Fig. 9 illustrates a user interface to display a list of undefined strings.
  • Fig. 10 illustrates a user interface to display ignored strings. Best Mode for Carrying Out the Invention
  • Fig. 1 illustrates a computer system 100 for facilitating user interaction with an electronic text document.
  • the electronic text document comprises text, such as the text of a legal agreement, and text formatting data that is indicative of the visual
  • the computer system 100 comprises a processor 102 connected to a program memory 104, a data memory 106, a communication port 108 and a user port 110.
  • the program memory 104 is a non- transitory computer readable medium, such as a hard drive, a solid state disk or CD- ROM.
  • Software that is, an executable program stored on program memory 104 causes the processor 102 to perform the method in Fig. 2, that is, processor 102 identifies a first string based on the text formatting data, identifies a second string that corresponds to the first string and stores an attribute associated with the second string allowing detection of a user action.
  • the processor 102 may receive data, such as the text or text formatting data, from data memory 106 as well as from the communications port 108 and the user port 110, which is connected to a display 112 that shows a visual representation 114 of the electronic text document to a user 116.
  • the processor 102 receives the electronic text document data from a storage server, such as cloud storage, via communications port 108, such as by using a Wi-Fi network according to IEEE 802.11.
  • the Wi-Fi network may be a decentralised ad-hoc network, such that no dedicated management infrastructure, such as a router, is required or a centralised network with a router or access point managing the network.
  • communications port 108 and user port 110 are shown as distinct entities, it is to be understood that any kind of data port may be used to receive data, such as a network connection, a memory interface, a pin of the chip package of processor 102, or logical ports, such as IP sockets or parameters of functions stored on program memory 104 and executed by processor 102. These parameters may be stored on data memory 106 and may be handled by-value or by-reference, that is, as a pointer, in the source code.
  • the processor 102 may receive data through all these interfaces, which includes memory access of volatile memory, such as cache or RAM, or non-volatile memory, such as an optical disk drive, hard disk drive, storage server or cloud storage.
  • the computer system 100 may further be implemented within a cloud computing environment, such as a managed group of interconnected servers hosting a dynamic number of virtual machines.
  • any receiving step may be preceded by the processor 102 determining or computing the data that is later received.
  • the processor 102 determines text formatting data and stores the text formatting data in data memory 106, such as RAM or a processor register.
  • the processor 102 requests the data from the data memory 106, such as by providing a read signal together with a memory address.
  • the data memory 106 provides the data as a voltage signal on a physical bit line and the processor 102 receives the text formatting data via a memory interface.
  • Fig. 2 illustrates a method 200 as performed by processor 102 for facilitating user interaction with an electronic text document, such as a Microsoft Word document, PDF document or a Google Drive Document.
  • the electronic text document comprises text and text formatting data that is indicative of the visual presentation of the text, such as indicating when visualised 114 on the display 112 it is done with certain formatting that can include amongst other formatting types, bold, underlined, use of double quotes or italics.
  • a concept string is a sequence of characters that can be included in the visualised text.
  • a concept string is typically comprised of one or more words.
  • Processor 102 identifies 202 based on the text formatting data a concept string of the text as representing a concept.
  • Fig. 3 illustrates a glossary 300 that constitutes part of the text document. It can be seen that the concept strings, also referred to as 'terms', defined by the glossary 300 are bold text in double quotes while the definitions of the concepts are plain text, that is, not bold. In this example, the first letter of each word that is included in the concept string is capitalised. This type of formatting typically conforms to the style referred to as title case. In the example of Fig. 3, processor 102 identifies the string "Abandonment Date" 302 as representing a concept because this string is bold text in double quotes.
  • Fig. 4 illustrates a user interface 400 which allows user 116 to define template text formatting data for concept strings.
  • the processor 102 receives the template text formatting data from the user. For example, user 116 can define that concept strings appear as bold text in double quotes 402.
  • the processor 102 then starts at the beginning of the glossary section 300 and analyses the words in the glossary section.
  • Processor 102 retrieves the text formatting data of each word and if the text formatting data corresponds to the template text formatting data defined through template interface 400, the processor identifies that word as being part of the concept string. If the formatting data of the subsequent words also correspond to the template text formatting data, the processor 400 appends these words to the concept string.
  • the user 116 does not explicitly define the template text formatting but simply places the cursor within text of the electronic text document that has the desired formatting.
  • user 116 would place the cursor anywhere within the term "Abandonment Date” and then click on a start button to trigger method 200.
  • the processor 102 then identifies 202 the concept string such that the text formatting data of the concept string corresponds to the text formatting data of the text at the current cursor position.
  • the text formatting data would indicate bold text.
  • Fig. 5 illustrates a part 500 of the text document other than the glossary section also referred to as the text body or the body of the text document.
  • Part 500 of the text document comprises the string "Abandonment Date" 502.
  • Processor 102 identifies 204 this string 502 of the text 500 such that this string 502 corresponds to the concept string 302 of Fig. 3.
  • Corresponding in this context means that the two strings may be identical or may show a same variation. Examples of such slight variations are singular/plural forms, inflexions, non-use of double quotes, or other grammatical variations. In another example, these variations may include synonyms.
  • Processor 102 determines that the two strings correspond even if one or more of these variations are present.
  • processor 102 After processor 102 identifies the string "Abandonment Date" 502 such that this string 502 corresponds to concept string 302, processor 102 stores 206 an attribute associated with string 502.
  • the attribute allows detection of a user action with respect to string 502.
  • the attribute is an event handler that processes the user action of clicking on string 502, such as an onClick event, or the user action of hovering over string 502, such as an onMouseOver event.
  • the attribute is a hyperlink that defines the action in response to the user clicking on or hovering over the string 502.
  • Fig. 6 illustrates the part 600 of the text document with the associated attribute visualised.
  • String 502 is now underlined. This underlining indicates a hyperlink which means that user interaction is now possible with respect to the string 502, such as by clicking on the hyperlink. It is noted, however, that in some examples the attribute is stored associated with string 502 without a visualisation of the associated attribute, such as underlining, to indicate the presence of the attribute.
  • method 200 may be repeated such that multiple concept strings are identified.
  • processor 102 receives a selection of part of the text which identifies glossary 300.
  • the user 116 may use a mouse to select the part of the text, such as one page or multiple pages or multiple paragraphs.
  • this part of the text contains multiple terms of a glossary and processor 102 repeats method 200 for each of the multiple terms.
  • processor 102 starts at the beginning of the selected glossary part of the text and works through the selected text from beginning to end and identifies all concept strings in that part of the text.
  • Processor 102 then analyses the text other than the glossary selection, that is, the body text 500 without the glossary 300, in order to identify corresponding strings and add event handlers as described above.
  • the glossary 300 also comprises a definition string 304 associated with each concept string.
  • 'Associated with' in this context means that the definition string 304 defines the concept string 302.
  • processor 102 identifies the definition string as the string that is neighbouring the concept string, such as immediately after the concept string 302 when displayed. This may include one or more line returns or paragraph returns between the concept string and the definition string and/or after the word "means”.
  • processor 102 can present to the user 116 the definition string for any concept string that is defined in the glossary 300. For example, processor 102 detects a user action with respect to string "Abandonment Date" 502 in Fig. 6, such as caused by the user 116 clicking on string 502. In response to detecting the user action with respect to string 502, such as defined in the body of the event handler function, processor 102 creates a user interface to display the definition string 304 on display 112.
  • Fig. 7 illustrates a user interface 700 created by processor 102 in response to detecting an onClick event on the string "Abandonment Date" in the text body.
  • the user interface 700 comprises the concept string 302 and the definition string 304 as previously identified.
  • the method 200 may be repeated to identify multiple concept strings.
  • the definition string 304 of concept string 302 includes two further concept strings 702 and 704, both of which are defined in glossary 300 in Fig. 3. Therefore, processor 102 determines a subset of the multiple concept strings, such that each of the subset of concept strings corresponds to at least part of the definition string 304 displayed by the user interface 700.
  • the subset of concept strings actually includes all concept strings from the glossary 300 except concept string 302.
  • a larger number of concept strings is defined in glossary 300 and therefore, the subset would include a significantly smaller number than available concept strings.
  • User interface 700 further comprises an included concept terms display 706 that displays the concept terms of the determined subset.
  • processor 102 identified “Account Bank” and “Acceptable Bank” in definition string 304 and therefore, these two concept strings are displayed in the included concept terms display 706.
  • event handlers may be stored associated with the concept strings 702 and 704.
  • processor 102 detects this user action with respect to one of concept strings 702 and 704, each of which is one of the subset of concept strings displayed in included concept terms display 706. This applies to the concept strings 702 and 704 in the definition of concept string 302 as well as in the included concept terms display 706. In both locations, the concept strings 702 and 704 are the subset of all concept strings defined in the glossary 300.
  • processor 102 creates a further user interface to display the definition string associated with the respective string on which the user has clicked. In one example, this further user interface has similar functionality to user interface 700 in Fig. 7. The further user interface may appear to the user as the same user interface as the user interface 700 in Fig. 7 but with updated content.
  • User interface 700 further comprises an edit control element 708 associated with the user interface, such as a button with underlying event handler.
  • Processor 102 detects a user action with respect to the edit control element 708, such as by the user clicking on button 708.
  • processor 102 locates the cursor in the electronic text document in relation to the definition string to facilitate modification of the third string by a user.
  • processor 102 locates the cursor directly before the subsequent concept string "Acceptable Bank" in glossary 300.
  • the user 116 can modify the definition string, such as by adding text to the definition string 304 or by changing text in order to update the definition string 304.
  • the additions or changes to the definition string 304 may be in Track Changes mode in order to highlight the changes that have been made.
  • the definition string in glossary 300 comprises tracked changes that are highlighted by underlining, for example, these changes may also be highlighted in the same way in the user interface 700 that displays the definition string 304 to the user 116.
  • the proposed solution may provide further functionalities to facilitate the management of the glossary 300, such as a list of defined terms, undefined terms and ignored terms.
  • Fig. 8 illustrates a user interface 800 to display a list of all concept strings that are defined in glossary 300.
  • Processor 102 determines concept strings that are defined in glossary 300 but are not used in the body of the text 500.
  • processor 102 attempts for one concept string to identify at least one string in the text which corresponds to that concept string.
  • processor 102 generates a user interface comprising the concept string to indicate to a user that the first string is unused in the text document.
  • the processor 102 may repeat this process for each of the identified concept strings to determine a list of unused concept strings.
  • processor 102 determines concept strings that are defined in glossary 300 but are not used in the capitalised form in the body of the text 500.
  • processor 102 attempts for each concept string to identify at least one string in the text which corresponds to that concept string except for the use of capital letters. That is, the processor 102 disregards any use of capital letters in the concept string when attempting to identify corresponding strings in the body of the text.
  • processor 102 In response to the attempt being successful, that is, that concept string is used in un-capitalised form in the text body, processor 102 generates a user interface comprising the identified text string to indicate to a user that the text string in the body text is used in an un- capitalised form of a concept string. The processor 102 may repeat this process for each of the identified concept strings to determine a list of un-capitalised uses of the concept strings.
  • processor 102 determines strings in the body text 500 that are not defined in glossary 300.
  • processor 102 starts with the first text string at the beginning of the text body and attempts to identify one of the multiple concept strings which corresponds to that text string.
  • This first text string at the beginning of the text body may consist of capitalised words or phrases.
  • the first text string may be a combination of capitalised letters and lower case letters.
  • processor 102 In response to the attempt being unsuccessful, that is, there is no corresponding concept string in glossary 300, processor 102 generates a user interface comprising the undefined text string. Again, processor 102 may repeat this process to determine a list of undefined text strings.
  • Fig. 9 illustrates a user interface 900 to display a list of undefined strings identified by repeating the above process on the text body.
  • User 116 can then select one of the undefined strings and click on an "Add Definition" button 902, or by double- clicking on one of the undefined strings.
  • processor 102 creates the undefined string in the glossary 300 to allow a user to enter a definition of the undefined string. If the concept strings are ordered alphabetically, processor 102 may determine the position of the undefined string according to the first letters of the undefined string such that the concept strings remain alphabetically sorted after the addition of the undefined string.
  • User 116 can then enter a definition of the undefined string to be added to the glossary 300.
  • processor 102 may generate text formatting data associated with the unformatted string and the definition associated with the unformatted string, such that the formatting of the undefined string and the definition of the undefined string matches with the formatting of the existing concept strings and definitions in glossary 300.
  • user 116 may select the undefined string and click on an "Ignore" button 904. This prompts processor 102 to store the undefined string in an ignore list of strings and the ignored string is excluded from the list of undefined strings.
  • Fig. 10 illustrates a user interface 1000 to display ignored strings.
  • Processor 102 may create a further user interface that allows user 116 to enter a new concept string with a new concept definition. Processor 102 then receives from user 116 these two input strings and creates the two input strings in the text document. The processor 102 then automatically generates and stores text formatting data associated with the concept input string and the definition input string to indicate that the concept input string represents a concept and the definition input string represents a definition of that concept. In this example, the concept string would appear as bold text and the definition string as normal text.
  • PopUp p new PopUp(x.FirstOrDefault());
  • Suitable computer readable media may include volatile (e.g. RAM) and/or non-volatile (e.g. ROM, disk) memory, carrier waves and transmission media.
  • Exemplary carrier waves may take the form of electrical, electromagnetic or optical signals conveying digital data steams along a local network or a publically accessible network such as the internet.
  • estimating” or “processing” or “computing” or “calculating”, or “determining” or “displaying” or “maximising” or the like refer to the action and processes of a computer system, or similar electronic computing device, that processes and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

Abstract

This disclosure relates to facilitating user interaction with electronic text documents. An electronic text document comprises text and text formatting data that is indicative of the visual presentation (114) of the text. A first string (302) of the text is identified based on the text formatting data (402) as representing a concept. A second string (502) of the text is identified based on the text formatting data (402) such that the second string (502) corresponds to the first string (302). The method (200) comprises storing an attribute associated with the second string (502), the attribute allowing detection of a user action with respect to the second string (502). Aspects of the invention include computer implemented methods, computer systems and software.

Description

Title
[1] "Facilitating user interaction with electronic text documents" Cross-Reference to Related Applications
[2] The present application claims priority from the Australian provisional application 2014901278 filed on 8 April 2014 with Ceres Systems Pty Ltd being the applicant and the contents of which are incorporated herein by reference.
Technical Field
[3] This disclosure relates to facilitating user interaction with electronic text documents.
Background Art
[4] Many text documents, such as legal agreements, contain a large number of terms that are defined at the back of the document in a glossary. Users working with these documents need to look up a term in the glossary very often which makes working with these documents tedious.
[5] Any discussion of documents, acts, materials, devices, articles or the like which has been included in the present specification is not to be taken as an admission that any or all of these matters form part of the prior art base or were common general knowledge in the field relevant to the present disclosure as it existed before the priority date of each claim of this application.
[6] Throughout this specification the word "comprise", or variations such as "comprises" or "comprising", will be understood to imply the inclusion of a stated element, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps. Disclosure of Invention
[7] Provided is a computer implemented method for facilitating user interaction with an electronic text document. The electronic text document comprises text and text formatting data that is indicative of the visual presentation of the text. The method comprises: identifying based on the text formatting data a first string of the text as representing a concept; identifying a second string of the text such that the second string corresponds to the first string; and storing an attribute associated with the second string, the attribute allowing detection of a user action with respect to the second string.
[8] Since the method identifies the concept string based on the formatting data, the identification can be performed automatically and without user input. This is an advantage when complex text documents, such as legal text documents, are reviewed or edited in cases where these documents contain a large number of concepts that are defined at a different place in the document than where they are used. Storing attributes that allow detection of user actions with respect to the definition allows a user to click on the definition strings to trigger a particular function. For example, a formatted glossary of legal concepts at the end of the text document can be processed by the method in order to create links to the concept definition throughout the document.
[9] The attribute may be an event handler and may be a hyperlink.
[10] Identifying the first string based on text formatting data may comprise determining whether the text formatting data corresponds to template text formatting data. The method may further comprise receiving the template text formatting data from a user.
[11] The method may further comprise receiving from a user a selection of part of the text, wherein identifying the first string of the text may comprise identifying the first string from the selection; and identifying the second string of the text may comprise identifying the second string from text other than the selection.
[12] The method may further comprise: identifying a third string of the text as representing a definition associated with the identified first string representing the concept; detecting a user action with respect to the second string; and in response to detecting the user action with respect to the second string creating a user interface to display the third string representing the definition.
[13] Identifying the third string of the text may comprise identifying the third string from the text neighbouring the first string.
[14] The method may further comprise: repeating the step of identifying the first string to identify multiple first strings; selecting a subset of first strings from the multiple first strings such that each of the subset of first strings corresponds to at least part of the third string displayed by the user interface, wherein creating the user interface may comprise creating the user interface to display the subset of first strings.
[15] The method may further comprise: detecting a user action within the user interface with respect to one of the subset of first strings; in response to detecting the user action within the user interface with respect to one of the subset of first strings identifying the third string that is associated with the one of the subset of first strings; and creating a user interface to display the third string.
[16] The method may further comprise: detecting a user action with respect to a control element associated with the user interface; and in response to detecting a user action with respect to the control element, locating a cursor in the electronic text document in relation to the third string to facilitate modification of the third string by a user.
[17] The method may further comprise: identifying based on the text formatting data a fourth string of the text as representing a further concept; attempting to identify a fifth string of the text which corresponds to the fourth string representing the further concept; and in response to the attempt being unsuccessful, generating a user interface comprising the fourth string to indicate to a user that the fourth string is unused in the text document.
[18] The method may further comprise: identifying a sixth string of the text such that the sixth string corresponds to the first string representing the concept except for the use of capital letters in the first string is not present in the sixth string; and generating a user interface comprising the sixth string to indicate to a user that the sixth string corresponds to the first string except for the use of capitalised letters.
[19] The method may further comprise: repeating the step of identifying the first string to identify multiple first strings; attempting to identify one of the multiple first strings which corresponds to a seventh string of the text; and in response to the attempt being unsuccessful, generating a user interface comprising the seventh string to indicate to a user that the seventh string is undefined in the text document.
[20] The method may further comprise: detecting a user action with respect to the seventh string; in response to detecting a user action with respect to the seventh string, creating the seventh string in the text document to allow a user to enter a definition of the seventh string. [21] The method may further comprise: receiving from a user a first input string and a second input string; creating the first input string and the second input string in the text document; and storing text formatting data associated with the first input string and the second input string to indicate that the first input string represents a concept and the second input string represents a definition of that concept.
[22] Identifying based on the text formatting data the first string may comprise determining the first string such that the text formatting data of the first string corresponds to text formatting data of text at a current position of a cursor.
[23] Software, when installed on a computer causes the computer to perform the above method.
[24] Provided is a computer system for facilitating user interaction with an electronic text document. The electronic text document comprises text and text formatting data that is indicative of the visual presentation of the text. The computer system comprises: a processor to identify based on the text formatting data a first string of the text as representing a concept; to identify a second string of the text such that the second string corresponds to the first string; and to store an attribute associated with the second string, the attribute allowing detection of a user action with respect to the second string. [25] The computer system may further comprise a datastore to store the electronic text document and the attribute.
[26] Optional features described of any aspect of method, computer readable medium or computer system, where appropriate, similarly apply to the other aspects also described here.
Brief Description of Drawings
[27] An example will be described with reference to
Fig. 1 illustrates a computer system or facilitating user interaction with an electronic text document.
Fig. 2 illustrates a method 200 as performed by processor 102 for facilitating user interaction with an electronic text document.
Fig. 3 illustrates a glossary.
Fig. 4 illustrates a user interface to define template text formatting data. Fig. 5 illustrates the body of a text document.
Fig. 6 illustrates the body of the text document with an added attribute. Fig. 7 illustrates a user interface to display a concept string and a definition string.
Fig. 8 illustrates a user interface to display a list of all defined concept strings. Fig. 9 illustrates a user interface to display a list of undefined strings. Fig. 10 illustrates a user interface to display ignored strings. Best Mode for Carrying Out the Invention
[28] Fig. 1 illustrates a computer system 100 for facilitating user interaction with an electronic text document. The electronic text document comprises text, such as the text of a legal agreement, and text formatting data that is indicative of the visual
presentation of the text, such as bold, underlined or italics. The computer system 100 comprises a processor 102 connected to a program memory 104, a data memory 106, a communication port 108 and a user port 110. The program memory 104 is a non- transitory computer readable medium, such as a hard drive, a solid state disk or CD- ROM. Software, that is, an executable program stored on program memory 104 causes the processor 102 to perform the method in Fig. 2, that is, processor 102 identifies a first string based on the text formatting data, identifies a second string that corresponds to the first string and stores an attribute associated with the second string allowing detection of a user action.
[29] The processor 102 may receive data, such as the text or text formatting data, from data memory 106 as well as from the communications port 108 and the user port 110, which is connected to a display 112 that shows a visual representation 114 of the electronic text document to a user 116. In one example, the processor 102 receives the electronic text document data from a storage server, such as cloud storage, via communications port 108, such as by using a Wi-Fi network according to IEEE 802.11. The Wi-Fi network may be a decentralised ad-hoc network, such that no dedicated management infrastructure, such as a router, is required or a centralised network with a router or access point managing the network.
[30] Although communications port 108 and user port 110 are shown as distinct entities, it is to be understood that any kind of data port may be used to receive data, such as a network connection, a memory interface, a pin of the chip package of processor 102, or logical ports, such as IP sockets or parameters of functions stored on program memory 104 and executed by processor 102. These parameters may be stored on data memory 106 and may be handled by-value or by-reference, that is, as a pointer, in the source code. [31] The processor 102 may receive data through all these interfaces, which includes memory access of volatile memory, such as cache or RAM, or non-volatile memory, such as an optical disk drive, hard disk drive, storage server or cloud storage. The computer system 100 may further be implemented within a cloud computing environment, such as a managed group of interconnected servers hosting a dynamic number of virtual machines.
[32] It is to be understood that any receiving step may be preceded by the processor 102 determining or computing the data that is later received. For example, the processor 102 determines text formatting data and stores the text formatting data in data memory 106, such as RAM or a processor register. The processor 102 then requests the data from the data memory 106, such as by providing a read signal together with a memory address. The data memory 106 provides the data as a voltage signal on a physical bit line and the processor 102 receives the text formatting data via a memory interface.
[33] Fig. 2 illustrates a method 200 as performed by processor 102 for facilitating user interaction with an electronic text document, such as a Microsoft Word document, PDF document or a Google Drive Document. The electronic text document comprises text and text formatting data that is indicative of the visual presentation of the text, such as indicating when visualised 114 on the display 112 it is done with certain formatting that can include amongst other formatting types, bold, underlined, use of double quotes or italics.
[34] A concept string is a sequence of characters that can be included in the visualised text. A concept string is typically comprised of one or more words.
Processor 102 identifies 202 based on the text formatting data a concept string of the text as representing a concept.
[35] Fig. 3 illustrates a glossary 300 that constitutes part of the text document. It can be seen that the concept strings, also referred to as 'terms', defined by the glossary 300 are bold text in double quotes while the definitions of the concepts are plain text, that is, not bold. In this example, the first letter of each word that is included in the concept string is capitalised. This type of formatting typically conforms to the style referred to as title case. In the example of Fig. 3, processor 102 identifies the string "Abandonment Date" 302 as representing a concept because this string is bold text in double quotes.
[36] Fig. 4 illustrates a user interface 400 which allows user 116 to define template text formatting data for concept strings. When the user 116 clicks on the "Ok" button, the processor 102 receives the template text formatting data from the user. For example, user 116 can define that concept strings appear as bold text in double quotes 402. The processor 102 then starts at the beginning of the glossary section 300 and analyses the words in the glossary section. Processor 102 retrieves the text formatting data of each word and if the text formatting data corresponds to the template text formatting data defined through template interface 400, the processor identifies that word as being part of the concept string. If the formatting data of the subsequent words also correspond to the template text formatting data, the processor 400 appends these words to the concept string.
[37] In another example, the user 116 does not explicitly define the template text formatting but simply places the cursor within text of the electronic text document that has the desired formatting. In the example of Fig. 3, user 116 would place the cursor anywhere within the term "Abandonment Date" and then click on a start button to trigger method 200. The processor 102 then identifies 202 the concept string such that the text formatting data of the concept string corresponds to the text formatting data of the text at the current cursor position. In the example of Fig. 3, if the current cursor position is within the term "Abandonment Date" the text formatting data would indicate bold text.
[38] Fig. 5 illustrates a part 500 of the text document other than the glossary section also referred to as the text body or the body of the text document. Part 500 of the text document comprises the string "Abandonment Date" 502. Also referring to Fig. 2, Processor 102 identifies 204 this string 502 of the text 500 such that this string 502 corresponds to the concept string 302 of Fig. 3. Corresponding in this context means that the two strings may be identical or may show a same variation. Examples of such slight variations are singular/plural forms, inflexions, non-use of double quotes, or other grammatical variations. In another example, these variations may include synonyms. Processor 102 determines that the two strings correspond even if one or more of these variations are present.
[39] After processor 102 identifies the string "Abandonment Date" 502 such that this string 502 corresponds to concept string 302, processor 102 stores 206 an attribute associated with string 502. The attribute allows detection of a user action with respect to string 502. In one example, the attribute is an event handler that processes the user action of clicking on string 502, such as an onClick event, or the user action of hovering over string 502, such as an onMouseOver event. In another example, the attribute is a hyperlink that defines the action in response to the user clicking on or hovering over the string 502.
[40] Fig. 6 illustrates the part 600 of the text document with the associated attribute visualised. String 502 is now underlined. This underlining indicates a hyperlink which means that user interaction is now possible with respect to the string 502, such as by clicking on the hyperlink. It is noted, however, that in some examples the attribute is stored associated with string 502 without a visualisation of the associated attribute, such as underlining, to indicate the presence of the attribute.
[41] It is to be noted that method 200 may be repeated such that multiple concept strings are identified. In one example, processor 102 receives a selection of part of the text which identifies glossary 300. The user 116 may use a mouse to select the part of the text, such as one page or multiple pages or multiple paragraphs. As shown in Fig. 3, this part of the text contains multiple terms of a glossary and processor 102 repeats method 200 for each of the multiple terms. In other words, processor 102 starts at the beginning of the selected glossary part of the text and works through the selected text from beginning to end and identifies all concept strings in that part of the text.
Processor 102 then analyses the text other than the glossary selection, that is, the body text 500 without the glossary 300, in order to identify corresponding strings and add event handlers as described above.
[42] As can be seen in Fig. 3, the glossary 300 also comprises a definition string 304 associated with each concept string. 'Associated with' in this context means that the definition string 304 defines the concept string 302. In one example, processor 102 identifies the definition string as the string that is neighbouring the concept string, such as immediately after the concept string 302 when displayed. This may include one or more line returns or paragraph returns between the concept string and the definition string and/or after the word "means".
[43] With the definition string 304 available, processor 102 can present to the user 116 the definition string for any concept string that is defined in the glossary 300. For example, processor 102 detects a user action with respect to string "Abandonment Date" 502 in Fig. 6, such as caused by the user 116 clicking on string 502. In response to detecting the user action with respect to string 502, such as defined in the body of the event handler function, processor 102 creates a user interface to display the definition string 304 on display 112.
[44] Fig. 7 illustrates a user interface 700 created by processor 102 in response to detecting an onClick event on the string "Abandonment Date" in the text body. The user interface 700 comprises the concept string 302 and the definition string 304 as previously identified.
[45] As mentioned above, the method 200 may be repeated to identify multiple concept strings. In the example of Fig. 7, the definition string 304 of concept string 302 includes two further concept strings 702 and 704, both of which are defined in glossary 300 in Fig. 3. Therefore, processor 102 determines a subset of the multiple concept strings, such that each of the subset of concept strings corresponds to at least part of the definition string 304 displayed by the user interface 700. In this example, the subset of concept strings actually includes all concept strings from the glossary 300 except concept string 302. However, in other examples, a larger number of concept strings is defined in glossary 300 and therefore, the subset would include a significantly smaller number than available concept strings.
[46] User interface 700 further comprises an included concept terms display 706 that displays the concept terms of the determined subset. In this example, processor 102 identified "Account Bank" and "Acceptable Bank" in definition string 304 and therefore, these two concept strings are displayed in the included concept terms display 706.
[47] Similar to the above description, event handlers may be stored associated with the concept strings 702 and 704. As a result, when user 116 clicks on concept string 702 or 704, processor 102 detects this user action with respect to one of concept strings 702 and 704, each of which is one of the subset of concept strings displayed in included concept terms display 706. This applies to the concept strings 702 and 704 in the definition of concept string 302 as well as in the included concept terms display 706. In both locations, the concept strings 702 and 704 are the subset of all concept strings defined in the glossary 300. In response to detecting the user action with respect to the strings 702 and 704, processor 102 creates a further user interface to display the definition string associated with the respective string on which the user has clicked. In one example, this further user interface has similar functionality to user interface 700 in Fig. 7. The further user interface may appear to the user as the same user interface as the user interface 700 in Fig. 7 but with updated content.
[48] User interface 700 further comprises an edit control element 708 associated with the user interface, such as a button with underlying event handler. Processor 102 detects a user action with respect to the edit control element 708, such as by the user clicking on button 708. In response to detecting the user action with respect to the button 708, processor 102 locates the cursor in the electronic text document in relation to the definition string to facilitate modification of the third string by a user. In the current example, processor 102 locates the cursor directly before the subsequent concept string "Acceptable Bank" in glossary 300. As a result, the user 116 can modify the definition string, such as by adding text to the definition string 304 or by changing text in order to update the definition string 304.
[49] The additions or changes to the definition string 304 may be in Track Changes mode in order to highlight the changes that have been made. When the definition string in glossary 300 comprises tracked changes that are highlighted by underlining, for example, these changes may also be highlighted in the same way in the user interface 700 that displays the definition string 304 to the user 116.
[50] The proposed solution may provide further functionalities to facilitate the management of the glossary 300, such as a list of defined terms, undefined terms and ignored terms.
[51] Fig. 8 illustrates a user interface 800 to display a list of all concept strings that are defined in glossary 300. Processor 102 determines concept strings that are defined in glossary 300 but are not used in the body of the text 500. In order to determine unused concept strings, processor 102 attempts for one concept string to identify at least one string in the text which corresponds to that concept string. In response to the attempt being unsuccessful, that is, that concept string is not used in the text body, processor 102 generates a user interface comprising the concept string to indicate to a user that the first string is unused in the text document. The processor 102 may repeat this process for each of the identified concept strings to determine a list of unused concept strings.
[52] In another example, processor 102 determines concept strings that are defined in glossary 300 but are not used in the capitalised form in the body of the text 500. In order to determine the un-capitalised uses of the concept strings, processor 102 attempts for each concept string to identify at least one string in the text which corresponds to that concept string except for the use of capital letters. That is, the processor 102 disregards any use of capital letters in the concept string when attempting to identify corresponding strings in the body of the text. In response to the attempt being successful, that is, that concept string is used in un-capitalised form in the text body, processor 102 generates a user interface comprising the identified text string to indicate to a user that the text string in the body text is used in an un- capitalised form of a concept string. The processor 102 may repeat this process for each of the identified concept strings to determine a list of un-capitalised uses of the concept strings.
[53] In yet another example, processor 102 determines strings in the body text 500 that are not defined in glossary 300. In order to determine undefined strings, processor 102 starts with the first text string at the beginning of the text body and attempts to identify one of the multiple concept strings which corresponds to that text string. This first text string at the beginning of the text body may consist of capitalised words or phrases. In another example the first text string may be a combination of capitalised letters and lower case letters. In response to the attempt being unsuccessful, that is, there is no corresponding concept string in glossary 300, processor 102 generates a user interface comprising the undefined text string. Again, processor 102 may repeat this process to determine a list of undefined text strings.
[54] Fig. 9 illustrates a user interface 900 to display a list of undefined strings identified by repeating the above process on the text body. User 116 can then select one of the undefined strings and click on an "Add Definition" button 902, or by double- clicking on one of the undefined strings. This represents a further user action and the processor 102 detects this user action through the event handler as described above. In response to detecting the user action with respect to the undefined string, processor 102 creates the undefined string in the glossary 300 to allow a user to enter a definition of the undefined string. If the concept strings are ordered alphabetically, processor 102 may determine the position of the undefined string according to the first letters of the undefined string such that the concept strings remain alphabetically sorted after the addition of the undefined string.
[55] User 116 can then enter a definition of the undefined string to be added to the glossary 300. In this process of adding undefined strings, processor 102 may generate text formatting data associated with the unformatted string and the definition associated with the unformatted string, such that the formatting of the undefined string and the definition of the undefined string matches with the formatting of the existing concept strings and definitions in glossary 300.
[56] Instead of adding an undefined string to the glossary, user 116 may select the undefined string and click on an "Ignore" button 904. This prompts processor 102 to store the undefined string in an ignore list of strings and the ignored string is excluded from the list of undefined strings.
[57] Fig. 10 illustrates a user interface 1000 to display ignored strings.
[58] Processor 102 may create a further user interface that allows user 116 to enter a new concept string with a new concept definition. Processor 102 then receives from user 116 these two input strings and creates the two input strings in the text document. The processor 102 then automatically generates and stores text formatting data associated with the concept input string and the definition input string to indicate that the concept input string represents a concept and the definition input string represents a definition of that concept. In this example, the concept string would appear as bold text and the definition string as normal text.
[59] Provided below is source code of method ShowPopupWithDefinition(), which is called on the user's 116 double click on text string 502 in the text body 500: private static void ShowPopupWithDefinition() {
Interop. Document document = MSWord.Application.ActiveDocument; List<string> terms = new List<string>(); if (SidePanel.GetPanelControl(Resources.Term_PanelTitle).If(x =>
(TermPanel)x != null).Do(x => terms =
((TermPanel)x).DefinedTerms.Items.Cast<string>().ToList()).ReturnSuccess()) {
List<string> usedTerms = new List<string>(); foreach (string term in terms)
{
Interop. Range rng = document.Application.Selection.Paragraphs[l].Range; try
{ rng.Find.ClearFormattingO; rng.Find.Forward = true; rng.Find.IgnoreSpace = false; rng.Find.MatchCase = true; rng.Find.MatchPhrase = true; rng.Find.Text = term.Trim();
rng .Find.Execute() ; catch
//do nothing, ignore error
while (rng.Find.Found
&& rng.Start <
document. Application. Selection.Paragraphs[l]. Range. End)
//find is strange, it continues to search out of its range = all the next text { if ((rng.Start <= document.Application. Selection. Range. Start && rng.End >= document.Application. Selection. Range. Start) II
(rng.Start <= document.Application. Selection. Range. End && rng.End >= document.Application. Selection.Range. End))
{ usedTerms.Add(term);
} rng .Find.Execute() ;
}
} if (!SidePaneLPanelButtonsFlag)
usedTerms.If(x => x.FirstOrDefault() != null).Do(x => {
PopUp p = new PopUp(x.FirstOrDefault());
MainText.GetTermDefinition(x.FirstOrDefault()); p . S etDefinitionFromClipboardO ;
p.ShowDialogO;
});
SidePanel.PanelButtonsFlag = false;
} [60] It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the specific embodiments without departing from the scope as defined in the claims.
[61] It should be understood that the techniques of the present disclosure might be implemented using a variety of technologies. For example, the methods described herein may be implemented by a series of computer executable instructions residing on a suitable computer readable medium. Suitable computer readable media may include volatile (e.g. RAM) and/or non-volatile (e.g. ROM, disk) memory, carrier waves and transmission media. Exemplary carrier waves may take the form of electrical, electromagnetic or optical signals conveying digital data steams along a local network or a publically accessible network such as the internet.
[62] It should also be understood that, unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "creating" or "identifying" or
"estimating" or "processing" or "computing" or "calculating", or "determining" or "displaying" or "maximising" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that processes and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
[63] It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the above-described embodiments, without departing from the broad general scope of the present disclosure. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.

Claims

CLAIMS:
1. A computer implemented method for facilitating user interaction with an electronic text document, the electronic text document comprising text and text formatting data that is indicative of the visual presentation of the text, the method comprising: identifying based on the text formatting data a first string of the text as representing a concept; identifying a second string of the text such that the second string corresponds to the first string; and storing an attribute associated with the second string, the attribute allowing detection of a user action with respect to the second string.
2. The method of claim 1, wherein the attribute is an event handler.
3. The method of claim 1 or 2, wherein the attribute is a hyperlink.
4. The method of any one of the preceding claims, wherein identifying the first string based on text formatting data comprises determining whether the text formatting data corresponds to template text formatting data.
5. The method of claim 4, further comprising receiving the template text formatting data from a user.
6. The method of any one of the preceding claims, further comprising receiving from a user a selection of part of the text, wherein identifying the first string of the text comprises identifying the first string from the selection; and identifying the second string of the text comprises identifying the second string from text other than the selection.
7. The method of any one of the preceding claims, further comprising: identifying a third string of the text as representing a definition associated with the identified first string representing the concept; detecting a user action with respect to the second string; and in response to detecting the user action with respect to the second string creating a user interface to display the third string representing the definition.
8. The method of claim 7, wherein identifying the third string of the text comprises identifying the third string from the text neighbouring after the first string.
9. The method of claim 7 or 8, further comprising: repeating the step of identifying the first string to identify multiple first strings; selecting a subset of first strings from the multiple first strings such that each of the subset of first strings corresponds to at least part of the third string displayed by the user interface, wherein creating the user interface comprises creating the user interface to display the subset of first strings.
10. The method of claim 9, further comprising: detecting a user action within the user interface with respect to one of the subset of first strings; in response to detecting the user action within the user interface with respect to one of the subset of first strings, identifying the third string that is associated with the one of the subset of first strings; and creating a user interface to display the third string.
11. The method of any one of claims 7 to 10, further comprising: detecting a user action with respect to a control element associated with the user interface; and in response to detecting a user action with respect to the control element, locating a cursor in the electronic text document in relation to the third string to facilitate modification of the third string by a user.
12. The method of any one of the preceding claims, further comprising: identifying based on the text formatting data a fourth string of the text as representing a further concept; attempting to identify a fifth string of the text which corresponds to the fourth string representing the further concept; and in response to the attempt being unsuccessful, generating a user interface comprising the fourth string to indicate to a user that the fourth string is unused in the text document.
13. The method of any one of the preceding claims, further comprising: identifying a sixth string of the text such that the sixth string corresponds to the first string representing the concept except for the use of capital letters in the first string is not present in the sixth string; and generating a user interface comprising the sixth string to indicate to a user that the sixth string corresponds to the first string except for the use of capitalised letters.
14. The method of any one of the preceding claims, further comprising: repeating the step of identifying the first string to identify multiple first strings; attempting to identify one of the multiple first strings which corresponds to a seventh string of the text; and in response to the attempt being unsuccessful, generating a user interface comprising the seventh string to indicate to a user that the seventh string is undefined in the text document.
15. The method of claim 13, further comprising: detecting a user action with respect to the seventh string; in response to detecting a user action with respect to the seventh string, creating the seventh string in the text document to allow a user to enter a definition of the seventh string.
16. The method of any one of the preceding claims, further comprising: receiving from a user a first input string and a second input string; creating the first input string and the second input string in the text document; and storing text formatting data associated with the first input string and the second input string to indicate that the first input string represents a concept and the second input string represents a definition of that concept.
17. The method of any one of the preceding claims, wherein identifying based on the text formatting data the first string comprises determining the first string such that the text formatting data of the first string corresponds to text formatting data of text at a current position of a cursor.
18. Software, that when installed on a computer causes the computer to perform the method of any one or more of the preceding claims.
19. A computer system for facilitating user interaction with an electronic text document, the electronic text document comprising text and text formatting data that is indicative of the visual presentation of the text, the computer system comprising: a processor to identify based on the text formatting data a first string of the text as representing a concept; to identify a second string of the text such that the second string corresponds to the first string; and to store an attribute associated with the second string, the attribute allowing detection of a user action with respect to the second string.
20. The computer system of claim 18, further comprising a datastore to store the electronic text document and the attribute.
PCT/AU2015/050158 2014-04-08 2015-04-08 Facilitating user interaction with electronic text documents WO2015154144A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2014901278A AU2014901278A0 (en) 2014-04-08 Facilitating user interaction with electronic text documents
AU2014901278 2014-04-08

Publications (1)

Publication Number Publication Date
WO2015154144A1 true WO2015154144A1 (en) 2015-10-15

Family

ID=54287025

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2015/050158 WO2015154144A1 (en) 2014-04-08 2015-04-08 Facilitating user interaction with electronic text documents

Country Status (1)

Country Link
WO (1) WO2015154144A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018670A1 (en) * 2001-07-18 2003-01-23 International Business Machines Corporation Method, system and computer program product for implementing acronym assistance
US20110271179A1 (en) * 2010-04-28 2011-11-03 Peter Jasko Methods and systems for graphically visualizing text documents
US20130205197A1 (en) * 2011-08-05 2013-08-08 Document Modelling Pty Ltd Structured document development, management and generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018670A1 (en) * 2001-07-18 2003-01-23 International Business Machines Corporation Method, system and computer program product for implementing acronym assistance
US20110271179A1 (en) * 2010-04-28 2011-11-03 Peter Jasko Methods and systems for graphically visualizing text documents
US20130205197A1 (en) * 2011-08-05 2013-08-08 Document Modelling Pty Ltd Structured document development, management and generation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BORG, C.: "Definition Extraction from Text: an experiment using evolving algorithms", 2008, pages 1 - 24, XP055230259, Retrieved from the Internet <URL:http://www.claudiaborg.com/publications/SeminarPaper.pdf> [retrieved on 20150516] *
CURTOTTI, M. ET AL.: "Enhancing the Visualization of Law", 2012, pages 1 - 27, XP055230261, Retrieved from the Internet <URL:http://cs.anu.edu.au/people/Michael.Curtotti/papers/visualizationfinal.pdf> [retrieved on 20150515] *

Similar Documents

Publication Publication Date Title
US11244011B2 (en) Ingestion planning for complex tables
US10853566B2 (en) Systems and methods for automatically creating tables using auto-generated templates
US10346484B2 (en) Combining website characteristics in an automatically generated website
JP5911594B2 (en) Providing translation support for application localization
US9280608B2 (en) Group bookmarks
US8468145B2 (en) Indexing of URLs with fragments
US20150067476A1 (en) Title and body extraction from web page
US20150242474A1 (en) Inline and context aware query box
US9703763B1 (en) Automatic document citations by utilizing copied content for candidate sources
US9244891B2 (en) Adjusting search result rankings based on multiple user highlighting of documents
CN105095441A (en) Information acquisition method and device
US9886711B2 (en) Product recommendations over multiple stores
US20150089415A1 (en) Method of processing big data, apparatus performing the same and storage media storing the same
CN111104479A (en) Data labeling method and device
US9298689B2 (en) Multiple template based search function
CN116108826A (en) Smart change summary for designer
US9053177B1 (en) Sitelinks based on visual location
EP3341917B1 (en) Smart flip operation for grouped objects
CN113792232B (en) Page feature calculation method, page feature calculation device, electronic equipment, page feature calculation medium and page feature calculation program product
WO2015154144A1 (en) Facilitating user interaction with electronic text documents
Coleman Data flow sequences: A revision of data flow diagrams for modelling applications using XML.
US8935343B2 (en) Instant messaging network resource validation
CN111279350B (en) System and method for providing globalization features in service management application interfaces
CN107609008A (en) A kind of data importing device and method from relevant database to Kafka based on Apache Sqoop
CN104809101A (en) Communication object finding method and equipment

Legal Events

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

Ref document number: 15776231

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15776231

Country of ref document: EP

Kind code of ref document: A1