public bool SetLabel(Sentence sent, TagSet tagSet) { List <string[]> tokensList = sent.TokensList; if (tokensList.Count != States.Length) { Logger.WriteLine(Logger.Level.warn, String.Format("Error: Inconsistent token({0}) and state({1}) size. Tokens list: {2}", tokensList.Count, States.Length, sent.ToString())); return(false); } for (int i = 0; i < tokensList.Count; i++) { string strTagName = tokensList[i][tokensList[i].Length - 1]; int tagId = tagSet.GetIndex(strTagName); if (tagId < 0) { Logger.WriteLine(Logger.Level.warn, String.Format("Error: tag {0} is unknown. Tokens list: {1}", strTagName, sent.ToString())); return(false); } States[i].Label = tagId; } return(true); }
public void SetLabel(Sentence sent, TagSet tagSet) { List<string[]> tokensList = sent.TokensList; if (tokensList.Count != States.Length) { throw new DataMisalignedException(String.Format("Error: Inconsistent token({0}) and state({1}) size. Tokens list: {2}", tokensList.Count, States.Length, sent.ToString())); } for (int i = 0; i < tokensList.Count; i++) { string strTagName = tokensList[i][tokensList[i].Length - 1]; int tagId = tagSet.GetIndex(strTagName); if (tagId < 0) { throw new DataMisalignedException(String.Format("Error: tag {0} is unknown. Tokens list: {1}", strTagName, sent.ToString())); } States[i].Label = tagId; } }
public void SetLabel(Sentence sent, TagSet tagSet) { List <string[]> tokensList = sent.TokensList; if (tokensList.Count != States.Length) { throw new DataMisalignedException(String.Format("Error: Inconsistent token({0}) and state({1}) size. Tokens list: {2}", tokensList.Count, States.Length, sent.ToString())); } for (int i = 0; i < tokensList.Count; i++) { string strTagName = tokensList[i][tokensList[i].Length - 1]; int tagId = tagSet.GetIndex(strTagName); if (tagId < 0) { throw new DataMisalignedException(String.Format("Error: tag {0} is unknown. Tokens list: {1}", strTagName, sent.ToString())); } States[i].Label = tagId; } }
public int[] Process(Sentence sent) { int[] predicted = null; var rnn = GetRNNInstance(); if (sent.TokensList.Count >= rnn.MaxSeqLength) { Logger.WriteLine($"The length of given sentnce is larger than {rnn.MaxSeqLength}, so ignore it: {sent.ToString()}"); } else { predicted = rnn.IsCRFTraining ? rnn.DecodeCRF(sent, Config) : rnn.DecodeNN(sent, Config); } FreeRNNInstance(rnn); return(predicted); }