-2

単語のグループを取り込んで、データセットから個々の単語のすべてのグループを返す単純なアプリケーションを C# で作成したいと思います。

たとえば、車と自転車が与えられた場合、データセットから単語のグループ/組み合わせのリスト (見つかった組み合わせの数) を返します。

さらに明確にするために、「車」という名前のカテゴリが与えられた場合、「車」という単語を含む単語グループのリストを表示したいと思います。このカテゴリは、1 つだけでなく複数の単語である場合もあります。

次のサンプル データ セットを使用します。

車:

  • 販売のための別の車
  • 地平線上の青い車
  • 販売 - 中古車
  • この車は青く塗られています

戻るべき

car : for sale : 2
car : blue : 2

しきい値を 20 以上に設定したいので、car を含む単語のインスタンスが 20 を超える場合は、それらを表示します - category, words, count, のみcategoryが知られている場所; アルゴリズムによって決定されますwordscount

データ セットは SQL Server 2008 テーブルにあり、R の .Net 実装のようなものを使用してこれを達成したいと考えていました。

これを達成するための最良の方法は R プログラミング言語を使用することであると推測しており、R.Net を検討しているのは今だけです。

私はこれを .Net で行うことを好みます。.Net は私が最もよく知っているものですが、提案は受け付けています。

これについてある程度の経験を持つ人が私を正しい方向に導くことができますか?

ありがとう。

4

1 に答える 1

0

あなたの質問は4つの部分で構成されているようです:

  1. SQL Server 2008 からのデータの取得
  2. 文字列のセットから部分文字列を抽出する
  3. その数をいつ受け入れるかのしきい値を設定する
  4. これを含むドキュメントまたはその他の出力 (?) を生成します。

1については、別の質問だと思います(RODBCパッケージを参照)が、質問の主要部分ではないため、ここでは扱いません。あなたは 4. を少しあいまいにしましたが、それもあなたの質問の要点の周辺にあると思います。

パート 2 は、正規表現を使用して簡単に処理できます。

countstring <- function(string, pattern){
  stringcount <- sum(grepl(pattern, string, ignore.case=TRUE), na.rm=TRUE)
  paste(deparse(substitute(string)), pattern, stringcount, sep=" : ")
}

この関数は基本的に、文字列のベクトルと検索するパターンを取得します。それらのどれが一致するかを見つけ、一致する数の合計 (つまり、カウント) を取得します。次に、これらを 1 つの文字列にまとめて出力します。例えば:

car <- c("Another car for sale", "Blue car on the horizon", "For Sale - used car", "this car is painted blue")
countstring(car, "blue")
## [1] "car : blue : 2"

パート 3 では、関数に小さな変更が必要です

countstring <- function(string, pattern, threshold=20){
  stringcount <- sum(grepl(pattern, string, ignore.case=TRUE), na.rm=TRUE)

  if(stringcount >= threshold){
    paste(deparse(substitute(string)), pattern, stringcount, sep=" : ")
  }

}
于 2013-02-11T06:32:45.113 に答える