最近在开发一个文章模块功能,设计那边提出要给文章生成对应标签,用于文章关联推送,这里和大家分享一下实现过程;

这里需要用到PHPAnalysis,下载链接如下

链接:https://pan.baidu.com/s/1GBbAn-LGcNeOgeV62XSUeg
提取码:xzmx

提取关键字方法如下:

<?php
/**
* 关键字提取方法
*
* @param $title string
* 进行分词的标题
* @param $content string
* 进行分词的内容
* @return array 得到的关键词数组
*/ function getKeywords($title = "", $content = "") {
if (empty ( $title )) {
return array ();
}
if (empty ( $content )) {
return array ();
}
$data = $title . $title . $title . $content; // 为了增加title的权重,这里连接3次 //这个地方写上phpanalysis对应放置路径
require_once './phpanalysis/phpanalysis.class.php'; PhpAnalysis::$loadInit = false; //初始化类时是否直接加载词典,选是载入速度较慢,但解析较快;选否载入较快,但解析较慢
$pa = new PhpAnalysis ( 'utf-8', 'utf-8', false ); $pa->LoadDict (); //载入词典
$pa->SetSource ( $data ); //设置源字符串
$pa->StartAnalysis ( true ); //是否对结果进行优化 $tags = $pa->GetFinallyKeywords (4); // 获取文章中的五个关键字 $tagsArr = explode (",",$tags);
return $tagsArr;//返回关键字数组
}

下面模拟一组数据验证一下其可行性和准确度;

$title = "最前线丨科技股领跌美股大盘,是否预示着下一轮的经济风暴?";
$content = " 科技股加速下跌,“危机”或许刚刚开始。 周三,美国股市遭遇重挫,纳指收盘大跌逾4%,道指跌超800点。截止收盘,纳斯达克指数大跌4.08%,报7422.05点,创7月3日以来最低,标普500指数下跌3.29%,创2月以来最大跌幅,道琼斯指数下跌3.15%,报25598.74点,创8月16日以来最低。 美股年内表现最好的科技股也普遍跳水,亚马逊跌超6%,单日市值蒸发超500亿美元,苹果、谷歌、Facebook均跌逾4%,奈飞跌超8%。中概股也未能幸免,京东、百度均跌超3%,流利说收跌14.99%,拼多多收跌9%,阿里巴巴收跌5.89%,在最近5个交易日中,阿里巴巴累计跌掉了15%,已经创下2014年纽约上市以来最大5天跌幅。 这轮暴跌早有信号,此前三天内,美股“恐慌指数”VIX大幅增长至58%,隔夜大涨近28%。一般而言,股市上涨时VIX指数倾向于下跌。而市场利空消息或许是美股隔夜巨震的重要原因。 9月26日美联储货币政策公布,决定今年第三次加息25个基点。美联储主席鲍威尔一周内两度公开表态渐进式加息,他认为美国经济表现“相当正面”,没有理由不认为当前的经济扩张“可以延续相当一段时间”。 一边是美联储坚定的加息立场,一边是特朗普的连番指责。周三美股收盘后,特朗普指责美联储“已经疯了”,表示不同意联储现在的行动,等待矫正,并期待已久。 本月9日,国际货币基金组织(IMF)发布最新一期《世界经济展望》报告,下调今明两年世界经济增速至3.7%,这低于7月预测的3.9%。IMF还将2019年美国经济预期增长率由2.7%下调至2.5%,原因之一是美国加征关税措施正在逐步落实,导致全球的贸易摩擦不断升级,《报告》就此发出警告并呼吁各经济体系共同努力,维护世界经济增长。 这一系列的举措和警示已经落实在美国股市,美股在周三大跌之前已经出现疲软,进入9月就有微跌,这次的大跌让美股短期内不被看好板上钉钉。而对于科技股首当其冲领跌大盘的原因,还得结合市场环境和企业自身来看。 今年以来科技巨头在美股市场表现强劲,Netflix涨幅达70%左右,亚马逊股价累计上涨50%,苹果也攀升了近30%。“科技股在2018年迄今已获得巨大涨幅,这意味着其价格有点稍贵,因此很自然会出现回调。此外,科技股都是些面临大量国际风险敞口的跨国公司股票。他们的很大一部分利润来自海外市场,很容易受到国际贸易形势的影响。”E-Trade Financial公司高级副总裁Chris Larkin在上个月就做出预测。 而连日来,部分科技股各自也是烦恼不断,苹果iPhone XS销量不如预期,谷歌母公司盈利不佳,亚马逊将员工最低时薪提升至15美元,塞德勒给客户的研报中称这一举动会给亚马逊第四季度新增3.1亿美元的成本。 股价回调、国际贸易摩擦、企业发展现状及战略等因素致使科技股被同步抛售。以目前美股释放出的信号来看,科技股在大跌中进入了回调期,自然免不了要经历一段暗黑时光,陪跑的还有全球股市。 从数据来看,欧洲三大股指已经集体大跌,英国富时100指数收跌1.27%,法国CAC40指数跌2.11%,德国DAX指数跌2.21%。亚太市场受到强力波及,今日开盘均大跌,日经225指数跌3.1%,跌破22800关口,韩国首尔综指开盘跌2.35%,A股市场大幅低开,沪指盘中跌破“熔断底”,香港恒生指数低开3.1%,下破26000点,创15个月新低。 苏宁金融研究院特约研究员江瀚表示,美国的十年大牛市可能已经处于强弩之末,在这样的情况下,一旦美国股市出现大规模问题,必然会引发其他地区股市的病毒式爆发,这将会引发全球市场的担忧。";
echo "<pre>";
var_dump(getKeywords($title,$content));die;

