From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Org tag generator? Date: Tue, 24 Dec 2024 23:47:24 +0300 Message-ID: References: <87zfktueqr.fsf@librehacker.com> <878qs6ia9d.fsf@librehacker.com> <87r05xf3bb.fsf@librehacker.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22906"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.12 (2023-09-09) Cc: Help Gnu Emacs Mailing List To: Christopher Howard Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 24 23:11:48 2024 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tQD80-0005o6-E1 for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 24 Dec 2024 23:11:48 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tQD79-0001bG-3b; Tue, 24 Dec 2024 17:10:55 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tQD76-0001as-T5 for help-gnu-emacs@gnu.org; Tue, 24 Dec 2024 17:10:52 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tQD71-00089A-DM for help-gnu-emacs@gnu.org; Tue, 24 Dec 2024 17:10:52 -0500 Original-Received: from localhost ([::ffff:41.75.176.71]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 000000000007DC8B.00000000676B3145.001179A8; Tue, 24 Dec 2024 15:10:13 -0700 Mail-Followup-To: Christopher Howard , Help Gnu Emacs Mailing List Content-Disposition: inline In-Reply-To: <87r05xf3bb.fsf@librehacker.com> Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:148960 Archived-At: * Christopher Howard [2024-12-24 19:35]: > Jean Louis writes: > > > and then relate it to "toddler" and then if any of such word is > > mentioned let us say "more than once" in section, it could get a tag. > > > > So I could make a function to verify if any of defined words is > > mentioned more than once. > > Now you are recommending a system whereby I myself have to manual recognize and record all specific words that lead me to assign a specific tag. This works, in a sense, but does nothing to reduce my work load. There might be, for example, thousands of plant-related words that lead me to apply the tag :botany:. I don't want to have to figure out what those words are specifically and make a record of them. I just want to intuitively apply the tag :botany: and then the software figures out, after observing many nodes, that the words "rainforest" or "flower" or should generate the tag :botany:. Sounds like you wish to use the features of text recognition as it is today provided in Large Language Model (LLM) software. Try it out here: https://huggingface.co/spaces/Qwen/Qwen2.5 Give it the instruction. Here is example: Give me name of 3 different flowers Sure! Here are three different flowers: Rose - Known for its beauty and fragrance, the rose is a popular flower available in many colors such as red, pink, white, and yellow. Daisy - Characterized by its simple, charming appearance with white petals and a yellow center, the daisy symbolizes innocence and purity. Tulip - A spring favorite, tulips come in a variety of colors and are known for their cup-shaped blooms. They are often associated with the Netherlands. Give me 3 different car models Certainly! Here are three different car models: Toyota Camry - A popular mid-size sedan known for its reliability and fuel efficiency. Ford Mustang - An iconic American muscle car known for its powerful engines and sporty design. Tesla Model S - A high-performance electric sedan known for its advanced technology, long range, and sleek design. I will now give you lines, and you will recognize if some of these tags apply: '("BOTANY", "TRANSPORT", "TRAVEL", "GARDEN"), return tags joined with colon : suitable for Org mode. Sure, I can help with that! Please provide the lines, and I'll tag them accordingly. Toyota Camry - A popular mid-size sedan known for its reliability and fuel efficiency. TRANSPORT (the above answer TRANSPORT was given by software) Daisy - Characterized by its simple, charming appearance with white petals and a yellow center, the daisy symbolizes innocence and purity. BOTANY:GARDEN --------------(づ。◕‿‿◕。)づ -------------------------- Once you gain understanding, then you can integrate it in Emacs to become very very effortless. I would gather list of those tags and then just add tags by using LLM, it is on-the-fly. Here is small demo how integration within Emacs works, though I don't think this model is suitable for that task of tagging: https://yewtu.be/watch?v=XrK-X7LZ6aE I would make it so: 1. Make function to tag your Org documents. 2. Copy original-file.org to tagged-file.org for safety. 3. Work on tagged-file.org 4. Extract list of all Org files automatically. 5. Parse each section and use that list to invoke LLM, to return the tags. 6. Insert returned tags by Emacs function into the section header. 7. Continue parsing. 8. Continue with all files. -- Jean Louis