I wasn't sure if the lemmatizer would always convert 'men' to 'man', etc. so I figured I'd hard-code in all the special cases, especially since these are fairly common words. 

On Aug 7, 2013, at 9:41 AM, Alexandre Passos <notifications@github.com> wrote:

> In src/main/scala/cc/factorie/app/nlp/mention/MentionGender.scala:
> 
> >          return Some(MentionGenderDomain.FEMALE)
> >        else return None
> >      }
> >    }
> > -  val maleWords = Seq("he","him","his").toSet
> > -  val femaleWords = Seq("she","her").toSet
> > +  def femaleContains(s: String): Boolean = {
> > +    irregularFemaleWords.contains(s) || regularFemaleWords.contains(convertToSingular(s)) //we check in the irregular list first, since this contains really common words like 'she'
> > +  }
> > +  def maleContains(s: String): Boolean = {
> > +    irregularMaleWords.contains(s) || regularMaleWords.contains(convertToSingular(s))
> > +  }
> > +
> > +  def convertToSingular(s: String): String = {
> > +    s  //the contract above is that we passed in the lemmaString, so we don't need to convert to singular again
> > +  }
> > +
> > +  val irregularMaleWords = Seq("he","him","his","man", "men").toSet
> Why the distinction between regular and irregular words?
> 
> —
> Reply to this email directly or view it on GitHub.
>