单行道 发表于 2019-6-4 10:22:03

Discuz 分词接口失效后的解决办法 - 百度文章标签api生成tag

什么是文章标签?
  文章标签是由文章作者自定义的关键词,它比文章分类更细致、更具体,可以概括出文章的主要内容。比如,你写是虚拟主机方面的文章,那你的文章的标签就可以设置为虚拟主机、美国主机、虚拟主机优惠等多样化的标签关键词。有了这些标签关键词,你的文章才会更容易被用户搜索到。这也是我们之所以重视文章标签的使用的重要原因了。


Discuz 在之前是可以自动分词获取标签的,用起来很方便,但是自从新版程序发布之后,分词系统无法自动获取标签
https://ws1.sinaimg.cn/large/006z6B7zly1fvyji48ezbj30gq02rt8r.jpg

这两天放假,没事就看了看接口,查阅比较了下,最终选择百度自然语言处理接口,这个是免费使用的,我们先来分析下原分词系统代码【/source/module/forum/forum_relatekw.php】
https://ws1.sinaimg.cn/large/006z6B7zly1fvyjnw14cdj31kw29i7lc.jpg

可以看出 Discuz 分词系统是将文章标题、内容传给 "http://keyword.discuz.com/related_kw.html" 这个接口,返回的是 XML 格式数据,然后解析处理之后保存到 $kws 这个数组里,至于后边的处理,就不重要了,我们只需要找一个 api 来替换原接口,能正常得到分词数据就可以了

翻遍了网上各种分词接口,最终选定了百度自然语言处理接口里的文章标签api,文档地址:https://tu.poxiaobbs.com/icon/ai.baidu.com.pnghttp://ai.baidu.com/docs#/NLP-API/a1dae901使用免费

按照文档要求,我们得首先去拿到 AK 和 SK,下载 PHP SDK,这点不啰嗦了

做好准备工作之后我们按照文档接口将标题和内容提交到百度 api 即可,返回得是数组,如图
https://ws1.sinaimg.cn/large/006z6B7zly1fvyjzucyquj31060k5dht.jpg

https://ws1.sinaimg.cn/large/006z6B7zly1fvyk0h9uouj309d0ktt9h.jpg

这样我们只需要将返回得 tag 整理到 $kws 这个参数里即可,具体代码如图

完美主义 发表于 2021-4-8 16:15:00

看不懂啊
页: [1]
查看完整版本: Discuz 分词接口失效后的解决办法 - 百度文章标签api生成tag