Patent Publication Number: US-10783155-B2

Title: Systems and methods for identifying word phrases based on stress patterns

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of and incorporates by reference and claims the benefit of priority to U.S. patent application Ser. No. 14/468,580, filed Aug. 26, 2014, which incorporates by reference and claims the benefit of priority to U.S. Provisional Application No. 61/871,079 filed on Aug. 28, 2013, and U.S. Provisional Application No. 61/871,865 filed on Aug. 29, 2013. 
    
    
     BACKGROUND OF THE INVENTION 
     The present subject matter relates generally to systems and methods for identifying words and phrases that match a user-defined linguistic stress pattern. 
     Writers, lyricists, artists, and journalists, among many others, are constantly presented with the problem of brainstorming for hours over the perfect word or phrase that is missing in their work. General Internet searches for phrases is frustrating and time consuming. In addition, general Internet searches cannot be filtered or refined based on a variety of user criteria. 
     Further, songwriters often search for words to match a specific melody in a song. As a further complication, the best results often require the words selected to seem natural and not contradict the linguistic stress patterns (i.e., stress patterns) of natural speech. If words are chosen that contradict the natural stress pattern, the result is typically displeasing to listeners. However, finding the perfect word or phrase that matches a melody and has a natural stress pattern is difficult. Songwriters often brainstorm and search the Internet for phrases, but there isn&#39;t any system that provides a match based on the combination of the melody and the stress pattern of the word or phrase. 
     Accordingly, there is a need for systems and methods directed to providing writers with the perfect phrase for their work in an efficient manner, as described and claimed herein. 
     BRIEF SUMMARY OF THE INVENTION 
     The present disclosure provides systems and methods for identifying words and phrases to match a user-defined stress pattern. Various examples of the systems and methods are provided herein. 
     In one example, the system is configured to search for phrases that match a user&#39;s defined criteria, such as a stress pattern. As used herein, a phrase is defined as including at least one word. For example, the user may define search criteria regarding the sought after phrase into the system. In response, the system returns a plurality of phrases that meet the defined criteria. The returned results may take many forms, but in one example, the results are ranked according to frequency of use, thereby allowing users to easily identify the most popular matches. 
     The user-defined search criteria may include, for example, defined stress pattern, number of syllables, number of words, beginning letter of the phrase or word, and/or part of speech, among others. The criteria may also include a pre-defined word or phrase fragment. For example, a user may be looking for a three-word phrase, wherein the user knows the second word, and provides the second word as part of the criteria. The criteria may also include “rhymes with” limitations, or “attitude” limitations (i.e., sentiment limitations) of the phrase or words, among other limitations. 
     The system includes a controller in communication with a database, wherein the database includes a plurality of words and phrases having corresponding stress patterns. The system may constantly update the database based on a plurality of phrase sources. For example, the system may be in communication with a phrase source including song lyrics, books, short stories, poems, social media, articles, newspapers, websites, among other text-based references, wherein the system imports new words and phrases into the database and determines and/or tracks related statistics, such as the frequency of use of the phrases (e.g., frequency rating). 
     The plurality of words within the database may also include associated pronunciation data. In such example, the plurality of words may be organized such that every word is indexed by the pronunciation data. It is understood that many words have multiple pronunciations and the system is adapted to index each alternative pronunciation. The pronunciation of each word and the stress pattern of each word may be processed by the system during the searching process. 
     The system may produce search results based on the entirety of the phrase, or on individual words within a phrase and combine the separate word search results into a complete phrase. 
     This disclosure further provides a method wherein a user defines search criteria, which may include any combination of; the number of words in the phrase, the desired stress pattern of each word in the phrase, the desired part of speech, the first letter of the phrase, rhyming limitations, attitude limitations, or combinations thereof. The system identifies phrases that match the user-defined stress pattern and filters the search results based on the user-defined criteria. The system may search written English language phrase databases for every possible combination of the filtered stress pattern matches. The system may further display the search results and corresponding rank based on the phrase popularity, which may be determined by the frequency rating of the phrase. 
     In an embodiment, the system for identifying a desired phrase, the system includes a controller and a memory coupled to the controller, wherein the memory is configured to store program instructions executable by the controller. In response to executing the program instructions, the controller is configured to receive user-defined criteria through a user interface, wherein the user-defined criteria includes a stress pattern for at least a portion of a phrase. The controller is also configured to (i) access a database including a plurality of phrases, wherein each phrase includes at least one word, wherein each phrase is associated with a stress pattern, (ii) select a matching phrase from the plurality of phrases within the database, wherein the matching phrase is associated with a stress pattern that matches the received user-defined criteria, and (iii) display the matching phrase on the user interface. 
     In an example, the user-defined criteria includes a word number associated with the number of words in the desired phrase. The user-defined criteria may include a rhyme type, wherein the rhyme type is selected from the group consisting of perfect, additive, family, subtractive, assonance, and consonance. 
     The controller may be configured to calculate a ranking for the matching phrases, wherein the ranking is based on a frequency of occurrence of the matching phrase in the database. 
     The stress pattern is in the form of a first indicia and a second indicia, wherein the first indicia is associated with a stressed syllable and the second indicia is associated with an unstressed syllable. In an example, the stress pattern may be in the form of at least two integers, wherein a first integer is associated with a stressed syllable and a second integer is associated with an unstressed syllable. The stress pattern may include at least three integers, wherein a first integer is associated with a primary stressed syllable, a second integer is associated with an unstressed syllable, and a third integer is associated with a secondary stressed syllable. 
     In an example, the controller is further configured to receive the stress pattern in the form of an auditory sample, convert the auditory sample into MIDI values, and determine the stress pattern associated with the MIDI values. 
     The controller may be configured to (i) access a plurality of phrase sources each including a plurality of phrases, wherein each plurality of phrase includes at least one word, (ii) identify a stress pattern for each of the plurality of phrases, calculate a frequency of occurrence of each phrase in the plurality of phrases, and (iii) input the identified plurality of phrases, the associated frequency of each phrase, and the associated stress pattern of each phrase into the database. 
     In an embodiment, the system for identifying a desired phrase, the system includes a controller, a memory coupled to the controller, wherein the memory is configured to store program instructions executable by the controller. In response to executing the program instructions, the controller is configured to receive user-defined criteria through a user interface, and determine a stress pattern associated with the user-defined criteria. The controller is also configured to access a database including a plurality of phrases, wherein each phrase includes at least one word, wherein each phrase is associated with a stress pattern, select a matching phrase from the plurality of phrases within the database, wherein the matching phrase is associated with a stress pattern that matches the received user-defined criteria, and display the matching phrase on the user interface. 
     In an example, the user-defined criteria includes a submitted phrase, wherein the submitted phrase includes at least one word. In another example, the user-defined criteria is an auditory sample, wherein the controller is configured to convert the auditory sample into MIDI values to determine the stress pattern of the user-defined criteria. 
     An advantage of the present systems is the ability to search for phrases that match a user-defined melody and/or stress pattern. 
     An advantage of the present systems and methods is that the system may identify phrases that would otherwise elude users in an efficient manner. 
     A further advantage of the present systems and methods is that the system may provide search results based on stress patterns and pronunciation of each word in a phrase. 
     Yet another advantage of the present system is the ability to find, collect, and organize words and phrases based on melodies and stress patterns for writers, copywriters, songwriters, poets, and computer programs. 
     Additional objects, advantages and novel features of the examples will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following description and the accompanying drawings or may be learned by production or operation of the examples. The objects and advantages of the concepts may be realized and attained by means of the methodologies, instrumentalities and combinations particularly pointed out in the appended claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The drawing figures depict one or more implementations in accord with the present concepts, by way of example only, not by way of limitations. In the figures, like reference numerals refer to the same or similar elements. 
         FIG. 1  is a schematic of the system disclosed herein. 
         FIG. 2  is an example of a display on a user interface including user-defined criteria and corresponding matching phrases. 
         FIG. 3  is an example of a display on a user interface including an input mechanism for a user-defined stress pattern in the form of an auditory file. 
         FIG. 4  is an example of a display on a user interface including a user-defined stress pattern and corresponding matching phrases. 
         FIG. 5  is an example of a user interface for inputting user-defined criteria. 
         FIG. 6  is an example of a user interface including input of user-defined criteria and a plurality of matching phrases. 
         FIG. 7  is an example of a display on a user interface including a user-defined stress pattern, and a user-defined word to be contained in the results, and corresponding matching phrases. 
         FIG. 8  is an example of a display on a user interface including two user-defined stress patterns and corresponding matching phrases. 
         FIG. 9  is an example of a display on a user interface including a user-defined stress pattern and corresponding matching phrases, wherein the matching phrases include a prompt to play an auditory file associated with the matching phrase. 
         FIGS. 10A-10D  is a series of user interfaces including various displays for inputting user-defined criteria, a display of the corresponding matching phrases, and a user interface for further refining of the search results of the matching phrases. 
         FIG. 11  is an example of a display on a user interface including a user-defined stress pattern and corresponding matching phrases. 
         FIG. 12  is an example of a display for inputting user-defined criteria including stress patterns for a four-line stanza. 
         FIG. 13  is a list of words that may be associated with an unstressed stress pattern in the database. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present disclosure provides systems and methods for identifying words and phrases that match a user-defined stress pattern. 
     The system  10  includes a controller  12  and a memory  14  coupled to the controller  12 , wherein the memory  14  is configured to store program instructions executable by the controller  12 . In response to executing the program instructions, the controller  12  is configured to receive user-defined criteria  20  through a user interface  18 , wherein the user-defined criteria  20  includes a stress pattern  22  for at least one word within the matching phrase  24 . The user-defined criteria  20  may also include a word number  26  associated with the number of words in the matching phrase  24 . 
     The user-defined criteria  20  may include the stress pattern  22  of at least one word within the matching phrase  24 . The stress pattern  22  of a word indicates the relative stress of each syllable. For example, stressed syllables  28  are typically emphasized (e.g., louder, longer, and/or higher) than unstressed syllables  30 . The stressed syllables  28  may be further designated by a primary stressed syllable and a secondary stressed syllable. In an example, the stress pattern  22  may be indicated by a combination of integers. For example, for a three-syllable word, the unstressed syllable  30  may be associated with a value of zero, the primary stressed syllable may be associated with the value of one, and the secondary stressed syllable may be associated with the value of two. However, it should be understood than any suitable indication, such as letters, numbers, colors, among others, may be used to represent the stress pattern  22 . 
     In order to initiate a search, the desired stress pattern  22  may be indicated by a user via a user interface  18  by a first indicia for stressed syllables  28 , and a second indicia for unstressed syllables  30 , as shown in  FIG. 2 . Of course any visual indication for the first and second indicia may be associated with stressed syllables  28  and unstressed syllables  30 , including, but not limited to, plus and minus signs, upward and downward arrows, upward and downward triangles, pronunciation symbols, upper and lower case letters, different fonts, different size fonts, among others. In another example, the user-defined criteria  20  may be entered through the user interface  18  by moving virtual switches up and down to denote stressed syllables  28  and unstressed syllables  30 . In yet another example, the user-defined criteria  20  may be selected through a user interface  18  by entering “dum” and “da” into a text field for stressed syllables  28  and unstressed syllables  30 , respectively. Further, a drop down menu of user criteria may be included on a user interface  18 . For example, a drop down menu may include the integers “0”, “1”, and “2” to denote the stressed syllables  28  and unstressed syllables  30 . Drop down menus may also be used for the upward and downward triangles to indicate the stress pattern  22 , as well as the “dum” and “da” combination of stress patterns. 
     The user-defined criteria  20  may be input or selected by “playing” a melody&#39;s stress pattern  22  on a user interface  18  using any of the binary symbols described above. For example, as shown in  FIG. 3 , the user may play a stress pattern  22  melody by selecting up and down triangles. The pattern input by the user may be used as the user-defined criteria  20 . 
     As shown in  FIG. 4 , the stress pattern  22  of the phrase “California Girl” may be indicated by an up arrow for the stressed syllable  28  (or primary syllables) of “Cal”, “forn”, “girl” and the unstressed syllables  30  of “Ii” and “ia.” The user-defined criteria  20  of stress patterns  22  may be entered with the primary or stressed syllables  28  indicated by capital letters and the unstressed syllables  30  indicated in lower case letters. For example, the stress pattern  22  of the phrase “pretty little girl” may be indicated by “PREtty LITTle GIRL.” 
     As shown in  FIG. 5 , the user-defined criteria  20  may include more than a selected stress pattern  22 . For example, the system  10  may include displaying a plurality of search filter options on the user interface  18 . The system  10  may use the information input by the user to return matching phrases that include the requested stress pattern  22  as well as any number of other user-defined criteria  20 . 
     For example, the user-defined criteria  20  may also include the first (or last) letter, or the first few letters, of at least one word within the matching phrase  24 . For example, a user may enter the first letter of a word in the phrase via a dropdown menu of an alphabet displayed on the user interface  16  or within a text entry box. In addition, the user-defined criteria  20  may include a word ending, such as “5”, “ed”, “ing”, “ly”, among others. The user-defined criteria  20  may also include the part of speech of at least one word. For example, the part of speech may include verb, adverb, noun, adjective, auxiliary verb, conjunction, pronoun, preposition, qualifier, interjection, or article, among others. The user-defined criteria  20  may include multiple parts of speech. For example, the user may select both “verbs” and “adverb” to search both parts of speech simultaneously. 
     In addition, the user-defined criteria  20  may include an attitude indication for the phrase. For example, each of the plurality of phrases in the database  16  may be associated with an associated conveyed attitude, e.g., positive, negative, neutral, moderate, or intense. 
     The user-defined criteria  20  may also include a rhyming limitation and/or the type of rhyming. For example, the user may specify the phrase include a perfect, additive, family, subtractive, assonance, and/or consonance rhyme. The user may also input a word or phrase with which the matching phrase  24  must rhyme. 
     In addition, the user-defined criteria  20  may include the input of a similar phrase or word. For example, a user may enter a first phrase for which the resulting phrase returned by the system will be similar. The similarity may be based on the stress pattern  22 , sound, subject matter, concept, rhyme, letters, among other criteria. 
     The controller  12  is configured to access a database  16  including a plurality of phrases, wherein each phrase includes at least one word, wherein each word is associated with a stress pattern  22 . The controller  12  may be configured to access a plurality of phrase sources each including a plurality of phrases, wherein each plurality of phrases includes at least one word. The controller  12  may be configured to identify a stress pattern for each word or in the plurality of phrases and input the identified plurality of phrases and the associated stress pattern  22  of each word into the database  16 . 
     The controller  12  may be in communication with a plurality of phrase sources including, and not limited to, dictionary, thesaurus, song lyrics, books, short stories, poems, social media platforms, articles, newspapers, and websites, among other text based references. The system  10  may import new words and phrases into the database  16 . As a result, the system  10  maintains the database  16  with up to date colloquial language and new phrases from around the world. If the system  10  finds a phrase already in the database  16 , the controller  12  does not import the phrase again but increases the frequency value associated with the popularity of the matching phrase  24 . The controller  12  may also import the date, time, and phrase source associated with each of the plurality of phrases in the database  16 . 
     Each phrase within the database  16  may be indexed by the stress pattern  22  of each word contained in the phrase as well as the cumulative stress pattern  22  for each phrase containing more than one word. In spoken English, one syllable words are considered stressed. However, in singing and songwriting, words that are organizational, structural, or non-meaningful are commonly unstressed, even though they may be only one syllable. For example, conjunctions, articles, prepositions, pronouns, contractions, and interjections such as “oh” and “yeah” are categorized as unstressed in the database  16 .  FIG. 13  includes a list of words that have only one syllable that is denoted in database  16  as an unstressed syllable  30 . Further, many words are sung with a different number of syllables than if the word is spoken. For example, the word “every” has three syllables with spoken, and typically two syllables when sung. As a result, the database  16  includes the pronunciation of words for both spoken and sung, and the user-defined criteria  20  may specify which pronunciation the user requests. The database  16  also includes the syllabification of each phrase, such than hyphens are placed between each syllable to display to the user. 
     The database  16  may include a plurality of phrases that may be indexed by several parameters in addition to an associated stress pattern  22 . For example, the plurality of phrases may be organized alphabetically, by pronunciation, the ending of each word, rhyming words may be grouped together, synonyms may be grouped together, etc. For example, each phrase may be indexed by part of speech, rhyme, rhyme type, age group and other demographic information of people who typically use the word, tone (e.g., harsh, kind, positive, negative), difficulty of vocabulary, mention of brand names, type of imagery, hyphenation, syllabification, syllable count, number of words, number of times the phrase occurs in the database  16 , and/or the phrase source associated with the phrase, among others. 
     The user-defined criteria  20  may include a phrase source. For example, the user may filter a search based on particular phrase sources. The system  10  may filter the matching phrase  24  based on who said the phrase, where it was said, the demographic of who said it (age, race, location, gender, etc.), and the type of phrase source (person, book, article, song, publications, cinema, among others). 
     In an example, the controller  12  is configured to calculate a frequency of occurrence in the phrase sources for each word in the plurality of phrases. As such, upon searching the database  16 , the controller  12  presents a matching phrase  24  to the user based on the user-defined criteria  20  and the associated frequency. In other words, the controller  12  is configured to display the matching phrases  24  based on the frequency or popularity of the phrase with the plurality of phrase sources. In another example, the controller  12  is configured to calculate a ranking for each matching phrase, wherein the ranking is based on the frequency of occurrence within the database  16 . In other words, the ranking is a relative ranking compared to the words within the database  16 . In addition, frequency and/or ranking may be entered as a user-defined criteria  20 . For example, if the user would like phrases of a certain popularity, the user can request (via user-defined criteria  20 ) matching phrases  24  for phrases that are ranked 50-100 in terms of ranking within the database  16 . 
     The user-defined criteria  20  may include a type of alliteration. For example, the user may define the number of words that are requested to start with the same letter, as well as the defined letter. The user-defined criteria  20  may also include types of consonants: plosives, fricatives, and nasals, among others. 
     The controller  12  is also configured to select a matching phrase  24  from the plurality of phrases within the database  16 , wherein the matching phrase  24  includes a stress pattern  22  that matches the received user-defined criteria  20 . 
     The controller  12  is also configured to display the matching phrase  24  on a user interface  18 . The display may include a list of matching phrases  24 , as shown in  FIG. 6 . The display may include the visual methods above including upward and downward triangles and/or the phrases written such that capital letters denote the stressed syllables  28  and lower case letters for unstressed syllables  30 , as shown in  FIG. 7 . The stressed syllables  28  may be displayed in a bold font and the unstressed syllables  30  may be displayed in a normal font. Of course, other fonts, colors, and size may indicate stressed syllables  28  and unstressed syllables  30 . 
     The system  10  may display two matching phrases  24  that match the user-defined criteria  20  and automatically rhymes the last word such that the user may see randomly generated rhyming couplets, as shown in  FIG. 8 . For example, the displayed matching phrase  24  results may include a number of lines to compose a stanza. The system  10  may randomly generate lines with the ability to set rhyme and stresses for each line. 
     The system  10  may display the matching phrases  24  with an option for the user to play the associated auditory file of the matching phrase  24 , as shown in  FIG. 9 . For example, the user may press a play button on the user interface  16  to hear the stress pattern  22  of the matching phrase  24 . The user may also change the color of the words as the system  10  is playing the auditory file of the matching phrase  24  to change the stress pattern  22 . 
       FIGS. 10A-10D  depict a series of user interfaces  16  for receiving user-defined criteria  20 . For example, the user may define the number of words in a phrase, the desired stress pattern  22  of each word in the phrase, and any other user-defined criteria  20  that filters the words with desired stress patterns  22 . For example, the controller  12  may receive user-defined criteria  20  for each word within a phrase. For example, each word within a phrase may have its own tab for which a user may select to enter the user-defined criteria  20  for that word. The user may press a displayed “search” on the word search tab of the system  10  to find matching word with the selected stress pattern  22  and user-defined criteria  20 , and the system  10  may rank the results by popularity. The system  10  may then combine and analyze the individual search results for each word to create the phrase matches  24 . Alternatively, or in addition to, the user may enter user-defined criteria  20  for an entire phrase (in contrast to each word individually), the system  10  searches written English language n-gram databases for every possibly combination of matching phrases  24 . Based on the search results of matching phrases  24 , the system  10  may display each phrase candidate and ranks the phrase based on its popularity, or by any other user-defined criteria  20  that the user-defined. The system  10  may further refine the matching phrases  24  search results by any number of the user-defined criteria  20  discuss above. The search results of matching phrases  24  may be filtered any number of iterations. 
     In another example, the user may select the system  10  to search a gram database based on pronunciation, without individual word filters and without specifying the number of words in the gram or phrase, as shown in  FIG. 11 . For example, the user-defined criteria  20  may include a stress pattern  22  in a binary form, such as 01001. The system  10  may search all 2, 3, 4, and 5 word phrases or grams for any grams with a 01001 stress pattern  22 . The controller  12  may be configured to search the database  16  for matching phrases  24  the defined stress pattern  22 , no matter how many words are in the phrases. The user-defined criteria  20  may include the total number of syllables the resulting matching phrases  24  should contain. Further, the search results of the matching phrases  24  may be further filtered or searched to contain a specified word or words. The user-defined criteria  20  may include an “include lemma” option that may be selected for the controller  12  to return matching phrases  24  (or grams) that even contain lemma of the search word criteria. For example, a user may enter the word “kid” in the “contains the word(s)” to search for all grams that contain the word “kid” and its lemma, such as “kids”, “kidded”, and “kidding”, among others. 
     In another example, the controller  12  may receive a user-defined criteria of a submitted phrase, wherein the phrase contains at least one word. The controller  12  analyzes the phrase to determine a stress pattern associated with the submitted phrase. In other words, the user does not need to input the stress pattern, instead the controller  12  analyzes the submitted phrase to determine the stress pattern  22 . The controller  12  may be configured to display the determined stress pattern  22  of the submitted phrase in any of the methods described above, such as upward and downward triangles, integers, letters, or any other visual display that communicates the stress pattern  22 . The controller  12  is also configured to select a matching phrase  24  from the plurality of phrases within the database  16 , wherein the matching phrase  24  includes a stress pattern  22  that matches the stress pattern  22  of the received user-defined criteria  20 . 
     In such example, the controller  12  may determine more than one possible stress pattern  22  associated with the submitted phrase from the user. In such case, the matching phrases  24  may be grouped by stress pattern  22 . For example, the controller  12  may display matching phrases  24  associated with a first stress pattern associated with the submitted phrase, and display a separate set of matching phrases associated with a second stress pattern associated with the submitted phrase. 
     In yet another example, the controller  12  may receive an auditory sample through a user interface  18  wherein the user may sing, hum, play, tap, or type a melody and stress pattern  22 . For example, the user may record herself or someone else singing, playing an instrument, or tapping a stress pattern  22 . In such case, the controller  12  is configured to analyze the auditory sample to determine a stress pattern  22  associated with the auditory sample. The controller  12  may be configured to display the determined stress pattern  22  in any of the methods described above, such as upward and downward triangles, integers, letters, or any other visual display that communicates the stress pattern  22 . 
     In an example, the controller  12  determines the stress pattern  22  of the auditory sample by converting the auditory sample into a MIDI (musical instrument digital interface) value. Of course, the MIDI values may be imported directly from a user, instead of the user playing the melody or entering the melody through a user interface  18 . 
     The controller  12  analyzes the MIDI to determine the stressed and unstressed portions of the melody. The strong and weak (stressed and unstressed) stresses of the melody is determined by considering several variables of the auditory sample including, but not limited to, the volume, amplitude of the waveform, the number of notes, the duration of the notes, the length of the sample, note articulation, location within a phrase, note pitch relative to other notes, the key of the overall melody and where each note fits into the key, the number of times the note occurs, the beat that the melody falls on, the tempo of the melody, the height of the note before and after, and the amplitude of the notes surrounding the note at issue. 
     In addition to determining a matching phrase  24  based on user-defined criteria  20  for a single desired phrase, the system  10  may determine matching phrases  24  for two or more phrases at a time. For example, the system  10  may search the database  16  for two or more matching phrases  24  with the same stress pattern  22  as indicated by the user-defined criteria  20 . The two or more matching phrases  24  may be further refined by requiring the last words of each phrase to rhyme with each other to create rhyming couplets. 
     In an example, the system  10  may be configured to search for four phrases at a time with an ABAB rhyme pattern and a 4 3 4 3 stress pattern  22 , wherein the number denotes the number of strong stresses in each phrase. As shown in  FIG. 12 , the user-defined criteria  20  may include a stress pattern  22  for each line of the four line stanza. The user may enter the stress pattern  22  of each line by selecting upward and downward triangles, as shown in  FIG. 12 . 
     The system  10  may include a user-defined criteria  20  wherein the user indicates that the two or more matching phrases  24  include a dovetail feature. For example, if the user-defined criteria  20  includes a two word overlap, the controller  12  may determine all matching phrases  24  where the last two words of the first phrase are the same as the first two words of the second phrase, and may display the combination of those two phrases as a single phrase. 
     The system  10  may also include determining matching phrases  24  that contain synonyms to words within the user-defined criteria  20 . In such example, the database  16  includes synonyms and antonyms associated with the word and plurality of phrases within the database  16 . Alternatively, or in addition to, the controller  12  may be in communication with a thesaurus source that may be used to determine matching phrases  24  with similar meanings to the user-defined criteria  20  including desired words. 
     The system  10  may include an autocomplete function wherein, when a user types in a first word of a phrase, the system  10  may display the most common completions of the query automatically. For example, the user may type in “people always” and the system  10  may automatically display “say,” “ask,” “want,” and “think” as options to complete the phrase, as those phrases are the most common verbs in the database  16  that follow “people always.” The user may also change a setting for the predictive text to favor more obscure phrase completions by setting the range of frequencies or rankings within the database  16 . For example, the user may specify the predictive text to show only results that rank between 50-100 in terms of frequency in the database  16 . 
     The user-defined criteria  20  may include various specialized characters to denote particular search methods. For example, the user may enter “buy a ?” and the system  10  may return matching phrases  24  that may include “buy a house.” An ellipses in the user-defined criteria, such as “buy . . . house,” indicates to the system  10  to return words that would fill in the phrase, such as “buy a new house.” A “#” in front of a word indicates the system  10  to search for similar words using a thesaurus to find synonyms of the word. For example, “she loves #dogs” may yield matching phrases  24  results such as “she loves canines” and “she loves puppies.” A “*” may indicates a wildcard search that indicates anything between the two “*”. 
     The system  10  may also include an inspirational feed, which displays text and photos from the internet related to the user&#39;s search. For example, if the user inputs a search for “sunshine,” then the system  10  may return tweets and photos from the internet tagged as “sunshine” display in the inspiration feed. 
     The system  10  also includes several methods for collecting, organizing, and sharing word and matching phrase  24  search results. For example, the system  10  may create, save, and organize matching phrases  24 , stanzas, and songs, which are essentially files that the user may store and access at any time. The system  10  may export and share the saved files in various formats including text documents, word documents, google documents, spreadsheets, excel documents, and PDF documents. The system  10  may share the documents via email, social media platforms, among others. 
     The system  10  is also configured to track the user, time, location, search terms, and results of all searches, such that administrators can monitor what searches are most popular so that the software can be improved over time. The system  10  also records the phrases it served so that after a song is written, the user can determine how much co-writing credit the present system  10  deserves. 
     As mentioned above and schematically shown in  FIG. 1 , aspects of the systems  10  and methods described herein are controlled by one or more controllers  12 . The one or more controllers  12  may be adapted to run a variety of application programs, access and store data, including accessing and storing data in the associated databases  16 , and enable one or more interactions as described herein. Typically, the controller  12  is implemented by one or more programmable data processing devices. The hardware elements, operating systems, and programming languages of such devices are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith. 
     For example, the one or more controllers  12  may be a PC based implementation of a central control processing system utilizing a central processing unit (CPU), memory  14  and an interconnect bus. The CPU may contain a single microprocessor, or it may contain a plurality of microprocessors for configuring the CPU as a multi-processor system. The memory  14  may include a main memory, such as a dynamic random access memory (DRAM) and cache, as well as a read only memory, such as a PROM, EPROM, FLASH-EPROM, or the like. The system may also include any form of volatile or non-volatile memory  14 . In operation, the memory  14  stores at least portions of instructions for execution by the CPU and data for processing in accord with the executed instructions. 
     The one or more controllers  12  may also include one or more input/output interfaces for communications with one or more processing systems. Although not shown, one or more such interfaces may enable communications via a network, e.g., to enable sending and receiving instructions electronically. The communication links may be wired or wireless. 
     The one or more controllers  12  may further include appropriate input/output ports for interconnection with one or more output mechanisms (e.g., monitors, printers, touchscreens, motion-sensing input devices, etc.) and one or more input mechanisms (e.g., keyboards, mice, voice, touchscreens, bioelectric devices, magnetic readers, RFID readers, barcode readers, motion-sensing input devices, etc.) serving as one or more user interfaces  30  for the controller  12 . For example, the one or more controllers  12  may include a graphics subsystem to drive the output mechanism. The links of the peripherals to the system may be wired connections or use wireless communications. 
     Although summarized above as a PC-type implementation, those skilled in the art will recognize that the one or more controllers  12  also encompasses systems such as host computers, servers, workstations, network terminals, and the like. Further one or more controllers  12  may be embodied in a device, such as a mobile electronic device, like a smartphone or tablet computer. In fact, the use of the term controller  12  is intended to represent a broad category of components that are well known in the art. 
     Hence aspects of the systems and methods provided herein encompass hardware and software for controlling the relevant functions. Software may take the form of code or executable instructions for causing a controller  12  or other programmable equipment to perform the relevant steps, where the code or instructions are carried by or otherwise embodied in a medium readable by the controller  12  or other machine. Instructions or code for implementing such operations may be in the form of computer instruction in any form (e.g., source code, object code, interpreted code, etc.) stored in or carried by any tangible readable medium. 
     As used herein, terms such as computer or machine “readable medium” refer to any medium that participates in providing instructions to a processor for execution. Such a medium may take many forms. Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computer(s) shown in the drawings. Volatile storage media include dynamic memory, such as the memory  14  of such a computer platform. Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards paper tape, any other physical medium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a controller  12  can read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution. 
     It should be noted that various changes and modifications to the embodiments described herein will be apparent to those skilled in the art. Such changes and modifications may be made without departing from the spirit and scope of the present invention and without diminishing its attendant advantages. For example, various embodiments of the method and system may be provided based on various combinations of the features and functions from the subject matter provided herein.