VicWord - 纯 PHP 分词工具:高效、灵活的中文文本分词解决方案

VicWord 是一款高效且灵活的纯 PHP 分词库,由开发者 lizhichao 创建并维护。它内置多种分词策略,满足从简单到复杂的各种文本处理需求。

VicWord 的特点

  • 性能卓越:在特定硬件环境下,最高每秒可处理 140 万字符,速度远超同类产品。

  • 灵活性高:支持多种分词策略,用户可根据实际需求选择最合适的模式。

  • 自定义词典:用户可以添加自定义词语到词库,支持文本格式(JSON)和二进制格式(igb)。

技术分析

VicWord 提供了三种不同的分词方法:

  • getWord:以长度优先,追求速度最大化,适用于对分词精度要求不高的场景。

  • getShortWord:细粒度切分,虽然速度稍慢,但能获取更详尽的分词结果。

  • getAutoWord:自动切分,结合长度与上下文信息,兼顾速度和准确性,是默认推荐的分词模式。

应用场景

VicWord 可广泛应用于以下领域:

  • 搜索引擎优化:提高关键词匹配,提升搜索结果的相关性。

  • 自然语言处理:分词是文本处理的基础,VicWord 可用于构建聊天机器人、文本分类等应用。

安装步骤

可以直接通过compost 安装

composer require lizhichao/word

或者自行去下载源码使用

https://github.com/lizhichao/VicWord

分词说明

  • 含有3种切分方法

    • getWord 长度优先切分 。最快

    • getShortWord 细粒度切分。比最快慢一点点

    • getAutoWord 自动切分 。效果最好

  • 可自定义词典,自己添加词语到词库,词库支持文本格式json和二级制格式igb 二进制格式词典小,加载快

  • dict.igb含有175662个词,欢迎大家补充词语到 dict.txt ,格式(词语 \t idf \t 词性)

    • idf 获取方法 百度搜索这个词语 Math.log(100000001/结果数量),如果你有更好的方法欢迎补充。

    • 词性 [标点符号,名词,动词,形容词,区别词,代词,数词,量词,副词,介词,连词,助词,语气词,拟声词,叹词] 取index ;标点符号取0

  • 三种分词结果对比文章来源地址https://www.toymoban.com/article/778.html

代码示例

require 'vendor/autoload.php';

use Lizhichao\Word\VicWord;

$fc = new VicWord();
$arr = $fc->getWord('北京大学生喝进口红酒,在北京大学生活区喝进口红酒');
//北京大学|生喝|进口|红酒|,|在|北京大学|生活区|喝|进口|红酒
//$arr 是一个数组 每个单元的结构[词语,词语位置,词性,这个词语是否包含在词典中] 这里只值列出了词语

$arr =  $fc->getShortWord('北京大学生喝进口红酒,在北京大学生活区喝进口红酒');
//北京|大学|生喝|进口|红酒|,|在|北京|大学|生活|区喝|进口|红酒

$arr = $fc->getAutoWord('北京大学生喝进口红酒,在北京大学生活区喝进口红酒');
//北京|大学生|喝|进口|红酒|,|在|北京大学|生活区|喝|进口|红酒

//对比
//qq的分词 http://nlp.qq.com/semantic.cgi#page2 
//百度的分词 http://ai.baidu.com/tech/nlp/lexical

到此这篇关于VicWord - 纯 PHP 分词工具:高效、灵活的中文文本分词解决方案的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/article/778.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    博客赞助

    微信扫一扫打赏

    请作者喝杯咖啡吧~博客赞助

    支付宝扫一扫领取红包,优惠每天领

    二维码1

    领取红包

    二维码2

    领红包