System, method, and computer program product for adding a tag to a note by artificial intelligence

TWI934216BActive Publication Date: 2026-08-01MITAKE INFORMATION
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
MITAKE INFORMATION
Filing Date
2024-05-27
Publication Date
2026-08-01

AI Technical Summary

Technical Problem

Existing note-taking applications require manual tagging of notes, which is time-consuming and laborious, and existing systems fail to automatically categorize text notes effectively.

Method used

A system utilizing artificial intelligence to automatically tag notes by extracting keywords from note content, comparing them with existing tags, and assigning appropriate tags, optionally using geolocation information for enhanced categorization.

Benefits of technology

Enables efficient and automated tagging of notes, making it easier to find specific notes by category in the future, thereby improving user productivity and reducing manual effort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001903557_001
    Figure TWG2TB001903557_001
  • Figure TWG2TB001903557_002
    Figure TWG2TB001903557_002
  • Figure TWG2TB001903557_003
    Figure TWG2TB001903557_003
Patent Text Reader

Abstract

A system, method, and computer program product for automatically tagging notes using artificial intelligence are disclosed, applicable between systems. The method includes: a client device receiving a classification instruction and uploading it to a server; the server accessing unclassified notes in a database to extract keywords from the note content and selecting the most representative and relevant keywords as pre-selected tags; the server comparing existing tags with pre-selected tags and generating a corresponding tag; the server storing the tags in the database associated with the unclassified notes; and the client device downloading the tags associated with the unclassified notes. This invention enables automatic classification and tagging of notes on the client device, saving significant time spent on manual classification and tagging.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to a note-taking application technology used on mobile communication devices or computers, and more particularly to a system, method, and computer program product for automatically tagging notes using artificial intelligence. [Previous Technology]

[0002] With the digitalization trend driven by the technological era, users are now increasingly reliant on mobile communication devices or note-taking applications on computers. A good note-taking application can greatly improve users' learning and work efficiency. Note-taking applications can not only help users save important thoughts and information, but also synchronize across different devices, allowing users to view and edit notes anytime, anywhere.

[0003] In the previous technology 1, the "Notes" (equivalent to the "notes" mentioned above) application built into the iPhone smartphone allowed users to add text / images / handwriting / doodles / links, create checklists, and scan documents. Users could also manually add hashtags (or tags) to categorize and organize notes. For example, in iOS 15 and later, when creating or editing a note, users could enter the tag name after the symbol "#" or select the tag from the menu above the keyboard. This made it easy to search and filter notes by tag later. Besides manually adding tags to categorize notes, users could also manually create "folders" to classify notes; for example, creating separate "Work" and "Personal" folders and storing related notes in the corresponding folders. The previous technology 1 also provided "Smart Folders," which acted like filters, grouping notes with the same tags together. Notes from the previous technology 1 were retained in the original folders; "Smart Folders" were a tool for quickly accessing and organizing notes. Users can use "Smart Folders" to find frequently referenced memos, such as journal entries, recipes, or work documents. The previous method for creating a "Smart Folder" was as follows: Click the "Add Folder" button, enter the folder name, then click "Create Smart Folder," select the filter criteria to automatically select memos for the "Smart Folder," and then click "Done." You can select filter criteria based on tags, the time the memo was created, the last edited time of the memo, etc., and finally click "Done" to create the "Smart Folder." While both tags and folders in the previous method required manual creation by the user, the Smart Folder, although eliminating the need for manual folder creation, still requires users to manually create tags to correctly categorize items within the Smart Folder.

[0004] Prior art 2, Republic of China Patent Publication No. I826957 discloses a smart notebook categorization device, including an electronic device having a first wireless transmission module, a first processing module, an image input module and a display module; a cloud server connected to the first wireless transmission module of the electronic device via a wireless network, the cloud server having an image database and an archive database; and an edge computing mechanism having a second wireless transmission module, a second processing module, a recognition module, a light-emitting module and a display module, the second wireless transmission module of the edge computing mechanism being connected to the cloud server and the shared folder of the electronic device via the wireless network. Therefore, the device in the previous Technology 2 used highly compatible electronic devices (such as smartphones) with wireless transmission capabilities. It could automatically and intelligently categorize note photos, automatically identify specific and non-specific schedules, and then automatically upload them to the cloud for storage. Schedules could be updated according to different times, and notes could be quickly shared with others via the cloud, effectively improving learning efficiency. Besides helping students organize course notes, it could also help working professionals handle meeting minutes. The technical problem that Technology 2 aimed to solve was that "if the content captured by mobile phone photos is not organized afterward, finding specific course notes from a sea of ​​photos when comparing handwritten notes later would be a major challenge." Technology 2's solution was to "automatically and intelligently categorize note photos, automatically identify specific and non-specific schedules, and then automatically upload them to the cloud for storage." However, Technology 2 only intelligently categorized note photos; text-based notes were not categorized. Users still needed to spend time reviewing each note individually to find specific text-based notes later.

[0005] The aforementioned prior art does not automatically add appropriate tags to notes based on their content. In other words, if users want to quickly find notes of a specific category based on their notes' tags in the future, they must manually add tags to each note. This method is time-consuming and laborious. Therefore, it is necessary to improve the conventional method and propose a system, method, and computer program product that uses artificial intelligence to automatically add tags to notes, utilizing hardware and software resources. When a user creates notes on a client device and uploads them to a server, the present invention can assign appropriate tags to the notes on the server, so that users can quickly find notes of a specific category based on their notes' tags in the future, thereby making up for the shortcomings of the prior art. [Summary of the Invention]

[0006] In view of this, the present invention proposes a system, method and computer program product for automatically tagging notes using artificial intelligence. When the classification instruction is uploaded to the server, the server module automatically identifies and classifies unclassified notes in the database and assigns appropriate tags.

[0007] This invention proposes a system for automatically tagging notes using artificial intelligence. The system includes a client device, a server, and a database. The client device includes: a memory that installs an operating system and stores a client program, the client program including a login verification module, a note-taking module, and a tag management module; a screen for displaying a graphical user interface of the client program; a communication module for establishing an Internet connection; and one or more processors connected to the memory and the screen and executing the client program. The client program includes: the login verification module, which receives... An account and password, or a biometric identifier, are associated with the account and password and uploaded to the server for login verification. The note module generates a note view displayed on the screen, which includes an index tag block, a note block, and a category button. The index tag block contains a plurality of existing tags, and the note block displays one or more uncategorized notes, each containing note content. The tag management module receives a category instruction generated by the category button and uploads it to the server. It also downloads a tag corresponding to the uncategorized note from the server; this tag is one of the existing tags in the index tag block. The server includes: a server memory storing a server-side program; a server processor executing the server-side program; a server communication module for establishing an Internet connection; the server-side program accessing the database; and a login verification server module receiving the account and password uploaded by one of the client devices. The password is used to verify the archived data in the database; a keyword extraction module accesses the uncategorized notes in the database to extract multiple keywords from the content of the notes; a candidate keyword filtering module filters the keywords and selects the most representative and relevant ones as a pre-selected tag; a tag assignment module compares the existing tags with the pre-selected tags and selects one to generate the corresponding tag, and stores the tag in the database associated with the uncategorized notes; and the database stores multiple member information, each member information including the account, the corresponding password, the associated note, and the tag;The process involves the client device receiving the classification instruction and uploading it to the server. The keyword extraction module accesses unclassified notes in the database to extract keywords from the note content. The candidate keyword filtering module filters these keywords and selects the most representative and relevant ones as pre-selected tags. The tag allocation module compares existing tags with the pre-selected tags and generates a corresponding tag, storing it in the database associated with the unclassified notes. The server responds to the classification instruction with the tag. Then, the client device downloads the tags associated with the notes. The tag management module receives the selection instruction for the tags in the index tag block to filter the corresponding notes and display them in the note block, and displays all the tags associated with the notes at their corresponding positions in the note block.

