10up / classifai

Supercharge WordPress Content Workflows and Engagement with Artificial Intelligence.
https://classifaiplugin.com
GNU General Public License v2.0
568 stars 52 forks source link

`Reading level` post content function #579

Open jeffpaul opened 1 year ago

jeffpaul commented 1 year ago

Is your enhancement related to a problem? Please describe.

Expanding on the work in #532, we could add another option to the ClassifAI option in the Paragraph block to adjust text content to a specific reading level.

There is some thinking that content readability affects SEO and rankings, which even if not true (or at least not fully accurate) still seems like something that a website would want to ensure its content is appropriately tailored to its audience. There are several different methods for determining and measuring the reading level of text, but I have yet to find an AI API that would rewrite text to match a specific reading level. We could craft a specific ChatGPT prompt to request a rewrite to a reading level, but my testing has not shown that to (yet) be very reliable (it seems ChatGPT indexes towards easier reading levels regardless of the prompt). I'm opening this issue to document the feature request while we try and find a service that could best solve the "rewrite to reading level" sort of functionality (I'm thinking we would have a site-wide default for the reading level, perhaps with ability to override for a specific post somehow as a feature to add later).

Designs

Conceptually I would see us adding another option to the [AI] button in the Paragraph block that would add a "Rewrite to reading level" option that would trigger whichever eventual service we identify for this sort of function:

Screenshot 2023-09-08 at 10 17 14 AM

Describe alternatives you've considered

n/a

Code of Conduct

jeffpaul commented 1 year ago

In parallel to finding an AI API that could power this content rewriting to a specific reading level, we might also look to include readability metrics into the document-outline component within the editor.

Screenshot 2023-09-08 at 12 00 19 PM

Things like Sentences, Syllables, Complex words, and various reading level/readability metrics.

ipeirotis/ReadabilityMetrics (and its API) supports Automated Readability Index, Coleman-Liau Index, Flesch–Kincaid Grade Level, Flesch Reading Ease, Gunning-Fog Index, SMOG score, and SMOG Index.

Screenshot 2023-09-08 at 12 02 50 PM

Textgears (and its API) calculates readability and other metrics like Flesch Kinkaid Score, Coleman-Lian Index, Dale-Chall Formula, and SMOG index (not fully noted in the below screenshot).

Screenshot 2023-09-08 at 12 09 17 PM

Exposing some/all of this information could be helpful during the authoring/editing process and could be used as part of a pre-publish check that perhaps only allows publishing if the reading level/readability is above/below a certain number or within a certain range. <-- This future functionality I think is FAR MORE USEFUL than just rendering the metrics, so any prototype here ideally includes this.