完全に一文が一致してなくても長く連続する文字が一致する場合はコピペ文章とみなしていいのではないでしょうか? それから「あーでもない、こーでもない」と文章をイジっているうちに結局、元の文と対してかわらないものができてしまう場合があります。
そこで連続して一定の文字数分一致してしまう場合はコピペ文章と見なします。一見オリジナルにみえて別のサイトからパクってきたフレーズをいれると自分でもコピペコンテンツを作っていることに気づけなくなります。
例えば一カ所でも10文字以上同じ部分があったらコピペ判定できるものを作成してみることにします。
コピペチェックツールをつくってみる トライグラム(3-gram)編
前回はトライグラム(3-gram)を利用しましたが、3文字ではなく10文字にすればいいですね。
今回は割合ではなく一致している部分を抜き出すことを考えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
public partial class Form1 : Form { List<string> GetNgram(string str, int n) { int len = str.Length; List<string> trigrams = new List<string>(); for(int i = 0; i < len - n - 1; i++) trigrams.Add(str.Substring(i, n)); return trigrams; } List<string> SimilarRateFromNgram(string oldText, string newText, int n) { List<string> oldNgrams = GetNgram(oldText, n); List<string> newNgrams = GetNgram(newText, n); // newNgrams にあるもので oldNgramsnewTrigramsにあるものを調べる return newNgrams.Intersect(oldNgrams).ToList(); } private void button3_Click(object sender, EventArgs e) { int n = (int)numericUpDown1.Value; List<string> ret = SimilarRateFromNgram(richTextBox1.Text, richTextBox2.Text, n); string str = String.Join("\n", ret.ToArray()); richTextBox3.Text = str; } } |
さて、
元の文章
ウェブ上のコンテンツをそのまま自サイトに掲載すれば無断転載。当然やってはいけません。他のサイトに書かれていることは参考するにとどめて自分で文章を書きましょう。またリライト(書き換えた)つもりだったのに実は気がつかないうちにコピーしていた・・・なんてこともあります。
書き換えた文章①
自分で文章を書きましょう。他のサイトは参考するにとどめましょう。ウェブ上のコンテンツを自サイトにそのまま掲載すれば無断転載です。当然やってはいけません。また実は気がつかないうちにコピーしていた・・・なんてこともあります。リライト(書き換えた)つもりだったのに。
10文字連続でダブっている部分がかなりあります。
書き換えた文章②
文章を自分で書くのは面倒ですよね。だからといってウェブ上に掲載されている文章をそのままパクって自分のサイトに掲載するのは絶対にダメ。著作権法違反で処罰されるかもしれません。ネタになるものがない場合、他のサイトを見て参考するのはいいのですが、文章は自分で考えてかきましょう。きちんとリライトしたつもりでも、文章を編集しているあいだに元の文章と同じになってしまうことがあります。気がつかなかったでは良いわけになりません。最低限、コピペチェックはやっておきましょう。
10文字連続でダブっている部分はありません。7文字連続の部分として「サイトに掲載す」がありますが、これはいいんじゃないのかな。
リライトで文章を作成した場合、10文字連続で一致する部分がないことは確認しておきましょう。それから一致逃れのために漢字をひらがなにおきかえるとか「、」などを挿入してごまかすのは当然ダメです。
鳩でも分かるC#管理人からのお願い
できる仕事であれば請け負います。鳩でもわかるC#管理人はクラウドワークスに在宅ワーカーとして登録しています。お仕事の依頼もお待ちしております。
⇒ 仕事を依頼する
コメントについて
コメントで英語などの外国語でコメントをされる方がいますが、管理人は日本語以外はわからないので基本的に内容が理解できず、承認することもありません。それからへんな薬を売っているサイトやリンク先のサイトが存在しないというスパムコメントも多々あります。
Some people make comments in foreign languages such as English, but since the manager does not understand anything other than Japanese, he basically cannot understand the content and does not approve it. Please use Japanese when making comments.
そんななか日本語のコメントもいただけるようになりました。「○○という変数はどこで宣言されているのか?」「××というメソッドはどこにあるのか」「例外が発生する」「いっそのことソース丸ごとくれ」という質問ですが、管理人としては嬉しく思います。「自分が書いた記事は読まれているんだな」と。疑問点には可能な限り答えます。記事に問題があれば修正いたします。
そのうえでお願いがあります。「匿名」という味も素っ気もない名前ではなく、捨てハンでいいのでなにかハンドルネームをつくってほしいと思います。
管理人のモチベーションアップのために
よろしければご支援お願いします。
⇒ 管理人の物乞いリスト