Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve function words list for Farsi #21958

Open
wants to merge 12 commits into
base: trunk
Choose a base branch
from

Conversation

hannaw93
Copy link
Contributor

@hannaw93 hannaw93 commented Jan 9, 2025

Context

When reviewing and testing, it was noticed that multiple-word function words don't get recognised by the content analysis. This PR fixes that.

Summary

This PR can be summarized in the following changelog entry:

  • Improves the keyphrase assessments recognition for Farsi by updating the relevant list of function words. Props to @nshayanfar.
  • [shopify-seo] Improves the keyphrase assessments recognition for Farsi by updating the relevant list of function words.
  • [yoastseo] Expands and updates the function words list for Farsi. Props to @nshayanfar.

Relevant technical choices:

  • The multiple-word function words were split into separate strings (e.g. "نصف النهار" was split into "نصف" ,"النهار") in order to fix the problem of multiple-word function words not being recognised by the assessment.
  • Duplicates were removed using Google sheets

Test instructions

Test instructions for the acceptance test before the PR gets merged

This PR can be acceptance tested by following these steps:

In Wordpress

  • Set your site language to Farsi (فارسی)
  • Create a post of at least 300 words. You can use this one as an example:
فیلم «امیلیا پرز» با نامزدی در ۱۰ رشته موفق‌ترین فیلم گلدن گلوب امسال بود. زوئی سالدانا که پیش‌تر با بازی در آواتار هم ستایش شده بود امشب جایزه بهترین هنرپیشه زن مکمل را برای بازی در «امیلیا پرز» دریافت کرد.

دانه‌ انجیر معابد به کارگردانی محمد رسول‌اف که یکی از پنج نامزد اصلی جایزه بهترین فیلم غیرانگلیسی زبان بود داستان یک بازپرس دادگاه انقلاب ایران است که در بحبوحه اعتراض‌های سراسری ۱۴۰۱ اسلحه‌اش را گم می‌کند و درگیر بحران در زندگی شخصی و کاری می‌شود.

فیلمی که از نگاه ناظران تکان‌دهنده‌ و راوی احوال این روزهای جامعه ایران است. فیلم از زاویه زندگی یک «بازپرس سرسپرده حکومت» روایت می‌شود که خشونت و جنایت‌هایش به دل خانه و خانواده خودش بازمی‌گردد.

این فیلم داستان مردی به نام ایمان را روایت می‌کند که بیست و یک سال در خدمت حکومت بوده و حالا با ترفیع به مقام بازپرس دادگاه انقلاب رسیده و بنابراین صاحب خانه‌ای سه‌خوابه و امکانات مالی بهتری خواهد شد. اما اولین روزهای آغاز کارش مصادف است با جنبش زن، زندگی، آزادی.

هشتاد و دومین مراسم سالانه گلدن گلوب اولین مراسم مهم فصل جوایز فیلم‌های سینمایی ۲۰۲۵ است که با اعطای جوایز اسکار در دوم مارس امسال به اوج خود می‌رسد.

مراسم گلوب امسال در هتل بورلی هیلتون لس‌آنجلس عصر یکشنبه ۵ ژانویه، ۱۶ دی برگزار شد.

برنده شدن در گلدن گلوب می‌تواند به تقویت وجهه یک فیلم درست در زمانی کمک کند که رای‌دهندگان بفتا و اسکار برای پر کردن برگه‌های نامزدی آماده می‌شوند. با این حال، گلدن گلوب نسبت به جوایز اسکار رسمیت کمتری دارد.
  • Add these function words as the keyphrase مقدار زیادی, باید, سرکار آقای, فقط, پیش ظهر.
  • Confirm that the Function words in keyphrase assessment returns with grey bullet and says Your keyphrase X contains function words only. Learn more about what makes a good keyphrase.
  • Add ارزش as the keyphrase
  • Add اندک اندک ارزش as the keyphrase title
  • Make sure the keyphrase in SEO title assessment gives the following feedback: The exact match of the focus keyphrase appears at the beginning of the SEO title. Good job!

In Shopify

  • Create a product page
  • Repeat the testing steps from above

Relevant test scenarios

  • Changes should be tested with the browser console open
  • Changes should be tested on different posts/pages/taxonomies/custom post types/custom taxonomies
  • Changes should be tested on different editors (Default Block/Gutenberg/Classic/Elementor/other)
  • Changes should be tested on different browsers
  • Changes should be tested on multisite

