在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版本相关推荐

  1. 简单有效的多标准中文分词详解

    简单有效的多标准中文分词详解 本文介绍一种简洁优雅的多标准中文分词方案,可联合多个不同标准的语料库训练单个模型,同时输出多标准的分词结果.通过不同语料库之间的迁移学习提升模型的性能,在10个语料库上的 ...

  2. 简易中文分词算法(python)_自然语言处理(NLP)中的的中文分词算法及 Python 实现...

    本 Chat 首先简单介绍了自然语言处理中中文分词的概念和应用场景.然后通过两个简单的小例子展示了算法的步骤.接着编写了 Python 代码,并在<红楼梦>上做了测试.最后,总结了我在写代 ...

  3. python 分词工具训练_中文分词入门和分词工具汇总攻略

    [注意]如果寻找分词和文本分析软件,为了完成内容分析和其他文本研究任务,直接使用集搜客分词和文本分析软件就可以了.本文是为了讲解集搜客分词和文本分析的实现原理,是给产品设计者和开发者看的. 最近在整理 ...

  4. 基于条件随机场模型的中文分词改进(Python中文分词)

    目录 改进分词速度 一.更改存储特征值的数据结构 二.缩短对语料库的遍历时间(对语料库的预处理) 三.先将所有的特征值保存到数据库中 改进分词的准确度 实验项目和结果截图 实验项目 保存特征值时采用多 ...

  5. Lucene分词器,使用中文分词器,扩展词库,停用词

    2019独角兽企业重金招聘Python工程师标准>>> Lucene分词器,使用中文分词器,扩展词库,停用词 博客分类: 搜索引擎,爬虫 停止词:lucene的停止词是无功能意义的词 ...

  6. 分词器以及ik中文分词器

    文章目录 分词器以及ik中文分词器 概念 ik分词器的安装 环境准备 设置jdk环境变量 下载maven安装包并解压 设置path 验证maven是否安装成功 下载IK分词器并安装 使用IK分词器 查 ...

  7. python 分词工具训练_Python中文分词工具大合集:安装、使用和测试

    这篇文章事实上整合了前面两篇文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考. 首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AI ...

  8. python中文分词统计_python 实现中文分词统计

    总是看到别人用Python搞各种统计,前端菜鸟的我也来尝试了一把.有各种语义分析库在,一切好像并不是很复杂.不过Python刚开始看,估计代码有点丑. 一.两种中文分词开发包 thulac (http ...

  9. 中文分词算法python_python实现中文分词FMM算法实例

    本文实例讲述了python实现中文分词FMM算法.分享给大家供大家参考.具体分析如下: FMM算法的最简单思想是使用贪心算法向前找n个,如果这n个组成的词在词典中出现,就ok,如果没有出现,那么找n- ...

最新文章

  1. 抢领英饭碗?Facebook测试简历功能
  2. 【原创】C#中的抽象类(abstract class)和接口(interface)的比较
  3. Java逆向工程SpringBoot + Mybatis Generator + MySQL
  4. 【毕设】知网文献检索列表中的 href 解析为可访问的 URL
  5. 在MATLAB绘制三角形区域上的二元函数图像
  6. 关于 Windows 设置tomcat开机自动启动
  7. python泰坦尼克号生存预测论文_Kaggle 泰坦尼克号生存预测--8%(Python)
  8. print的常用写法(python)
  9. 有没有免费的数据恢复软件,easyrecovery中文版
  10. 小米进入发展关键期,雷军为5G而战
  11. NTP时间戳和UTC时间戳互转及其原理
  12. 一兆宽带服务器搭建网站,云服务器宽带只有一兆
  13. 计算机房清洁安排表怎么做,机房总安排表.doc
  14. CVPR 2018视频行为识别挑战赛概览
  15. Axure RP 8.1.0.3377 for Mac
  16. Previous writer likely failed to write hdfs://hadoop001:8020/tmp/hive/root/_tez...... Failing becaus
  17. poi读取百万级数据
  18. Numpy中的.mean()和mean的区别
  19. 浅析计算机专业英语的论文,浅析计算机专业英语的特点
  20. Python最详细的Excel操作方式,你值得拥有!

热门文章

  1. C++位运算详解(转)
  2. Java中的equals学习小结
  3. Apache Maven 2 简介
  4. 为什么需要IP地址?—Vecloud微云
  5. WEB-INF目录下登录表单提交的重定向
  6. centos6.5配置linux dhcp
  7. struct2 开发环境搭建 问题
  8. css实现文字在横线上居中
  9. java算法之冒泡排序法
  10. shop--10.店铺列表(前端)