[0008] Furthermore, in some embodiments of the present invention, the client device further includes: a positioning module for obtaining current positioning information of the client device and storing it in the memory.

[0009] Furthermore, in some embodiments of the present invention, the note module further includes: when receiving the new note instruction to create the note and receiving the input of the note content, simultaneously reading the location information, and when uploading the note to the server, uploading the associated location information together.

[0010] Furthermore, in some embodiments of the present invention, the server-side program further includes: a geolocation analysis module that converts the location information into a location name based on a geolocation database.

[0011] Furthermore, in some embodiments of the present invention, the tag assignment module further includes: generating a corresponding tag based on the location name, and storing the tag in the database associated with the uncategorized note.

[0012] Furthermore, in some embodiments of the present invention, when the tag allocation module compares the existing tags with the pre-selected tags and selects one to generate the corresponding tag, it calculates the similarity between the existing tags and the pre-selected tags and generates the tag from one of the existing tags with the highest similarity.

[0013] Furthermore, in some embodiments of the present invention, when the tag allocation module calculates the similarity between the existing tags and the pre-selected tags, it uses a threshold filter. When one of the existing tags with the highest similarity is not higher than the threshold, the tag is generated using the pre-selected tag.

[0014] Furthermore, in some embodiments of the present invention, the tag assignment module further includes: marking an armband number at a position corresponding to one of the existing tags to display a new associated quantity.

[0015] Furthermore, in some embodiments of the present invention, the tag management module further includes: when the tag is not one of the existing tags, adding the tag to the index tag block.

[0016] Furthermore, in some embodiments of the present invention, the tag management module further includes: receiving a new tag option setting to determine whether to add the tag to the index tag block when the tag is not one of the existing tags.

[0017] Furthermore, in some embodiments of the present invention, the tag management module further includes: receiving a maximum number setting to limit the number of tags automatically added to the note.

[0018] Furthermore, in some embodiments of the present invention, the note module further includes: receiving a new note instruction to create the note and receiving input of the note content, and receiving a storage instruction to store the note to the memory and upload it to the server.

[0019] The present invention further proposes a method for automatically tagging notes using artificial intelligence, applied between systems, the system including a client device, a server and a database, the method including: the client device establishing a network connection with the server via the Internet; the client device receiving an account and a password or a biometric feature corresponding to the account and password and uploading it to the server for login verification; the client device generating a note view displayed on a screen, the note view including displaying an index tag block, a note block and a category button, the index tag block including a plurality of existing tags, the note block displaying one to a plurality of uncategorized notes, each note including note content; the client device receiving a category instruction generated by the category button and uploading it to the server; The server accesses the uncategorized notes in the database to extract multiple keywords from the note content; the server filters these keywords and selects the most representative and relevant ones as a pre-selected tag; the server compares these existing tags with the pre-selected tags and generates a corresponding tag; the server stores the tag in the database associated with the uncategorized notes; the client device downloads the tag associated with the uncategorized notes; the client device sets the note to be associated with one of the existing tags, which is one of the existing tags in the index tag block; the client device receives a selection instruction for the tag in the index tag block to filter the corresponding notes and display them in the note block; and the client device displays all the tags associated with the note at the corresponding positions in the note block.

[0020] Furthermore, in some embodiments, the present invention further includes: the client device acquiring current location information and storing it in the memory; the client device receiving the new note instruction to create the note and receiving input of the note content while simultaneously reading the location information; the client device uploading the note to the server along with the associated location information; the server converting the location information into a location name according to a geolocation database; the server generating a corresponding tag according to the location name; and the server storing the tag in the database associated with the uncategorized note.

[0021] Furthermore, in some embodiments of the present invention, when the server compares the existing tags with the pre-selected tags and selects one to generate the corresponding tag, it calculates the similarity between the existing tags and the pre-selected tags and generates the tag from one of the existing tags with the highest similarity.

[0022] Furthermore, in some embodiments of the present invention, when the server calculates the similarity between the existing tags and the pre-selected tags, it uses a threshold filter. When one of the existing tags with the highest similarity is not higher than the threshold, the tag is generated using the pre-selected tag.

[0023] Furthermore, in some embodiments of the present invention, it further includes marking an armband number at a position corresponding to one of the existing labels to display a new associated quantity.

[0024] Furthermore, in some embodiments of the present invention, the invention further includes: when the tag is not one of the existing tags, adding the tag to the index tag block.

[0025] Furthermore, in some embodiments, the present invention further includes: receiving a new tag option setting to determine whether to add the tag to the index tag block when the tag is not one of the existing tags.

[0026] Furthermore, in some embodiments, the present invention further includes: receiving a maximum number setting to limit the number of times the tag is automatically added to the note.

[0027] Furthermore, in some embodiments, the present invention further includes: the client device receiving a new note instruction to create the note and receiving input of the note content; and the client device receiving a storage instruction to store the note to the memory and upload it to the server.

[0028] The present invention also proposes a computer program product, comprising a client program and a server program, which are respectively installed on a client device and a server. The client device has a processor, a memory, a communication module and a screen. The server has a server processor, a server memory and a server communication module. The client program and the server program of the computer program product are respectively stored in the memory of the client device and the server memory and can run on the processor of the client device and the server processor. When the processor of the client device and the server processor execute the computer program product, they implement the steps of the above-mentioned method of automatically tagging notes with artificial intelligence.

[0029] The detailed features and advantages of the present invention are described in detail below in the embodiments. The content is sufficient to enable anyone skilled in the art to understand the technical content of the present invention and implement it accordingly. Based on the content disclosed in this specification, the scope of the patent application and the drawings, anyone skilled in the art can easily understand the relevant purpose and advantages of the present invention.

Implementation Method

