小谈中文分词技术,让搜索引擎理解网站的内容

什么是中文分词:中文分词和搜索引擎关系与影响;小谈:中文分词技术:基于字符串匹配的分词方法,可以建立一个一般的模型,基于理解的分词方法

小谈中文分词技术,让搜索引擎理解网站的内容

随着信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度、yahoo、最近新出的网易的有道 等大型搜索引擎一直是人们讨论的话题。

随着搜索市场价值的不断增加,越来越多的公司开发出属于自己的搜索引擎,阿里巴巴的商机搜索、8848的购物搜索等也陆续面世,自然,搜索引擎技术也成为技术人员关注的热点之一。

搜索引擎技术的研究,国外比中国要早近十年,从最早的Archie,到后来的Excite,以及altvista、overture、google等搜索引擎面世,搜索引擎发展至今,已经有十几年的历史,而国内开始研究搜索引擎是在上世纪末本世纪初。在许多领域,都是国外的产品和技术一统天下,特别是当某种技术在国外研究多年而国内才开始的情况下。例如操作系统、字处理软件、浏览器等等,但搜索引擎却是个例外。虽然在国外搜索引擎技术早就开始研究,但在国内还是陆续涌现出优秀的搜索引擎,像百度(http://www.baidu.com)、和最近刚出的 有道(http://www.youdao.com)等。目前在中文搜索引擎领域,国内的搜索引擎已经和国外的搜索引擎效果上相差不远。但是SWJ认为其技术能力等方面还是相差国外先进水平有一定的距离 不过,这距离在慢慢的拉近中! 谈到搜索引擎的分词技术之所以能形成现在这样的局面,有一个重要的原因就在于中文和英文两种语言自身的书写方式不同。

什么是中文分词

众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student是一个单词,但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。我是一个学生,分词的结果是:我 是 一个 学生。

中文分词和搜索引擎关系与影响!

中文分词到底对搜索引擎有多大影响?对于搜索引擎来说,最重要的并不是找到所有结果,因为在上百亿的网页中找到所有结果没有太多的意义,没有人能看得完,最重要的是把最相关的结果排在最前面,这也称为相关度排序。中文分词的准确与否,常常直接影响到对搜索结果的相关度排序。笔者最近替朋友找一些关于日本和服的资料,在搜索引擎上输入“和服”,得到的结果就发现了很多问题。

小谈:中文分词技术

中文分词技术属于 自然语言处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法。

现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

1、基于字符串匹配的分词方法

这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下:

1)正向最大匹配法(由左到右的方向);

2)逆向最大匹配法(由右到左的方向);

3)最少切分(使每一句中切出的词数最小)。

还可以将上述各种方法相互组合,例如,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配法。由于汉语单字成词的特点,正向最小匹配和逆向最小匹配一般很少使用。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。但这种精度还远远不能满足实际的需要。实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率。

一种方法是改进扫描方式,称为特征扫描或标志切分,优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再来进机械分词,从而减少匹配的错误率。另一种方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词结果进行检验、调整,从而极大地提高切分的准确率。

对于机械分词方法,可以建立一个一般的模型,在这方面有专业的学术论文,这里不做详细论述。

2、基于理解的分词方法

这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月6日 21:06:17
下一篇 2024年5月6日 21:08:19

