-2

次のような著者名を含む段落があります。

Gopi, KP および Vijay, S. (1997) Computer Controlled Systems: Theory and Design、第 3 版、Mc Graw-Hill、ND Cliffs、IND。

そして次のような別の段落:

それは数値計算上の困難を引き起こします (Gopi and Vijay, 1997)。さらに、プロセスの制約がアクティブになると、ある種の非線形性が制御システムを支配するため、閉ループ制御性能の大幅な低下が明らかに見られます (Tenny、Rawlings、および Wright、2004)。

では、これらの 2 つの段落を複数の著者名 (Gopi & vijay) と出版年と比較する方法は次のとおりです。

注:最初のリファレンス パートでは、年情報を含む著者名の書式設定はすべて一定です。

4

1 に答える 1

2

「比較」(これらの文字列間) により、次の 3 つの結果が得られます。

  • 最初の文字列が 2 番目の文字列よりも「大きい」
  • 最初の文字列は 2 番目の文字列よりも「少ない」
  • 2 つの文字列は「同一」です

「大きい」、「小さい」、および「同一」の意味は、比較関数によって異なります。

おそらく「比較」は必要ありません。「2番目の段落が最初の段落よりも少ない」とはどういう意味ですか? 「コンピュータ制御システム」への参照がテキストのどこで使用されているかを知りたいと思われるでしょう。(論文が適切に参照されていれば、些細なことですが...)

これが実際に必要な場合は、人間としてこのタスクをどのように処理するかを理解する時が来ました。

私の最初のアプローチは、参照文字列を取ることです

string str = "Gopi, K.P., and Vijay, S. (1997) Computer Controlled Systems";

実際に何が関連しているかを確認します

string[] substrings = str.Split(new char[] { ' ', ',', '(', ')' });

この「コンピューター制御システム」ソースを参照する段落には、そのどこかに「Gopi and Vijay, 1997」が含まれている可能性があります。

string toFind = substrings[0] + " and " + substrings[5] + ", " + substrings[9];

次に、お気に入りのテキスト ビューアでテキストを開き、「Gopi and Vijay, 1997」を検索します。

string text = "It will cause numerical difficulty (Gopi and Vijay, 1997). What’s more, when the process constraints are activated, the significant deterioration of closed-loop control performance will be clearly witnessed as kind of nonlinearity is dominating the control system (Tenny, Rawlings, and Wright, 2004).";

int pos = text.IndexOf(toFind);

そして、試合の位置と少しのコンテキストの両方をどこかに保存します。

string match = "[...]" + text.Substring(Math.Max(pos - 50, 0), Math.Min(text.Length - pos, pos + toFind.Length + 50)) + "[...]";

次に、テキストで使用される可能性のある「Gopi」、「Vijay」、「1997」、および句読点の他の組み合わせがある可能性があることに気付くため、正規表現を調べ始めます。

于 2012-04-07T13:47:31.740 に答える