上面内容提取出来的五个关键字如下:

个人认为提取出来的这五个关键字和文章内容是非常的相符的;

希望对您有帮助,谢谢!

phpanalysis提取关键字的更多相关文章

  1. python正则提取关键字

    python使用正则表达式提取关键字 import sys reload(sys) sys.setdefaultencoding("utf-8") import re ss = & ...

  2. jmeter使用正则表达式从上一个http响应数据里提取关键字传递给下一个http请求(二)

    通过jmeter从表格批量读取数据(一)(http://www.cnblogs.com/lelexiong/p/8728993.html)介绍了从表格批量读取数据,读取数据之后,如果要提取响应数据里面 ...

  3. Python 结巴分词(2)关键字提取

    提取关键字的文章是,小说完美世界的前十章: 我事先把前十章合并到了一个文件中: 然后直接调用关键字函数: import sys sys.path.append('../') import jieba ...

  4. 关键字提取算法TF-IDF和TextRank(python3)————实现TF-IDF并jieba中的TF-IDF对比,使用jieba中的实现TextRank

    关键词:    TF-IDF实现.TextRank.jieba.关键词提取数据来源:    语料数据来自搜狐新闻2012年6月—7月期间国内,国际,体育,社会,娱乐等18个频道的新闻数据    数据处 ...

  5. 10月30日下午 PHP精确查询(模糊查询、模糊+关键字共同查询)

    1.一个条件的模糊查询 <body> <br /> <form action="main.php" method="post"&g ...

  6. 关键词提取1-C#

    C# 中文分词算法(实现从文章中提取关键字算法) using System;using System.IO;using System.Text;using System.Collections;usi ...

  7. 使用Perl提取Excel中的IO_MUX

    使用Perl提取Excel中的IO_MUX 关键问题 提取数据 格式化输出 循环嵌套 数据结构构建 坐标映射,逆向提取关键字 描述 在IC集成中,我们使用Excel表格规划设计的IC引脚功能映射需要转 ...

  8. C# 制作关键字醒目显示控件

    实现方式:WinForm自定义控件,继承系统Label控件实现. 第1步:创建“组件”,取名为:MarkLabel     第2步:修改添加如下代码: /* 添加命名空间引用: * using Sys ...

  9. 使用NLP从文章中自动提取关键字

    背景 在研究和新闻文章中,关键词构成了一个重要的组成部分,因为它们提供了文章内容的简洁表示.关键词在从信息检索系统,书目数据库和搜索引擎优化中定位文章方面也起着至关重要的作用.关键词还有助于将文章分类 ...

随机推荐

  1. 新建oracle实例

    1.安装好ORACLE服务端.2.在开始菜单中,点击ORAHOME目录下的"Configuration and Migration Tools"下的"Database C ...

  2. 设计模式——Spirng_Bean工厂

    前言:对于简单工厂和抽象工厂都有自己的优点和缺点, 比如简单工厂,如果你需要实现的类过多,你最后会出现工厂泛滥的情况,没有有效的控制代码的可重复性.http://www.cnblogs.com/xia ...

  3. ASP.NET Core MVC如何上传文件及处理大文件上传

    用文件模型绑定接口:IFormFile (小文件上传) 当你使用IFormFile接口来上传文件的时候,一定要注意,IFormFile会将一个Http请求中的所有文件都读取到服务器内存后,才会触发AS ...

  4. 一站式学习Redis 从入门到高可用分布式实践

    1:redis 是用c语言来实现的,速度快 持久化 单线程 复杂的数据类型有bitmap和hyperloglog和geo地理信息2:高可用.分布式 v2.8开始支持Redis-Sentinel(哨兵) ...

  5. 竞赛题解 - [CF 1080D]Olya and magical square

    Olya and magical square - 竞赛题解 借鉴了一下神犇tly的博客QwQ(还是打一下广告) 终于弄懂了 Codeforces 传送门 『题目』(直接上翻译了) 给一个边长为 \( ...

  6. 【读书笔记 - Effective Java】02. 遇到多个构造器参数时要考虑用构建器

    类有多个可选参数的解决方案: 1. 重叠构造器模式可行,但是当有许多参数的时候,客户端代码会很难编写,并且仍然较难以阅读. 2. JavaBeans模式,调用一个无参构造器来创造对象,然后调用sett ...

  7. Maven安装配置环境变量及eclipse的配置

    Maven安装与配置   一.需要准备的东西 1. JDK 2. Eclipse 3. Maven程序包 二.下载与安装 1. 前往https://maven.apache.org/download. ...

  8. 【laravel】passport的scope作用域

    1.根据作用域生成token $user->createToken($request->name,['test1'])->accessToken; 2.注册中间件 'scopes' ...

  9. C语言之二叉树

    规定:根节点的值大于左节点但小于右节点的值,所以二叉树的值插入是唯一的,最后形成的树只跟根节点有关 定义节点: struct tree_node {      TypeElem  elem; stru ...

  10. Python学习手册之数据封装、类方法、静态方法和属性函数

    在上一篇文章中,我们介绍了 Python 的内部方法.操作符重载和对象生命周期,现在我们介绍 Python 的数据封装.类方法.静态方法和属性函数.查看上一篇文章请点击:https://www.cnb ...