Skip to content

基本百度LAC项目的PHP中文智能分词库

Notifications You must be signed in to change notification settings

bullsoft/ffi-lac

This branch is 2 commits behind TianLiangZhou/ffi-lac:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

09833f1 · Dec 6, 2021

History

14 Commits
Apr 19, 2021
Apr 21, 2021
Jul 8, 2021
Apr 25, 2021
Apr 21, 2021
Jul 8, 2021
Apr 25, 2021
Dec 6, 2021
Apr 18, 2021
Apr 18, 2021
Apr 21, 2021

Repository files navigation

ffi-lac

ffi-lac是一个PHP高性能智能中文分词库,基于百度开源的lac 项目,使用C++导出C函数构建动态链接库来给php调用。 项目中大部分源码都可以从 https://github.com/baidu/lac 找到。

环境

需要php >= 7.4 以上的版本并且开启了FFI扩展。

还需要设置php.ini 中的ffi.enableOn

项目依赖: paddle预测库(点击去下载 ),预测模型库(点击去下载 )。

需要为预测库建立软链。

[meshell@/] ln -s paddle_inference/paddle/lib/libpaddle_inference.so libpaddle_inference.so
[meshell@/] ln -s paddle_inference/third_party/install/mklml/lib/libmklml_intel.so libmklml_intel.so
[meshell@/] ln -s paddle_inference/third_party/install/mklml/lib/libiomp5.so libiomp5.so
[meshell@/] ln -s paddle_inference/third_party/install/mkldnn/lib/libmkldnn.so.0 libdnnl.so.2

该目录不支持window环境,如果你需要请自行编译。

Usage

<?php

include __DIR__ . '/../src/LAC.php';

$dictDir = ""; // 默认库根目录下的model/lac_model

$lac = \FastFFI\LAC\LAC::new($dictDir);

var_dump(
    $lac->parse("LAC智能中文分词库")
);

以上程序执行后的结果:

array(2) {
  ["words"]=>
  string(29) "LAC 智能 中文 分 词库 "
  ["tags"]=>
  string(11) "nz n n v n "
}

结果分别为词和标签都是以空格分隔。

以下是标签含义:

标签 含义 标签 含义 标签 含义 标签 含义
n 普通名词 f 方位名词 s 处所名词 nw 作品名
nz 其他专名 v 普通动词 vd 动副词 vn 名动词
a 形容词 ad 副形词 an 名形词 d 副词
m 数量词 q 量词 r 代词 p 介词
c 连词 u 助词 xc 其他虚词 w 标点符号
PER 人名 LOC 地名 ORG 机构名 TIME 时间

权重定义:

标签 含义 常见于词性
0 query中表述的冗余词 p, w, xc ...
1 query中限定较弱的词 r, c, u ...
2 query中强限定的词 n, s, v ...
3 query中的核心词 nz, nw, LOC ...

在线转换

About

基本百度LAC项目的PHP中文智能分词库

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 78.5%
  • CMake 11.5%
  • PHP 7.1%
  • C 2.9%