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

[Issue]: Gov Rule & Possible Other's Needs Improved. #1095

Open
MarketingPip opened this issue Mar 10, 2024 · 5 comments
Open

[Issue]: Gov Rule & Possible Other's Needs Improved. #1095

MarketingPip opened this issue Mar 10, 2024 · 5 comments
Labels

Comments

@MarketingPip
Copy link
Contributor

The government rule I suggested earlier (I seen you made a PR for it while back) is causing a issue.

Rule can be found here.

When using code below:

let doc = nlp("government of canada")
console.log(doc.match('government of #Country'))
/* Outputs:
{
  "ptrs": []
}
*/ 

Results for Canada are tagged as:

 "tags": [
        "Noun",
        "Singular",
        "ProperNoun",
        "Organization"
 ]

Tho I do know Canada is used as a proper noun in this example, should the matcher / tags still not have ["Place", "Country"]...?

Assuming this / and a few other rules need frozen tags etc - so some tags still remain for when using .match()

Correct me if wrong....?

@spencermountain
Copy link
Owner

yeah, that's a tricky one.
#Country is a #Place and a #Place is not a #Organization
you're welcome to remove the rule, as a PR, if you'd like
cheers

@MarketingPip
Copy link
Contributor Author

MarketingPip commented Mar 10, 2024

@spencermountain - hmmm... I seen in the post tagger / rule set "Canada" is place.

 { match: 'government of the? [#Place+]', tag: 'Organization', reason: 'government-of-x' },

Just to confirm we are both on same pages / understand.

It is supposed to match this "whole string" as "#Organization" as "government of Canada", is a valid organization. (Correct.....?)

Which I am not sure why there is a group for Canada in the rule. If I am correct in saying it should just be this:

 { match: 'government of the? #Place+', tag: 'Organization', reason: 'government-of-x' },

And this should match the whole string only and tag the whole exact match as org. Instead of what I am assuming was just a improper group / rule? Correct...?

(I just seen you had this rule using a match - which I am assuming is just a mistake...?)

Hoping you can help do some digging and confirm some info here.

ps; I will be honest I have no real professional / real world use case of Compromise. Just constantly playing with / or trying to build you some datasets or little snippets (which I got countless I still got let you have access to) lol. So hope you don't think I am dropping / making issues asking for like free premium support. 😆

@MarketingPip
Copy link
Contributor Author

@spencermountain sorry for another comment but won't this work correctly... (assuming this is what you meant to do lol)

{ match: 'government of the? [#Place+]', tag: 'Place', reason: 'government-of-place' },
{ match: 'government of the? #Place+', tag: 'Organization', reason: 'government-of-place-org' },

@spencermountain
Copy link
Owner

hey Jared, no that doesn't work. The tags are developed as a tree and something can be a Place or an Org, but not both.
cheers

@MarketingPip
Copy link
Contributor Author

MarketingPip commented Mar 10, 2024

@spencermountain - Hmmmm, just realized this....

Works properly as expected when using in-proper spelling of Government.

let doc = nlp("goverment of canada")
 

console.log(doc.match("Goverment of #Country").text())

console.log(doc.match("#Place").text())//

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants