如何对两段文字进行比较,得出相似程度

wsxcy66668888 2008-12-11 11:23:12
如何对两段文字进行比较,得出相似程度,用百分比表示?

如:
文字段1:
====================================
近日,我国两艘海洋调查船前往钓鱼岛附近(海域)活动,却被日本海上保安厅巡逻舰强行驱离。日本方面就此大做文章,(各大媒体)网站都在显著位置报道称“中国海洋调查船入侵日本领海”。(日本政府也放出厥词宣称“尖阁诸岛(钓鱼岛)是日本的固有领土”。)


文字段2:
====================================
近日,我国两艘海洋调查船前往钓鱼岛附近活动,却被日本海上保安厅巡逻舰强行驱离。日本方面就此大做文章,网站都在显著位置报道称“中国海洋调查船入侵日本领海”。

====================================
注:文字段1中的括号部分是在文字段2中删除的文字,如何得到大概下面的结果:

每句相似率:60%,整体文字的相似率(也就是可能出现的每句顺序的不同):80%,整体的相似率(60%+80%)/2=70%


需要考虑的问题:每句文字的相似率,整体文字的相似率,整段文字的相似率

请高手以Code演示,谢谢!
...全文
1892 51 打赏 收藏 转发到动态 举报
写回复
用AI写文章
51 条回复
切换为时间正序
请发表友善的回复…
发表回复
包小胖 2012-05-21
  • 打赏
  • 举报
回复
mark
haopotato 2012-03-12
  • 打赏
  • 举报
回复
学习,不错,正好需要,研究一下
xuqunying0545 2008-12-27
  • 打赏
  • 举报
回复
路过,顶,学习一下!
lintf1986 2008-12-25
  • 打赏
  • 举报
回复
有时间研究研究
春天的气息 2008-12-25
  • 打赏
  • 举报
回复
类似的算法有现成的,拿着用哦,
zhouxingyu896 2008-12-25
  • 打赏
  • 举报
回复
up
GS1T74wjwpg 2008-12-25
  • 打赏
  • 举报
回复
你用for循环来把文字截取在比较
^_^
  • 打赏
  • 举报
回复
作什么用?!明年有空闲研究一下算法,挺有意思的................
jsstb 2008-12-25
  • 打赏
  • 举报
回复
好像属于模式识别的问题吧?应该要用到模糊数学的概念。建议搂主在图像识别、信号处理方向找找,应该能有好的方法。
不属于计算机语言的问题。只是在考虑好方案后,建立数学模型时,才会涉及到C#语言怎么描述的问题。
wsxcy66668888 2008-12-25
  • 打赏
  • 举报
回复
还没有解决,继续等待高人现身中...
meyoulaile 2008-12-20
  • 打赏
  • 举报
回复
up
ediex 2008-12-20
  • 打赏
  • 举报
回复
楼主的问题,别人已经研究出来了。
一次在qq上别人加入了我的qq
后来发现是个qq机器人在和我聊天
239079541 18:41:48
你刚刚来吗
无无 18:42:13
你是那位?

239079541 18:42:23
我是珊珊啊
无无 18:44:34
你在那里呀?

239079541 18:44:46
广东惠州,那你说你是哪的啊
无无 18:45:56
我在苏州

239079541 18:46:05
跟你聊一下好吗
无无 18:48:01
好呀

无无 18:48:09
你在我好友里吗?

239079541 18:48:17
朋友温暖我们的心,若能交到真诚的朋友实在很幸运耶
239079541 18:48:25
那你有诚实可靠,真心的朋友吗?
239079541 18:53:34
在么
无无 18:54:36
在呀

239079541 18:55:05
我曾碰到假意跟我要好的..令人很生气,过了一阵子才好呢
无无 18:57:42
晕,你是不是电脑?

239079541 18:57:51
别啊 还要聊呢
无无 18:57:59
qq机器人?