[0031] The client program 22 of this invention includes standalone note-taking applications (also known as memos, notebooks, diaries, etc.) and multi-functional applications that integrate note-taking with other functions, such as: stock applications with note-taking functions, instant messaging applications with note-taking functions, e-commerce shopping applications with note-taking functions, schedule planning / recording applications with note-taking functions, health information management applications with note-taking functions, etc. The client device 10 of this invention can be, but is not limited to, personal computers (PCs, MACs), laptops (Laptops / Notebooks / Portable Computers), smartphones, tablet PCs, etc. Anyone equipped with a screen and capable of executing the client program 22 of this invention (i.e., note-taking applications, or multi-functional applications integrating note-taking functions) to take notes, as well as anyone executing the server-side program of this invention on a server, can use the system, method, and computer program products of this invention.

[0032] Referring to Figure 1A, a system functional block diagram of a client device 10 according to an embodiment of the present invention is shown. The legend only lists the core modules related to a preferred embodiment of the present invention, and other modules are omitted and not depicted. The client program 22 is executed on the client device 10 of the present invention. In one embodiment of the present invention, the client device 10 includes: one or more processors 12, memory 14, screen 16, and communication module 18. The memory 14 stores the client program 22; the processor 12 executes the plurality of program instructions contained in the client program 22 and implements the following modules (see client program 22 in Figure 2A) in a hardware and software collaborative manner: login verification module 24, note module 26 and tag management module 28; the screen 16 is used to display the graphical user interface (GUI) generated by the client program 22 and handle touch operation events (e.g., when applied to a device with a touch screen); the communication module 18 is used to establish an Internet network connection, such as wired broadband, WLAN (Wi-Fi, etc.), mobile communication network (e.g., 3G, 4G, 5G, etc.); in some embodiments, a keyboard (e.g., not depicted when applied to a personal computer) or microphone is also included for the user to input the content of the notes using the keyboard or microphone (voice).

[0033] Referring to Figure 1B, a system functional block diagram of the client device 10 according to another embodiment of the present invention is shown. This embodiment adds a positioning module 42 compared to the previous embodiment. The positioning module 42 is used to obtain the current positioning information of the client device 10. The positioning module 42 can be a global satellite positioning module (e.g., GPS, GALILEO, GLONASS, and BDS), a regional satellite positioning module (e.g., IRNSS and QZSS), or an indoor positioning module (i.e., IPS, e.g., BLE Beacon). When the positioning module 42 is a global satellite positioning module or a regional satellite positioning module, the positioning information is the coordinates composed of longitude and latitude. In some embodiments, the positioning information includes relative altitude in addition to longitude and latitude. When the positioning module 42 is an indoor positioning module, the positioning information is the relative position information of the base station (e.g., Beacon, Bluetooth beacon) and the device under test (e.g., Bluetooth smartphone) (e.g., the relative distance information between the device under test and three base stations in triangulation).

[0034] Referring to Figure 1C, a system functional block diagram of a server 20 according to an embodiment of the present invention is shown. The legend only lists the core modules related to a preferred embodiment of the present invention; other modules are omitted and not depicted. The server client program 30 is executed on the server 20 of the present invention. In one embodiment of the present invention, the server 20 includes: one or more server processors 52, server memory 54, and server communication module 58. In some embodiments, it also includes an external server screen 56. The server memory 54 stores the server-side program 30; the server processor 52 executes the plurality of program instructions contained in the server-side program 30 and implements the following modules (see server-side program 30 in Figure 2A) in a hardware and software collaborative manner: login verification server module 32, keyword extraction module 34, candidate keyword filtering module 36, and tag assignment module 38. In some embodiments, it further includes: geolocation analysis module 40 (see server-side program 30 in Figure 2B); an external server screen 56 is used to display the execution status and related information of the server-side program 30. In some embodiments, it also includes a graphical user interface for displaying the server-side program 30; the server communication module 58 is used to establish Internet network connections, such as wired broadband, WLAN (Wi-Fi, etc.), mobile communication networks (such as 3G, 4G, 5G, etc.).

[0035] Referring again to Figure 2A, the system function block diagram of the client program 22 and the server program 30 in this embodiment of the invention is shown. The client program 22 includes: a login verification module 24, a note module 26 and a tag management module 28; the server program 30 includes: a login verification server module 32, a keyword extraction module 34, a candidate keyword filtering module 36 and a tag allocation module 38, and the server program 30 can also access the database 44.

[0036] The following describes each module of the client program 22 (running on the client device 10, as shown in Figure 1A or Figure 1B). The login verification module 24 receives the account and password entered by the user or the account and password corresponding to the biometric feature and uploads them to the server 20 (the login verification server module 32 of the server program 30) for login verification. The server 20 can be: a note-taking server (for standalone note-taking applications), a stock quote server (for stock applications with integrated note-taking functions), a trip planning / recording server (for trip planning / recording applications with integrated note-taking functions), a health information management server (for health information management applications with integrated note-taking functions), or a login verification server (a single-function server specifically for login verification, which can work together with the above-mentioned servers with different integrated functions); in other words, the server can be a single server, or a server system integrating multiple different servers.

[0037] The note module 26 generates a note view 46 displayed on the screen 16 of the client device 10. The note view 46 includes an index tag block 64, a note block 66, and a category button 50. The index tag block 64 of the present invention includes an uncategorized tag and a plurality of existing tags. When a newly created note is created before any tags are added, it belongs to the category of "uncategorized note" and is therefore classified under the "uncategorized tag". These "uncategorized notes" are different from the note categories with existing tags added from the beginning. Here, the "uncategorized tag" is only added to distinguish them from other "existing tags". Even if these "uncategorized notes" are not labeled with "uncategorized tags", those skilled in the art will understand that the technical effect is equivalent to adding "uncategorized tags". In other words, the "uncategorized tag" referred to below in the present invention includes both adding "uncategorized tags" to uncategorized notes and not adding tags to uncategorized notes. Users can click on the "Uncategorized Tags" in the index tag block 64 to display all "Uncategorized Notes" in the note block 66. "Existing Tags" refers to "previously created tags." Users can click on any existing tag to display all corresponding notes in the note block 66. Each note contains note content 48. In some embodiments, the note module 26 further includes: receiving a new note instruction (generated when the new note button 60 is pressed) to create a note and receiving input of note content 48 (not depicted, this is conventional technology); receiving a save instruction to save the note to memory 14 and upload it to server 20. The save instruction is generated when the user presses the save button (not depicted) or the back button (representing returning to the previous page, therefore, automatic saving, not depicted) after entering the new note content 48.