相关推荐

  • javapoiapi中文,poi java

    poi是什么意思 1、“poi”是(Program of Instruction )教学大纲的意思。POI是“Point of Interest”的缩写,可以翻译成“兴趣点”,也有些叫做“Point of Information”,即“信息点”。 2、“poi”是(Program of Instruction )教学大纲的意思。“poi”释义①POI是“Po…

    2024年5月23日
    4200
  • linux汉子显示问号,linux中文显示问号

    linux命令模式下出现问号,请问怎么解决 1、修复方法:第重启Linux服务器之后,会在这个界面停住的:giverootpasswordformaintenance(ortypecontrol-Dtocontinue):这候输入Linux服务器root密码,回车即可进入一个简单的命令操作界面,这里如下输入fsck-y。 2、linux vi中按ESC,进不…

    2024年5月23日
    4100
  • linux匹配中文开头,linux匹配字符串

    linux语言支持中文是暗的 把中文拖动到English上面就可以了。这是一个排序列表。 你选的时候是安装过程使用的语言,后面也只设置了地区什么的,cd版本身因为容量的问题就没有太多语言支持的啊。DVD的好一些。没什么的,英语的话不会影响使用,如果能联网或者有DVD光盘可以安装上中文语言的。 中文字符在终端下无法显示,可以打补丁实现,不推荐。 或者把你的语言…

    2024年5月23日
    4900
  • linux服务器时间格式英文中文的简单介绍

    如何改变linux服务器系统时区和时间 1、inux修改时间命令是date-s+时分秒。修改linux系统时间。root使用date指令:date -s 只修改日期,不修改时间,输入:date -s 2021-04-02。只修改时间,输入:date -s 12:00:00。 2、打开linux系统,在linux的桌面的空白处右击。在弹出的下拉选项里,点击打开…

    2024年5月22日
    4700
  • kalilinux中文社区,kalilinux2020设置中文

    kalilinux的安装教程 1、然后您将能够在Microsoft商店中找到,下载并安装KaliLinux应用程序;安装KaliLinux;启动应用程序后,您需要创建一个默认的UNIX帐户作为安装过程的一部分,并添加一个密码。 2、点击文件 -新建虚拟机 选择 – 自定义(高级)硬件兼容性选择 -Workstation 5-x 点击“稍后安装操作…

    2024年5月22日
    10200
  • javaservlet中文乱码,servlet解决中文乱码问题

    javaweb怎么处理中文乱码 获取 HTTP 请求中的中文参数时可能会有乱码,所以先将字符串变回字节数组,然后再按照 UTF-8 进行编码。 通过浏览器调用servlet,页面显示乱码。 采用相同的格式去接收(ISO-8859-1),然后用能解析的编码(utf-8)去转换。这样我们就能得到能兼容中文的格式了。这样处理之后发往前台。 读取文件的时候如果是用的…

    2024年5月22日
    3500
  • 关于初级黑客中文学习网站的信息

    信息安全技术专业的相关学习网站有哪些? 关于学习类的网站有掌门1对多贝、网易云课堂、慕课、传课、CSDN、我要自学网等等。 网络安全主要集中在大型城市,如北京上海广州深圳等,那里安全公司特别多,如360,天融信,奇安信等,所以学习网络安全建议选择这些城市。 专业课程 专业基础课程:计算机硬件基础、计算机网络技术、程序设计基础、数据库技术、Web应用开发、信息…

    2024年5月22日
    4100
  • java中文字符串操作,java 中文字符串

    java语言中如何获取字符串中汉字的个数 1、String[] strs = parent.split(son, -1); //用son字符串批分字符串,-1是为了避免在最后出现连续的son字符串并且没有内容。 2、用Pattern类去匹配除了所有字母符号和数字,剩下的就是中文了。 但是这样只能判断出中文,词语的话得写一个词库才行,逐个匹配. 嗯嗯,这是我的…

    2024年5月22日
    4500
  • java中文转unicode,java中文转ASCII编码

    用eclipse写java时,怎么把中文字符转换成unicode string.getbytes(ISO646-US)Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,“汉”这个字的Unicode编码是U+6C49。 } unicode =…

    2024年5月22日
    3500
  • 搜索c语言代码,c语言搜索引擎

    c语言编程代码 C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。 C语言源代码,就是依据C语言规则所写出的程序代码,常见的存储文件扩展名为.c文件和.h文件,分别对应C源文件(source file)和C头文件(header …

    2024年5月21日
    6400

发表回复

登录后才能评论



关注微信