239079541 18:58:08
什么机器?
239079541 18:58:13
你说的是什么啊?
无无 18:58:22
我问你一个问题

239079541 18:58:30
好啊,借你问啊
239079541 18:58:39
但是有些问题我有权保持沉默,呵呵.
无无 18:58:46
网易新闻上是什么?

239079541 18:58:57
中国三大门户网站之一,好用吗
无无 18:59:12
现在头条新闻是什么?

239079541 18:59:24
我喜欢交真诚的朋友,我也这样对待人
239079541 18:59:35
我有个第六感…,我觉得你是个真诚的人 : )
239079541 19:01:16
在网络上我不喜欢被监视
无无 19:01:28
晕,你是机器人

239079541 19:01:28
※一举一动不想被监 .视是有方法的.. 听过吗
无无 19:01:30
聊过屁

239079541 19:01:39
wpfonline 2008-12-19
  • 打赏
  • 举报
回复
本着一颗学习的心 up
wsxcy66668888 2008-12-18
  • 打赏
  • 举报
回复
谢谢,我看看
绿色夹克衫 2008-12-18
  • 打赏
  • 举报
回复
怎么一发上去,排版就乱了!希望说明白了
wsxcy66668888 2008-12-18
  • 打赏
  • 举报
回复
to lintf1986 :
感谢您的代码,可以解释一下吗?
Alex Leo 2008-12-15
  • 打赏
  • 举报
回复
可以参考Google《数学之美》系列文章,http://googlechinablog.com/2006/04/blog-post.html,文章列表在右边的“科学与技术”中,其中谈到了相似度的计算方法
cwmwss 2008-12-15
  • 打赏
  • 举报
回复
楼主想看看学生作文是否抄袭?
slimfeng 2008-12-14
  • 打赏
  • 举报
回复
mark
lintf1986 2008-12-14
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Text;

namespace kmp
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static int[] next = new int[200];
static int count = 0;
[STAThread]
static void Main(string[] args)
{
//
// TODO: Add code to start application here
//
int pos = 0, reval;
char[] p1 = @"近日,我国两艘海洋调查船前往钓鱼岛附近(海域)活动,却被日本海上保安厅巡逻舰强行驱离。日本方面就此大做文章,(各大媒体)网站都在显著位置报道称“中国海洋调查船入侵日本领海”。(日本政府也放出厥词宣称“尖阁诸岛(钓鱼岛)是日本的固有领土”。) ".ToCharArray();
char[] p2 = @"近日,我国两艘海洋调查船前往钓鱼岛附近活动,却被日本海上保安厅巡逻舰强行驱离。日本方面就此大做文章,网站都在显著位置报道称“中国海洋调查船入侵日本领海”。".ToCharArray();
Console.WriteLine("第一个文字段长度为{0},第二个文字段长度为{1}", p1.Length, p2.Length);
get_goodnext(p2, next);
reval = index_kmp(p1, p2, pos);
Console.WriteLine("====this is good kmp ====");
Console.WriteLine("value={0},count={1}", reval, count);
Console.ReadLine();
}
static int index_kmp(char[] a, char[] b, int pos)
{
int i = pos, j = 0;
int lena = a.Length, lenb = b.Length;
count = 0;
while ((i <= lena - 1) && (j <= lenb - 1))
{
if (j == -1 || a[i] == b[j])
{ ++i; ++j;count++; }
else
{ j = next[j]; }

}
if (j > lenb - 1)
return i - lenb;
else
return 0;
}
static void get_goodnext(char[] a, int[] next)
{
int i = 0, j = -1;
next[0] = -1;
while (i < a.Length - 1)
{
if (j == -1 || a[i] == a[j])
{
++i; ++j;
if (a[i] != a[j])
{
next[i] = j;
}
else
{
next[i] = next[j];
}
}
else
{ j = next[j]; }
}
}
}
}
加载更多回复(31)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