Test instructions for QA when the code is in the RC

  • QA should use the same steps as above.

QA can test this PR by following these steps:

Impact check

This PR affects the following parts of the plugin, which may require extra testing:

UI changes

  • This PR changes the UI in the plugin. I have added the 'UI change' label to this PR.

Other environments

  • This PR also affects Shopify. I have added a changelog entry starting with [shopify-seo], added test instructions for Shopify and attached the Shopify label to this PR.

Documentation

  • I have written documentation for this change. For example, comments in the Relevant technical choices, comments in the code, documentation on Confluence / shared Google Drive / Yoast developer portal, or other.

Quality assurance

  • I have tested this code to the best of my abilities.
  • During testing, I had activated all plugins that Yoast SEO provides integrations for.
  • I have added unit tests to verify the code works as intended.
  • If any part of the code is behind a feature flag, my test instructions also cover cases where the feature flag is switched off.
  • I have written this PR in accordance with my team's definition of done.
  • I have checked that the base branch is correctly set.

Innovation

  • No innovation project is applicable for this PR.
  • This PR falls under an innovation project. I have attached the innovation label.
  • I have added my hours to the WBSO document.

Fixes #21903

nshayanfar and others added 3 commits December 7, 2024 12:37
Added some adjectives and adverbs
Added some auxiliary verbs
Added some more populat forms of intensifiers
Removed nonwritten ی in prepositions
@coveralls
Copy link

coveralls commented Jan 9, 2025

Pull Request Test Coverage Report for Build f32a4d85ef7fc9da584d909710677f95a05aa5ae

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 20 of 20 (100.0%) changed or added relevant lines in 1 file are covered.
  • 66 unchanged lines in 13 files lost coverage.
  • Overall coverage increased (+0.04%) to 54.665%

Files with Coverage Reduction New Missed Lines %
packages/js/src/integrations-page/simple-integration.js 1 84.62%
packages/components/src/image-select/ImageSelect.js 2 85.0%
packages/js/src/initializers/settings-store.js 2 0.0%
packages/social-metadata-previews/src/editor/SocialPreviewEditor.js 3 0.0%
packages/js/src/components/social/SocialForm.js 4 0.0%
packages/js/src/ai-assessment-fixes/components/ai-assessment-fixes-button.js 5 80.0%
packages/js/src/components/fills/SidebarFill.js 5 0.0%
packages/js/src/components/social/TwitterWrapper.js 6 0.0%
packages/js/src/integrations-page/recommended-integrations.js 6 0.0%
packages/social-metadata-forms/src/SocialMetadataPreviewForm.js 6 0.0%
Totals Coverage Status
Change from base Build abf031a7bd7917bce37c0e48b7e194c1fc89b41d: 0.04%
Covered Lines: 30136
Relevant Lines: 55522

💛 - Coveralls

@hannaw93 hannaw93 added the changelog: enhancement Needs to be included in the 'Enhancements' category in the changelog label Jan 10, 2025
@hannaw93 hannaw93 marked this pull request as ready for review January 10, 2025 16:30
@hannaw93 hannaw93 changed the title 21903 improve farsi function words Improve function words list for Farsi Jan 10, 2025
@hannaw93 hannaw93 added the Shopify This PR impacts Shopify. label Jan 10, 2025
@nshayanfar
Copy link

Thank you.

…nWordsSpec.js

remove accidentally created file
@hannaw93
Copy link
Contributor Author

Thank you.

Thank you too for contributing!

@marinakoleva marinakoleva self-assigned this Jan 29, 2025
"از قبیل", "از لحاظ", "از حیث", "از جمله ی", "در برابر", "در مقابل", "درباره ی", "درمورد", "درمیان", "درخصوص",
"براثر", "براساس", "برطبق", "برحسب", "با وجود" ];

const postposition = [ "را" ];
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "postpositions" category was removed because the word is already listed in pronouns

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean all the words in the category postpositions are included in pronouns?

@marinakoleva
Copy link
Contributor

CR: comments and discussion in this slack thread

@marinakoleva marinakoleva removed their assignment Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog: enhancement Needs to be included in the 'Enhancements' category in the changelog Shopify This PR impacts Shopify.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants