php简单分词,php版简易中文分词实现 – mysql版本
在chinaunix看到“php版简易中文分词实现”,原来的版本使用的是gdbm文本数据库,在php5下面测试老是不通过。今天将字典数据导入mysql,小小改动就可以用了.我觉得,如果要获取更好的性能,可以考虑将所有的词写入一个数组,并且写入内存(如memcache),查询速度应该有很大提高,不过今天没有时间试验了。
在class db_dictionary{}下面几行加入:
class db_dict extends db_dictionary {
var $_table = 'dict';
/** 加载词典 (参数: 词典路径) */
function load($fname) {
include_once('DB.php');
$this->_dbh = DB::connect($fname);
if (DB::isError($this->_dbh))
{
echo "fail to open the dictionary: $fname
" . CRLF;
die;
}
$res = $this->_dbh->query("SET NAMES 'gbk'"); //mysql 4.1以上要这行,否则注释掉
}
/** 查词 */
function find($word)
{
if (!DB::isError($this->_dbh))
{
$this->query_times++;
// check the cache
if ($this->has_cache && isset($this->_cache[$word]))
return $this->_cache[$word];
// query from db
$val = (int)$this->_dbh->getOne("SELECT `value`
FROM {$this->_table} WHERE `key`=?", array($word) );
// save to cache
if ($this->has_cache)
$this->_cache[$word] = $val;
return $val;
} else {
echo "you should load the dictionary file first!
" . CRLF;
die;
}
}
}
然后修改:
/** 分词类: 逆向最大 (2级复查词频比较) */
class cword_segment {
.................................
/** 设定词典 (根据后缀名确定类型) */
function set_dict($fname)
{
$this->_dict = new db_dict($fname);
}
.................................
}
调用的时候:
$wp->set_dict('mysql://root@localhost/test');
在win下php5.1.1 +apache 2.0.53测试通过,其中的include_once(‘DB.php’);是调用的Pear::DB
php简单分词,php版简易中文分词实现 – mysql版本相关推荐
- 简单有效的多标准中文分词详解
简单有效的多标准中文分词详解 本文介绍一种简洁优雅的多标准中文分词方案,可联合多个不同标准的语料库训练单个模型,同时输出多标准的分词结果.通过不同语料库之间的迁移学习提升模型的性能,在10个语料库上的 ...
- 简易中文分词算法(python)_自然语言处理(NLP)中的的中文分词算法及 Python 实现...
本 Chat 首先简单介绍了自然语言处理中中文分词的概念和应用场景.然后通过两个简单的小例子展示了算法的步骤.接着编写了 Python 代码,并在<红楼梦>上做了测试.最后,总结了我在写代 ...
- python 分词工具训练_中文分词入门和分词工具汇总攻略
[注意]如果寻找分词和文本分析软件,为了完成内容分析和其他文本研究任务,直接使用集搜客分词和文本分析软件就可以了.本文是为了讲解集搜客分词和文本分析的实现原理,是给产品设计者和开发者看的. 最近在整理 ...
- 基于条件随机场模型的中文分词改进(Python中文分词)
目录 改进分词速度 一.更改存储特征值的数据结构 二.缩短对语料库的遍历时间(对语料库的预处理) 三.先将所有的特征值保存到数据库中 改进分词的准确度 实验项目和结果截图 实验项目 保存特征值时采用多 ...
- Lucene分词器,使用中文分词器,扩展词库,停用词
2019独角兽企业重金招聘Python工程师标准>>> Lucene分词器,使用中文分词器,扩展词库,停用词 博客分类: 搜索引擎,爬虫 停止词:lucene的停止词是无功能意义的词 ...
- 分词器以及ik中文分词器
文章目录 分词器以及ik中文分词器 概念 ik分词器的安装 环境准备 设置jdk环境变量 下载maven安装包并解压 设置path 验证maven是否安装成功 下载IK分词器并安装 使用IK分词器 查 ...
- python 分词工具训练_Python中文分词工具大合集:安装、使用和测试
这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AI ...
- python中文分词统计_python 实现中文分词统计
总是看到别人用Python搞各种统计,前端菜鸟的我也来尝试了一把.有各种语义分析库在,一切好像并不是很复杂.不过Python刚开始看,估计代码有点丑. 一.两种中文分词开发包 thulac (http ...
- 中文分词算法python_python实现中文分词FMM算法实例
本文实例讲述了python实现中文分词FMM算法.分享给大家供大家参考.具体分析如下: FMM算法的最简单思想是使用贪心算法向前找n个,如果这n个组成的词在词典中出现,就ok,如果没有出现,那么找n- ...
最新文章
- 抢领英饭碗?Facebook测试简历功能
- 【原创】C#中的抽象类(abstract class)和接口(interface)的比较
- Java逆向工程SpringBoot + Mybatis Generator + MySQL
- 【毕设】知网文献检索列表中的 href 解析为可访问的 URL
- 在MATLAB绘制三角形区域上的二元函数图像
- 关于 Windows 设置tomcat开机自动启动
- python泰坦尼克号生存预测论文_Kaggle 泰坦尼克号生存预测--8%(Python)
- print的常用写法(python)
- 有没有免费的数据恢复软件,easyrecovery中文版
- 小米进入发展关键期,雷军为5G而战
- NTP时间戳和UTC时间戳互转及其原理
- 一兆宽带服务器搭建网站,云服务器宽带只有一兆
- 计算机房清洁安排表怎么做,机房总安排表.doc
- CVPR 2018视频行为识别挑战赛概览
- Axure RP 8.1.0.3377 for Mac
- Previous writer likely failed to write hdfs://hadoop001:8020/tmp/hive/root/_tez...... Failing becaus
- poi读取百万级数据
- Numpy中的.mean()和mean的区别
- 浅析计算机专业英语的论文,浅析计算机专业英语的特点
- Python最详细的Excel操作方式,你值得拥有!