3

我正在尝试将话语解析为单词并将这些单词保存在列表中。我想用话语数字键将每个列表添加到字典中。我想将每个话语与其他话语的相似度进行比较。我试过了,但没有用。谁能帮帮我吗!

谢谢

public string[] utterance = new string[4];

    Dictionary<string, List> wording = new Dictionary<string, List>();

    public void splitit()
    {          
     utterance[0] = "Fish attacked Nemo's parents";
     utterance[1] = "Only one fish egg left after fish attacked Nemo's parents and that was Nemo.";
     utterance[2] = "Nemo grow up and went to school.";
     utterance[3] = "Nemo got bored during the lecture and went to ocean with his friends.";

        for (int x=0; x < 4; x++)
        {

            string[] words = utterance[x].Split(' ');
            List<string> Tokens = new List<string>();

            foreach (string word in words)
            {
                Tokens.Add(word);
            }

            //string parsed = Tokens[1];
            //foreach(string tok in Tokens)
            //{
            //   List<string> listing = new List<string>();
            //    listing.Add (tok);
            //    wording.Add("utterance"+x, listing);
            //    //listBox1.Items.Add("utterance"+x+" : "+tok);
            //}

            for (int w = 0; w < 4; w++)
            { 
            wording.Add("utterance"+x,Tokens);
            }

        }
    }

}

我像这样解决了这个问题,它现在可以工作了:

对于 (int x=0; x < 36; x++) {

            string[] words = utterance[x].Split(' ');
            ArrayList Tokens = new ArrayList();


            foreach (string word in words)
            {
                Tokens.Add(word);
            }


            ArrayList listing = new ArrayList();
            foreach (string tok in Tokens)
            {
                listing.Add(tok);
            }
                wording.Add("utterance" + x, listing);

               counting = wording["utterance0"].Count;

      }
4

2 回答 2

0

只需更改几件事:

像这样声明DisctionaryDictionary<string, List<string>>最后,像这样为每个句子添加tockenswording.Add(utterance[w],Tokens);

Dictionary<string, List<string>> wording = new Dictionary<string, List<string>>();

public void splitit()
{          
 utterance[0] = "Fish attacked Nemo's parents";
 utterance[1] = "Only one fish egg left after fish attacked Nemo's parents and that was Nemo.";
 utterance[2] = "Nemo grow up and went to school.";
 utterance[3] = "Nemo got bored during the lecture and went to ocean with his friends.";

    for (int x=0; x < 4; x++)
    {

        string[] words = utterance[x].Split(' ');
        List<string> Tokens = new List<string>();

        foreach (string word in words)
        {
            Tokens.Add(word);
        }

        //string parsed = Tokens[1];
        //foreach(string tok in Tokens)
        //{
        //   List<string> listing = new List<string>();
        //    listing.Add (tok);
        //    wording.Add("utterance"+x, listing);
        //    //listBox1.Items.Add("utterance"+x+" : "+tok);
        //}

        for (int w = 0; w < 4; w++)
        { 
        wording.Add(utterance[w],Tokens);
        }

    }
}

}

于 2012-11-22T10:31:58.290 回答
0
public string[] utterance = new string[4];

Dictionary<string, List<string>> wording = new Dictionary<string, List<string>>();

public void splitit()
{          
 utterance[0] = "Fish attacked Nemo's parents";
 utterance[1] = "Only one fish egg left after fish attacked Nemo's parents and that was Nemo.";
 utterance[2] = "Nemo grow up and went to school.";
 utterance[3] = "Nemo got bored during the lecture and went to ocean with his friends.";

    for (int x=0; x < 4; x++)
    {
        wording.Add("utterance"+x,utterance[x].Split(' ').ToList());
    }
}
于 2012-11-22T11:40:30.653 回答