[0038] The tag management module 28 receives the classification instruction generated by the classification button 50 and uploads it to the server 20. It downloads the corresponding tag for the note from the server 20. The tag is one of the existing tags in the index tag block 64. The note is associated with one of these existing tags. The module receives the tag selection instruction from the index tag block 64 to filter the corresponding note and display it in the note block 66. The module displays all the tags of the associated note in the corresponding position in the note block 66. When the user clicks the classification button 50, a classification instruction is generated. After receiving the classification instruction, the tag management module 28 uploads it to the server 20. The notes processed by the classification instruction can also be called "notes to be classified". The server program 30 performs a series of automatic processing procedures (detailed in the following paragraph) to finally generate the corresponding tags for the unclassified notes. Then, the tag management module 28 downloads the corresponding tags for the notes to be classified from the server 20. After an uncategorized note is analyzed and assigned by server 20, it will have one or more tags. In some embodiments, the user can set an upper limit on the number of tags that server 20 can automatically add to a note. After the tag management module 28 downloads the tags for the corresponding note from server 20, in some embodiments, the tag is one of the existing tags in the index tag block 64. The tag management module 28 sets the note to be associated with one of these existing tags. Here, "set associating" means that when the user clicks on one of the existing tags in the index tag block 64 (generating a selection command), the note set as associated can be displayed in the note block 66. In some embodiments, once an uncategorized note is associated with a tag, the tag management module 28 removes the original association of the "uncategorized tag." In other words, once a new note is associated with a tag, it will no longer appear under the "uncategorized tag." This is an embodiment where the "uncategorized note" is associated with the "uncategorized tag" from the beginning. Furthermore, for embodiments where no "uncategorized tag" is initially generated, this action of deleting the association of the "uncategorized tag" is unnecessary. In some embodiments, the user can configure the server 20 to automatically add tags to a note that are "limited to one of existing tags" (i.e., selecting the appropriate one from existing tags) or "allow new tags to be created." In some embodiments, if the tag downloaded from the server 20 for the corresponding note is not one of the existing tags, the tag management module 28 creates the downloaded tag in the index tag block 64 and associates the note with this newly created tag.For example, if the existing tags in the index tag block 64 are "Work," "Food," "Family," and "Stocks," and an uncategorized note is associated with the tag "Friendship" by the server 20, since there is no corresponding tag for "Friendship" in the existing tags, the tag management module 28 creates a new tag category named "Friendship" in the index tag block 64 (which belongs to the existing tags after creation) and associates it with the uncategorized note. After the association is set, this note belongs to the "categorized note." When a user clicks on one of the existing tags in the index tag block 64 (generating a selection command), the tag management module 28 receives the selection command from the tag block 64 to filter the corresponding note and display it in the note block 66. It also displays all the tags associated with the note in the corresponding positions in the note block 66. For example, if a note has two associated tags, the two associated tags are displayed in the corresponding positions of the note content 48 in the note block 66, as shown in Figure 7. In some embodiments, all existing tags in the index tag block 64 are generated into an "existing tag list" by the tag management module 28. When a new tag is created, the "existing tag list" is also updated and then uploaded to the server 20.

[0039] Next, the server-side program 30 (running on server 20) will be described. The login verification server module 32 receives the account and password uploaded by the client device 10 and uses them to verify the archived data (i.e., the stored account and password) in the database 44.

