1

テキスト(800MBのtxtファイル)の単純な意味分析を実装するタスクがあります。小さなファイルの場合、すべてが迅速に進みました。私はこのファイルを1行ずつ読み、それらは機能しています。ファイルの読み取りには 9 秒かかります。しかし、一度分析を開始して単語を辞書に追加し、テキスト処理にそれらの位置を保存するには時間がかかりすぎます。

より良いバリエーション、または問題のより良い解決策を教えていただけますか? テキストと手順の意味解析の問題を扱う場合、アドバイスがあればアドバイスします。あなた。

public List<string> SplitWords(string s)
    {
        s = s.ToLower();
        arrayWords = Regex.Split(s, @"\W+");
        listWords = arrayWords.OfType<string>().ToList();

        for (int i = 0; i < listWords.Count; i++)
        {
            if (Array.BinarySearch(stopwords, listWords[i]) >= 0 || listWords[i].Length < 2)
            {
                listWords.RemoveAt(i);
                i--;
            }

        }
        return listWords;
    }

単語を区切るためのコード

 public void AddToDictonary(List<string> arrayWords)
        {
            for (int i = 0; i < arrayWords.Count; i++)
            {
                if (!dictonary.ContainsKey(arrayWords[i]))
                {
                    dictonary.Add(arrayWords[i], new List<int>() { i });
                }
                else
                {
                    dictonary[arrayWords[i]].Add(i);
                }
            }
        }

辞書に追加するためのコード。

4

1 に答える 1

0

ここに投稿した正規表現を使用して、文をトークン化できます

于 2013-02-20T16:44:34.347 に答える