分词技术,谁能给个简单实例啊

时间:2022-11-09 05:10:11
在数据库中有些文章的标题,想进行分解一下,好在关键字中进行优化

谁有这方面的文章呢,最好是实例,太理论的看不懂,另外,不知道所需要的文件大不大

9 个解决方案

#1


你要在数据库表中再建一个字段!写关键字!在显示文章的下面再读出适合这个关键字的数据

#2


楼主的意思俺不是很明白,你打算怎么优化关键字?优化后要达到什么效果?

#3


不太容易,我以前做过的都是手工录入关键词,你想智能的,我们还没那个技术实力吧?

#4


如果想手工录入给你个解决方案:

建立关键词表
ID INT IDENTITY(1,1)
KEY NVARCHAR(50)

插入文章的时候,提取出关键词,上关键词表里找,找到的话返回关键词ID,把关键词ID和文章ID放到一个映射表里.
找不到就插入关键词,返回新的关键词ID,然后和文章ID插入映射表.

循环处理所有关键词

#5


这样做的好处:

1
节省空间,虽然现在硬盘大,但文件大了,速度自然就慢
2
关键词都用ID索引了,做关联查找速度非常关,变字符串查找为数字查找了

#6


我现在想要的是智能型,我在网上找了几个,有的有说明,但没实例,有的太理论了,看不懂

想要的效果是,如果有一个标题为 天空这么蓝

会分解成 天空\这么\蓝 其实我要求像百度那么强的,只想要能分解出 天空 这种明显的词

#7


打错字,不要求像百度这么牛,只要能简单分解就行

#8


那我跟着学习了,有了这个,就不用录入了,呵呵

#9


分词我是这样理解的:
就是把一段文字解析成相关支持系列,主要有创建索引时对文章的分词和查询时对输入语句的分词
就拿下面这句话来看看:
“数据库中有些文章的标题,想进行分解一下,好在关键字中进行优化”
查询是可能会将它解析为
在 数据库 中 有些 文章 的 标题 想 进行 分解 一下 好在 关键字 进行 优化

而在创建索引时如果要进行细致的解析,结果可能是:
在 数据 数据库 中 有些 文章 文章的标题 的 标题 想 进行 进行分解 分解 一下 好在 关键 关键字 进行 优化

两种情况都需要一个相同的东西,那就是语汇库,语汇库告诉我们语句应该在何处截断成词,语汇的丰富程度直接影响分词效果。

下面介绍一个查询时简单的分词方法
首先将语汇数组按首字排序,然后再将首字相同的语汇按长度降序排列, 从而构成一个有规律有序的字符串数组
设置一指针(*p)指向待分词的语句(*sentence)的首字(p=sentence)
在语汇数组中查找到第一个相同首字的语汇
向后进行比对,直到left(p,strlen(keyword[n]))=keyword[n],到此,一个词被分出来了。
p+=strlen(keyword[n])
将keyword[n]保存
有必要的话检查一下是否已经存在
重复以上操作




#1


你要在数据库表中再建一个字段!写关键字!在显示文章的下面再读出适合这个关键字的数据

#2


楼主的意思俺不是很明白,你打算怎么优化关键字?优化后要达到什么效果?

#3


不太容易,我以前做过的都是手工录入关键词,你想智能的,我们还没那个技术实力吧?

#4


如果想手工录入给你个解决方案:

建立关键词表
ID INT IDENTITY(1,1)
KEY NVARCHAR(50)

插入文章的时候,提取出关键词,上关键词表里找,找到的话返回关键词ID,把关键词ID和文章ID放到一个映射表里.
找不到就插入关键词,返回新的关键词ID,然后和文章ID插入映射表.

循环处理所有关键词

#5


这样做的好处:

1
节省空间,虽然现在硬盘大,但文件大了,速度自然就慢
2
关键词都用ID索引了,做关联查找速度非常关,变字符串查找为数字查找了

#6


我现在想要的是智能型,我在网上找了几个,有的有说明,但没实例,有的太理论了,看不懂

想要的效果是,如果有一个标题为 天空这么蓝

会分解成 天空\这么\蓝 其实我要求像百度那么强的,只想要能分解出 天空 这种明显的词

#7


打错字,不要求像百度这么牛,只要能简单分解就行

#8


那我跟着学习了,有了这个,就不用录入了,呵呵

#9


分词我是这样理解的:
就是把一段文字解析成相关支持系列,主要有创建索引时对文章的分词和查询时对输入语句的分词
就拿下面这句话来看看:
“数据库中有些文章的标题,想进行分解一下,好在关键字中进行优化”
查询是可能会将它解析为
在 数据库 中 有些 文章 的 标题 想 进行 分解 一下 好在 关键字 进行 优化

而在创建索引时如果要进行细致的解析,结果可能是:
在 数据 数据库 中 有些 文章 文章的标题 的 标题 想 进行 进行分解 分解 一下 好在 关键 关键字 进行 优化

两种情况都需要一个相同的东西,那就是语汇库,语汇库告诉我们语句应该在何处截断成词,语汇的丰富程度直接影响分词效果。

下面介绍一个查询时简单的分词方法
首先将语汇数组按首字排序,然后再将首字相同的语汇按长度降序排列, 从而构成一个有规律有序的字符串数组
设置一指针(*p)指向待分词的语句(*sentence)的首字(p=sentence)
在语汇数组中查找到第一个相同首字的语汇
向后进行比对,直到left(p,strlen(keyword[n]))=keyword[n],到此,一个词被分出来了。
p+=strlen(keyword[n])
将keyword[n]保存
有必要的话检查一下是否已经存在
重复以上操作