[0040] The keyword extraction module 34 accesses uncategorized notes in the database 44 to extract multiple keywords from the note content. In some embodiments, the keyword extraction module 34 extracts keywords from the note content using Natural Language Processing (NLP) technology, employing deep learning techniques to analyze and interpret the note content. In some embodiments, the keyword extraction module 34 utilizes TF-IDF (Term Frequency - Inverse Document Frequency) and inverse document frequency algorithms, combining two calculations: the frequency of a word (i.e., keyword) appearing in the note content (Term Frequency) and the importance of the word in each note (Inverse Document Frequency). By calculating the TF-IDF value of each keyword, the relative importance of the keyword in the note content can be obtained. In some embodiments, the keyword extraction module 34 utilizes word embedding algorithms. Word embedding models (e.g., Word2Vec, GloVe, Skip-Gram, or FastText) convert words into representations in a continuous vector space. These vectors capture the semantic similarity between keywords. The word embedding model calculates the similarity between words, thereby identifying important keywords in the note content. In some embodiments, the keyword extraction module 34 utilizes TextRank (a graph-based ranking algorithm, improved from Google's PageRank algorithm). It constructs a word graph using the co-occurrence relationships between keywords and identifies important keywords in the note content by iteratively updating the weight of each node (keyword). In some embodiments, the keyword extraction module 34 utilizes topic modeling algorithms, such as Latent Dirichlet Allocation (LDA), to identify the topics of the note content. These topics are typically composed of a set of related keywords. In some embodiments, the keyword extraction module 34 utilizes text embedding algorithms, employing text embedding models (e.g., Text2Vec, Doc2Vec, BERT, GPT, etc.) to convert text into a representation in a continuous vector space, thereby capturing the semantics of the text. In some embodiments, the keyword extraction module 34 utilizes simple word frequency statistics and statistical methods to find words (i.e., keywords) that frequently appear in the note content, which may be important themes of the note content.The keyword extraction module 34 of the present invention is not limited to using the above-described method to extract keywords from the notes content. Any other algorithm or model that can extract keywords from the notes content can be used to implement the keyword extraction module 34.

[0041] The candidate keyword filtering module 36 filters these keywords and selects the most representative and relevant one as a pre-selected tag. In some embodiments, the method of filtering these keywords and selecting the most representative and relevant one is based on the corresponding values ​​obtained when extracting each keyword, such as: using TF-IDF word frequency and reverse document word frequency algorithm to compare TF-IDF values ​​(or TF-IDF weights), using Word2Vec word embedding model to compare cosine similarity, using FastText word embedding model or text embedding model to compare vector values, using TextRank algorithm to compare weights, using simple word frequency statistics to compare frequencies, etc., and other known techniques. After filtering out the most representative and relevant keyword from a plurality of keywords, the filtered keyword is the pre-selected tag. The so-called "pre-selected" means that it still needs to go through the next stage of final selection (processed by the tag assignment module 38) to confirm whether to use this pre-selected tag as the tag to be added to the note.

[0042] The tag assignment module 38 compares existing tags with pre-selected tags and selects one to generate a corresponding tag, and stores the tag in the database 44 associated with uncategorized notes. The index tag block 64 of the client device 10 has one or more existing tags. The existing tags may be manually created by the user or automatically created by the client program 22 (i.e., the result of the user pressing the categorization button 50). All existing tags (tag names) are used to compare similarity with pre-selected tags. The similarity comparison method uses the previously mentioned known techniques (e.g., comparing TF-IDF values, comparing cosine similarity, comparing vector values, etc.). When there is an existing tag with a high similarity to a pre-selected tag, the existing tag with the highest similarity is used to generate the tag. For example: Suppose the original index tag block 64 has four existing tags: "Work," "Food," "Family," and "Stocks," and the pre-selected tag is "Restaurant." If the similarity calculation shows that "Food" has the highest similarity, then the tag will be generated using the existing tag "Food" (in this example, "Food"). This means that the uncategorized note will later be associated with the existing tag "Food" by the tag management module 28 on the client device 10. As another example: Suppose the original index tag block 64 has three existing tags: "Work," "Family," and "Stocks," and the pre-selected tag is "Restaurant." If the similarity calculation shows that none of the existing tags have a high similarity, then the tag allocation module 38 will generate the tag using the pre-selected tag "Restaurant" (in this example, "Restaurant"). This means that the tag "Restaurant" will be newly created in the index tag block 64 on the client device 10, and the uncategorized note will be associated with "Restaurant." In some embodiments, the advanced classification settings (e.g., system settings of client program 22, or settings for each classification session) select whether to create a new tag when the unclassified note cannot be classified to an existing tag, as shown in Figure 4. In some embodiments, if the advanced classification settings in client device 10 are set to "off" (i.e., no new tags are created), and when an unclassified note cannot be classified to an existing tag, the tag assignment module 38 in server 20 will not associate this unclassified note with any existing tags. After receiving the tag management module 28 in client device 10, it will keep the note in the unclassified tags and will not process it again (i.e., the uploaded classification instruction will not include this note). Only after the user resets the settings to "create tags" will the uploaded classification instruction include this unclassified note, and its tag can be created after the server 20 returns the result. The tag assignment module 38 determines the similarity level based on a threshold. When the threshold is set high, the similarity level must be high, and it is very likely that the unclassified note cannot be associated with an existing tag, and a new tag needs to be added.Using the previous example as an illustration: even if there is an existing label "food", when the similarity judgment threshold is set too high (meaning the error tolerance is low), it is impossible to classify uncategorized notes with the pre-selected label "restaurant" into the existing label "food".

[0043] Database 44 stores information on multiple members, each member's information including account, corresponding password, associated notes and associated tags.

[0044] Referring again to Figure 2B, a system function block diagram of client program 22 and server program 30 according to another embodiment of the present invention is shown. The client device 10 of this embodiment is shown in Figure 1B. The client program 22 is the same as the previous embodiment (Figure 2A) and includes: login verification module 24, note module 26 and tag management module 28. This client program 22 runs on the client device 10 which includes the location module 42, as shown in Figure 1B. The server program 30 includes: login verification server module 32, keyword extraction module 34, candidate keyword filtering module 36 and tag allocation module 38, and also includes: geolocation analysis module 40. The client device 10 of this embodiment (Figure 1B) has an additional positioning module 42 compared to the previous embodiment (Figure 1A). The positioning module 42 is used to obtain the current positioning information of the client device 10. Therefore, the client program 22 of this embodiment can simultaneously store the current positioning information when creating a new note for use when adding tags to the note later. In some embodiments, when the login verification module 24 is executed (before or after the login verification step), it triggers the positioning module 42 to obtain the current positioning information and store it in the memory 14. In some embodiments, when the note module 26 receives a new note instruction to create a note, it reads the positioning information in the memory 14. When the user finishes entering the note content and presses the save button (generating a save instruction), the note module 26 receives the save instruction, saves the note and positioning information to the memory 14, and uploads both to the server 20. In some embodiments, when the note-taking module 26 receives a new note instruction (generated when the new note button 60 is pressed) to create a note, it triggers the positioning module 42 to obtain the current positioning information and store it in the memory 14. When the user finishes entering the note content and presses the save button (generating a save instruction), the note-taking module 26 receives the save instruction, saves the note and positioning information to the memory 14, and uploads both to the server 20. In some embodiments, after the note-taking module 26 receives a new note instruction to create a note, when the user finishes entering the note content and presses the save button (generating a save instruction), it triggers the positioning module 42 to obtain the current positioning information. The note-taking module 26 then saves the note and positioning information to the memory 14 and uploads both to the server 20.

[0045] After the client device 10 uploads notes and location information to the server 20, the server-side program 30 (running on the server 20) has the same login verification server module 32, keyword extraction module 34, candidate keyword filtering module 36, and tag allocation module 38 as in the previous embodiment. In addition, it also has a geolocation analysis module 40. The geolocation analysis module 40 converts the location information into location names based on the geolocation database. The geolocation database used for satellite positioning can convert latitude and longitude coordinates into location names (such as: city name, region name, building name, etc.), which is usually accessed through APIs, such as Google Places API and Google Geocoding API. The geolocation database used for indoor positioning can convert the location information into location names (such as: lobby, floor, etc.). In some embodiments, the location names generated by the geolocation analysis module 40 are handed over to the tag assignment module 38, which generates tags for the location names and then stores the tags in the database 44 to associate with uncategorized notes. Subsequently, the tag management module 28 of the client device 10 sets the association settings for uncategorized notes according to the tags of the location names (setting the notes to be associated with existing tags corresponding to the location names, or creating new tags named after the location names and setting them as associated). When users create notes using this embodiment, they can associate the notes with existing tags named after the location names or create new tags. For example, when a user travels to Japan, the notes created in the cities visited can be tagged with city names such as "Tokyo", "Osaka", "Kyoto", etc.

[0046] In the embodiments of the present invention, the modules included in the client device 10 and the server 20 should be understood as a hardware and software collaborative resource. The technical features of each module can be expressed by a plurality of program instructions or a part of an application program. However, the technical effect of each module must be realized by one or more processors executing these program instructions or applications (i.e., a hardware and software collaborative resource). The problem that the present invention seeks to solve is to achieve improvement through such a hardware and software collaborative resource.

[0047] Referring to Figures 3A and 3B, the diagrams (a) and (b) of the screen 16 of the client program 22 according to an embodiment of the present invention are illustrated. The illustrations are based on the style of an Android smartphone (one of the client devices 10) and are not intended to limit specific hardware or operating systems. The present invention can also be applied to client devices 10 such as personal computers and laptops. The illustrations show the graphical user interface displayed on the screen 16 after the client program 22 (note application, or multi-functional application integrating note-taking function) of the present invention is executed. The note view 46 is generated by the note module 26. The note view 46 displays an index tab block 64 (the vertical block on the left of the illustration), a note block 66 (the vertical block on the right of the illustration), a category button 50, and a new note button 60. The index tag block 64 contains uncategorized tags and existing tags (Figure 3A shows an embodiment including uncategorized tags; Figure 3B shows an embodiment without uncategorized tags). The legend shows the uncategorized tag as "Uncategorized," but in other embodiments it can also be named "Random Notes," "Miscellaneous Notes," or other synonyms. The legend shows existing tags named "Work," "Food," "Family," and "Stocks." When a user selects any tag in the index tag block 64, it is highlighted. The legend shows "Uncategorized" with a gray border. The note block 66 displays the note content 48 of all notes corresponding to the selected tag (here, "Uncategorized") (the legend shows 5 notes). Pressing the categorize button (generating a categorize command) automatically categorizes all notes corresponding to the uncategorized tag. Pressing the add note button 60 (generating a add note command) creates a new note and allows entry of new note content 48. The illustrations are only used to illustrate the function of each element and are not intended to limit the layout of the note view 46 of this invention. For example, the label block 64 can be set as a small horizontal block (not depicted).

[0048] Referring to Figure 4, a schematic diagram (III) of the screen 16 of the client program 22 according to an embodiment of the present invention is shown. The diagram shows an advanced settings window for a category displayed in the notes view 46 after the user clicks the category button 50, allowing the user to set "whether to create a new tag when it cannot be categorized to an existing tag", and to set the "maximum number of tags to be added automatically". In some embodiments, this advanced setting for the category is a system setting of the client program 22, that is, it is not necessary to display this advanced settings window every time a category is categorized.

[0049] Referring to Figure 5, a schematic diagram (fourth) of the screen 16 of the client program 22 of an embodiment of the present invention is shown. The figure illustrates that after uncategorized notes are automatically tagged, the corresponding position of the existing tag in the index tag block 64 is marked with an armband number 62 to show how many newly associated notes the corresponding tag has. The numerical part of the armband number (or badge count) is dynamically calculated to represent the number of newly associated notes. If there is no tag with a new associated note, the armband number 62 is not marked or is marked as "0". In the figure, the armband number 62 of the existing tag "Work" is displayed as "2", indicating that there are two newly associated notes; the armband number 62 of the existing tag "Food" is displayed as "1", indicating that there is one newly associated note; the armband number 62 of the existing tag "Family" is displayed as "1", indicating that there is one newly associated note; and the armband number 62 of the existing tag "Stocks" is displayed as "1", indicating that there is one newly associated note. The blank note block 66 in the illustration indicates that there are no corresponding notes for the "Uncategorized Tag" (which is highlighted in the index tag block 64).

[0050] Referring to Figure 6, a schematic diagram (V) of the screen 16 of the client program 22 of an embodiment of the present invention is shown. The figure illustrates the "tag confirmation" step when uncategorized notes are automatically tagged. After the user selects "existing tag with new associated notes" (in the example, "Work"), the note block 66 of the note view 46 displays the note content 48 of all newly associated notes under the selected tag (here, "Work"). In the example, there are two notes. In the note view 46 (in the example, at the top of the view), there are also "confirm" and "cancel" buttons for the user to confirm whether the current categorization tag is correct. If it is correct (meaning that the two notes in the example belong to "Work"), the user presses the "confirm" button to end the confirmation of this "Work" tag. If it is incorrect, the user presses the "cancel" button to restore the two notes in the example to their original uncategorized tag. Next to the "Work" tab in note content 48, there is an "Edit button" for editing individual tabs. For example, you can change the "Work" tab to a new tab that is not among the existing tabs. If so, pressing the "Confirm" button above will add the new tab to the index tab block 64. The illustrations are for illustrative purposes only and are not intended to limit the layout, element arrangement, or presentation of the graphical user interface. In some embodiments, the "Confirm" button and the "Cancel" button may be located in different positions in this "Tag Confirmation" step, and the presentation of the new associated note may also differ from the illustrations. For example, a pop-up window may be used to present the new associated note, the "Confirm" button, and the "Cancel" button (not shown).

[0051] Referring to Figure 7, a schematic diagram (six) of the screen 16 of the client program 22 of an embodiment of the present invention is shown in the figure. The illustration shows that when a note is automatically categorized and two tags are added (the example is "food" and "restaurant"), the user can open the note by clicking on the existing tag "food" or "restaurant" in the index tag block 64.

[0052] Although the above illustrations are based on a mobile device, the operation process for categorizing notes and adding tags is the same when the present invention is applied to a personal computer (also one of the client devices 10). However, the operation on the computer uses a mouse and keyboard instead of the touchscreen operation on the mobile device. Furthermore, while the graphical user interfaces presented by the client program 22 differ somewhat when the present invention is applied to both computers and mobile devices, the technical features are the same. Therefore, the computer embodiment will not be illustrated separately; the above illustrations of the mobile device can be directly referred to.

[0053] Referring to Figure 8, an operation flowchart of an embodiment of the present invention illustrates the operation flow of the client device 10 and the server 20 after a user selects a category button on the client device 10. Please also refer to Figures 1A, 1B, 1C, 2A, 3, 4, 6, and 7; the method of the present invention includes:

[0054] Step S101: Execute the client program 22 of the present invention on the client device 10. The client device 10 may be a personal computer, a laptop computer, a smartphone, a tablet computer, etc. The client program 22 of the present invention is a note-taking application (or a multi-functional application that integrates note-taking functions).

[0055] Step S102: The client device 10 establishes a network connection with the server 20 via the Internet. After executing the client program 22, the client device 10 establishes a connection with the communication module 58 of the server 20 via the communication module 18.

[0056] Step S103: The client device 10 receives the account and password or biometric features to verify the user's identity and then logs into the server. In some embodiments, the login verification module 24 receives the account and password entered by the user and uploads them to the server 20 (the login verification server module 32 of the server-side program 30) for login verification. In some embodiments, the login verification module 24 receives the account and password corresponding to the user's biometric features and uploads them to the server 20 (the login verification server module 32 of the server-side program 30) for login verification. Examples of servers include: note-taking servers, instant messaging servers, e-commerce shopping servers, itinerary planning servers, health information management servers, and stock quote servers. In some embodiments, the login verification in this step uses two-factor authentication, which is a combination of any two of the following three factors: knowledge factors (such as account and password), possession factors (such as independent device, ID card, debit card, etc.), and biometric factors (such as facial recognition, fingerprint recognition, etc.). This is a common technology.

[0057] Step S104: The client device 10 generates a note view 46 and displays it on the screen 16. The note module 26 of the client device 10 generates a note view 46 and displays it on the screen 16. The note view 46 includes an index tag block 64, a note block 66, and a category button 50. The index tag block 64 includes an uncategorized tag and a plurality of existing tags. When a newly created note is not categorized under any tag, it is categorized under the uncategorized tag. The existing tags refer to "previously created tags". The user can click on any existing tag to display all the corresponding notes in the note block 66. Each note contains note content 48. As shown in Figure 3, the illustration shows the note and note content 48 corresponding to the "uncategorized tag" (highlighted) in the index tag block 64 displayed in the note block 66.

[0058] Step S105: The client device 10 receives the classification instruction and uploads it to the server 20. After the user presses the classification button 50 (generating a classification instruction), the tag management module 28 of the client device 10 receives the classification instruction and uploads it to the server-side program 30 of the server 20. In some embodiments, after the user clicks the classification button 50, the note view 46 displays an advanced classification setting window, allowing the user to set "whether to create a new tag when it cannot be classified to an existing tag". In some embodiments, it also includes setting the "maximum number of tags to be automatically added", as shown in Figure 4. This operation flow example assumes that the user allows the automatic generation of new tags and the maximum number is "1". In some embodiments, this advanced classification setting is a system setting of the client program 22, that is, the advanced setting window in Figure 4 is not displayed each time classification is performed.

[0059] Step S106: Server 20 accesses uncategorized notes in database 44 to extract multiple keywords from the note content. After the previous step is executed, the keyword extraction module 34 receives the uploaded categorization instruction. Then, the keyword extraction module 34 accesses all uncategorized notes in database 44 (five corresponding to the legend in Figure 3) to extract multiple keywords from the note content. Technologies that can be used for keyword extraction include: natural language processing, TF-IDF term frequency and reverse document term frequency algorithms, word embedding algorithms, TextRank algorithms, text embedding algorithms, etc.

[0060] Step S107: Server 20 filters these keywords and selects the most representative and relevant one as a pre-selected label. The candidate keyword filtering module 36 of server 20 filters these keywords and selects the most representative and relevant one as a pre-selected label, for example: comparing the TF-IDF value (or TF-IDF weight) of the keyword with the time-series TF-IDF term frequency and reverse document term frequency algorithm. In some embodiments, steps S106 and S107 can be combined and executed, and external third-party AI models or APIs (e.g., OpenAI ChatGPT-3.5 / GPT-4, Google BERT, Google Natural Language, Google LaMDA, Google PaLM, Meta Llama, Microsoft Azure AI Language, etc.) can be used to replace the processing work of the keyword extraction module 34 and the candidate keyword filtering module 36.

[0061] Step S108: Server 20 compares existing tags with pre-selected tags and selects one to generate the corresponding tag. The tag allocation module 38 of server 20 compares the similarity of all existing tags (tag names) with the pre-selected tags. When there is an existing tag with a high similarity to the pre-selected tag, the existing tag with the highest similarity is used to generate the corresponding tag. When there is no existing tag with a high similarity after similarity calculation, the tag allocation module 38 generates the tag using the pre-selected tag. In some embodiments, if the advanced classification setting in Figure 4 is set to "off" (i.e., no new tags are created), when an unclassified note cannot be classified into an existing tag, this step will not generate a tag (i.e., the unclassified note will remain in the unclassified tag), or the generated tag will be "unclassified" (i.e., cannot be classified and remains in the unclassified tag). In some embodiments, this step can also be replaced by the aforementioned third-party AI model or API to replace the processing work of the tag allocation module 38.

[0062] Step S109: Server 20 stores tags in database 44 associated with uncategorized notes. The tag assignment module 38 of server 20 stores the tags generated in the previous step in database 44 associated with uncategorized notes.

[0063] Step S110: Client device 10 downloads tags associated with uncategorized notes. After server 20 stores tags in the previous step, the tag management module 28 of client device 10 downloads the tags of the corresponding notes from server 20, which is in response to the categorization instruction in step S105.

[0064] Step S111: The client device 10 associates the note with one of the existing tags. In some embodiments, when the user sets "do not create a new tag when it cannot be categorized into an existing tag" in step S105 (as shown in Figure 4), the tag downloaded in step S110 is one of the existing tags. Here, the tag management module 28 of the client device 10 associates the note with one of the existing tags in the index tag block 64 (that is, the tag is one of the existing tags in the index tag block 64). In some embodiments, when the user sets "create a new tag when it cannot be categorized into an existing tag" in step S105, that is, when the tag does not have a corresponding existing tag, the tag management module 28 creates a new tag in the index tag block 64 and associates it with the note.

[0065] Step S112: The client device 10 receives a selection instruction for a tag in the index tag block 64 to filter the corresponding notes and display them in the note block 66. After the user clicks on a tag in the index tag block 64 (generating a selection instruction), the tag management module 28 filters the notes corresponding to the "selected tag" (i.e., one of the clicked existing tags) and displays them in the note block 66. As shown in Figure 6 or Figure 7.

[0066] Step S113: The client device 10 displays all the tags associated with the notes at the corresponding positions in the note block 66. After the user selects one of the existing tags in the index tag block 64 in the previous step (generating a selection command), the tag management module 28 filters the corresponding notes and displays them in the note block 66, and displays all the tags associated with the notes at the corresponding positions in the note block 66. For example, when a note has two associated tags, the two associated tags are displayed at the corresponding positions of the note content 48 in the note block 66, as shown in Figure 7.

[0067] The above operation process describes the response steps taken by the client device 10 and the server 20 after the user selects the category button on the client device 10, so that notes without any tags can be automatically tagged by artificial intelligence methods.

[0068] As will be understood from various embodiments of the present invention, program instructions executed by a computer can perform the individual blocks in the flowchart, combinations of blocks in the flowchart, and steps in the various embodiments. Providing these program instructions to a processor for execution to create a machine or resources for hardware and software collaboration, thereby, when these instructions are executed on the processor, will produce components for performing the actions or technical effects indicated by the flowchart blocks. Different sets of program instructions can also cause at least some of the operational steps shown in the flowchart blocks to be performed in parallel, and the technical content expressed by the first, second, ... program instructions of an application may differ depending on the embodiment. Furthermore, some of these steps can be performed on more than one processor, for example, in a multiprocessor server computer system, or in a mobile communication device where a microprocessor and a peripheral interface processor work together. In addition, without departing from the scope or spirit of the present invention, one or more blocks or combinations of blocks in the flowchart can be performed simultaneously with other blocks or combinations of blocks, or even in a different order than shown.

[0069] Therefore, the blocks of the flowchart of the present invention support combinations of components for performing specified actions or technical effects, combinations of steps for performing specified actions or technical effects, and program instruction components for performing specified actions or technical effects. It will also be understood that these specified actions or technical effects are implemented by special purpose hardware systems or special purpose hardware and program instructions working together to implement the various blocks of the flowchart of the present invention and the combinations of blocks of the flowchart.

[0070] In summary, the system, method and computer program product disclosed in this invention for automatically tagging notes with artificial intelligence between client devices and servers solves the problem of "inability to automatically classify and tag notes" in the prior art. This invention saves users a lot of manpower and time with the technology of automatically adding note tags, and can greatly improve the efficiency of searching for specific types of notes in the future.

[0071] Although the technical content of the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the present invention. Any modifications and refinements made by those skilled in the art without departing from the spirit of the present invention should be included within the scope of the present invention. Therefore, the scope of protection of the present invention shall be determined by the appended claims. [Simplified Explanation of the Diagram]

[0030] Figure 1A is a system function block diagram of a client device according to an embodiment of the present invention; Figure 1B is a system function block diagram of a client device according to another embodiment of the present invention; Figure 1C is a system function block diagram of a server according to an embodiment of the present invention; Figure 2A is a system function block diagram of a client program and a server program according to an embodiment of the present invention; Figure 2B is a system function block diagram of a client program and a server program according to another embodiment of the present invention; Figure 3A is a schematic diagram of the screen of a client program according to an embodiment of the present invention (I); Figure 3B is a schematic diagram of the screen of a client program according to an embodiment of the present invention (II); Figure 4 is a schematic diagram of the screen of a client program according to an embodiment of the present invention (III); Figure 5 is a schematic diagram of the screen of a client program according to an embodiment of the present invention (IV); Figure 6 is a schematic diagram of the screen of a client program according to an embodiment of the present invention (V); Figure 7 is a schematic diagram of the screen of a client program according to an embodiment of the present invention (VI); Figure 8 is an operation flowchart according to an embodiment of the present invention. [Biomaterial Storage]

[0073] None

Claims

1. A system for automatically tagging notes using artificial intelligence, the system comprising a client device, a server, and a database: The client device comprises: a memory for installing an operating system and storing a client program, the client program including a login verification module, a note module, and a tag management module; a screen for displaying a graphical user interface of the client program; a communication module for establishing an Internet connection; a location module for obtaining current location information of the client device and storing it in the memory; and one or more processors connected to the memory and the screen and executing the client program; The client program includes: the login verification module for receiving an account and a password or a biometric identifier corresponding to the account and the password and uploading it to the server for login verification; The note-taking module generates a note view displayed on the screen. The note view includes an index tag block, a note block, and a category button. The index tag block contains a plurality of existing tags. The note block displays one to a plurality of uncategorized notes, each note containing note content. When the note-taking module receives a new note instruction to create the note and receives the input of the note content, it simultaneously reads the location information. When uploading the note to the server, it also uploads the associated location information. The tag management module receives a category instruction generated by the category button and uploads it to the server. It downloads a tag corresponding to the uncategorized note from the server. The tag is one of the existing tags in the index tag block. It sets the note as associated with one of the existing tags. It receives a selection instruction for the tag in the index tag block to filter the corresponding note and display it in the note block. It also displays all the tags associated with the note at the corresponding positions in the note block. The server includes: a server memory storing a server-side program. A server processor executes the server-side program; a server communication module is used to establish an Internet connection; the server-side program accesses the database; the server-side program includes: a login verification server module that receives the account and password uploaded by one of the client devices and verifies them against archived data in the database; a keyword extraction module that accesses the uncategorized notes in the database to extract a plurality of keywords from the content of the notes; a candidate keyword filtering module that filters the keywords and selects the most representative and relevant ones as a pre-selected tag; a tag assignment module that compares the existing tags with the pre-selected tags and generates a corresponding tag, and stores the tag in the database associated with the uncategorized notes; and the database stores a plurality of member information, each member information including the account, the corresponding password, the associated note, and the tag.

2. A system for automatically tagging notes using artificial intelligence as described in claim 1, wherein the server-side program further includes: a geolocation analysis module that converts the location information into a location name based on a geolocation database.

3. A system for automatically tagging notes using artificial intelligence as described in claim 2, wherein the tag assignment module further comprises: generating a corresponding tag based on the location name, and storing the tag in the database associated with the uncategorized note.

4. A system for automatically tagging notes using artificial intelligence as described in claim 1, wherein when the tag allocation module compares the existing tags with the pre-selected tags and selects one to generate the corresponding tag, it calculates the similarity between the existing tags and the pre-selected tags and generates the tag from one of the existing tags with the highest similarity.

5. A system for automatically tagging notes using artificial intelligence as described in claim 4, wherein the tag allocation module uses a threshold filter when calculating the similarity between the existing tags and the pre-selected tags, and generates the tag using the pre-selected tags when one of the existing tags with the highest similarity does not exceed the threshold.

6. A system for automatically tagging notes using artificial intelligence as described in claim 1, wherein the tag assignment module further includes: marking an armband number at a position corresponding to one of the existing tags to display a new associated quantity.

7. A system for automatically tagging notes using artificial intelligence as described in claim 1, wherein the tag management module further includes: adding the tag to the index tag block when the tag is not one of the existing tags.

8. A system for automatically tagging notes using artificial intelligence as described in claim 1, wherein the tag management module further includes: receiving a maximum number setting to limit the number of tags automatically added to the note.

9. A system for automatically tagging notes using artificial intelligence as described in claim 1, wherein the note module further comprises: receiving a new note instruction to create the note and receiving input of the note content, and receiving a save instruction to save the note to the memory and upload it to the server.

10. A method for automatically tagging notes using artificial intelligence, applicable to a system comprising a client device, a server, and a database, the method comprising: the client device establishing a network connection with the server via the Internet; the client device receiving an account and a password or a biometric identifier corresponding to the account and password and uploading it to the server for login verification; the client device generating a note view displayed on a screen, the note view including an index tag block, a note block, and a category button, the index tag block including a plurality of existing tags, the note block displaying one to a plurality of uncategorized notes, each note containing note content; the client device receiving a category instruction generated by the category button and uploading it to the server; the server accessing the uncategorized notes in the database to extract a plurality of keywords from the note content; the server filtering the keywords and selecting the most representative and relevant ones as a pre-selected tag; the server comparing the existing tags with the pre-selected tags and generating a corresponding tag; The server stores the tag in the database associated with the uncategorized note; the client device downloads the tag associated with the uncategorized note; the client device sets the note to be associated with one of the existing tags, which is one of the existing tags in the index tag block; the client device receives a selection instruction for the tag in the index tag block to filter the corresponding note and display it in the note block; the client device displays all the tags associated with the note at the corresponding positions in the note block; the client device obtains current location information and stores it in memory; when the client device receives the new note instruction to create the note and receives input of the note content, it simultaneously reads the location information; when the client device uploads the note to the server, it also uploads the associated location information; the server converts the location information into a location name based on a geolocation database; the server generates the corresponding tag based on the location name; and the server stores the tag in the database associated with the uncategorized note.

11. A method for automatically tagging notes using artificial intelligence as described in claim 10, wherein when the server compares the existing tags with the pre-selected tags and selects one to generate the corresponding tag, it calculates the similarity between the existing tags and the pre-selected tags and generates the tag from one of the existing tags with the highest similarity.

12. A method for automatically tagging notes using artificial intelligence as described in claim 11, wherein when the server calculates the similarity between the existing tags and the preselected tags, it uses a threshold filter, and when one of the existing tags with the highest similarity is not higher than the threshold, the tag is generated using the preselected tags.

13. A method for automatically tagging notes using artificial intelligence as described in claim 10, further comprising: marking an armband number at a position corresponding to one of the existing tags to display a new associated quantity.

14. A method for automatically tagging notes using artificial intelligence as described in claim 10, further comprising: adding the tag to the index tag block when the tag is not one of the existing tags.

15. A method for automatically tagging notes using artificial intelligence as described in claim 10, further comprising: receiving a new tag option setting to determine whether to add the tag to the index tag block when the tag is not one of the existing tags.

16. A method for automatically tagging notes with artificial intelligence as described in claim 10, further comprising: receiving a maximum number setting to limit the number of times the tag is automatically added to the note.

17. A method for automatically tagging notes using artificial intelligence as described in claim 10, further comprising: the client device receiving a new note instruction to create the note and receiving input of the note content; and the client device receiving a save instruction to save the note to the memory and upload it to the server.

18. A computer program product comprising a client program and a server program, respectively installed on a client device and a server, the client device having a processor, a memory, a communication module and a screen, the server having a server processor, a server memory and a server communication module, the client program and the server program of the computer program product being stored in the memory of the client device and the server memory respectively and being executable on the processor of the client device and the server processor, wherein when the processor of the client device and the server processor execute the computer program product, the steps of any one of claims 10 to 17 above, a method for automatically tagging notes using artificial intelligence, are implemented.