This action will force synchronization from Jason/language-ai, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
文章AI伪原创,文章自动生成,NLP,自然语言技术处理,DNN语言模型,词义相似度分析。全网首个AI伪原创开源应用类项目。 立即体验
JDK1.8
, maven3.6+
, redis
application.yml
中配置百度AI的相关信息
baidu:
appid: 你的app_id
appkey: 你的app_key
secret: 你的app_secret
如何获取? 输入https://ai.baidu.com/tech/nlp_basic
, 点击立即使用, 根据提示一步一步完成即可获得。
有免费调用额度, 对于个人而言已经够了。
3.启动项目, 前端页面访问 http://localhost:8080/ai
,swagger文档访问http://localhost:8080/ai/doc.html
http://localhost:8080/ai/command/initRedis
初始化redis即可。该操作会将库清空再初始化,请悉知请求参数格式如下:
{
"appName": "",
"params": {
"password": "你的用户名",
"username": "你的密码"
},
"sign": "",
"timestamp": "",
"version": ""
}
也可直接使用swagger执行接口初始化
测试版本未作校验, 所有参数默认为空即可。
【词义分析】
【词义相似度计算】
【DNN语言模型计算】
【AI伪原创】
【首页】
【BootstrapSwaggerUI在线文档】
language-ai
|- src/main
| |- java java源码所在目录
| |- com.chenxin
| |- auth 百度AI授权认证模块
| |- base 基础公共抽象模块
| |- config 项目所有自定义配置模块
| |- controller 这个不用多说
| |- exception 全局异常与自定义一次模块
| |- model 项目所有使用的数据模型, dto,vo,bo等
| |- service 业务模块
| |- util 工具模块
| |- auth 授权认证模块
| |- consts 常量类
| |- http http相关
| |- nlp NLP同义词库加载工具
| |- system 系统相关
| |- CommonEnum.java 统一信息处理枚举类
|
| |- AiApplication.java 主启动类
|
|- src/test/java
|- com.chenxin 相关测试代码, 经验证, 若idea版本太低将会导致该单元测试无法使用
其他自行查看源码, 不一一概述
想要更加精确的计算与替换, 就需要一个很精准庞大的词库, 这个词库大家可以自己慢慢的补充完整 只需要将词库添加进文件
resource/res/word.txt
, 按照格式进行添加即可, 然后调用初始化redis接口即可。 初始化redis接口/ai/command/initRedis
这个大家无需担心, 作者在此方面做了大量优化。 相同键值Key的词组,将会全部存储至redis中,以Key0,Key1的形式存储, 查询时, 会将所有相同Key的词组全部找出, 并进行去重, 然后在进行其他操作, 计算词义相似度等等。相同的Key,为了提升 查询效率, 默认取相同Key的前20组!
本项目集成多个NLP优秀项目, 搭配使用。 分词使用百度AI 自然语言处理技术中的词义分析技术, 词义相似度 使用HanLP项目计算同义词距离!
HanLP是一系列模型与算法组成的NLP工具包,目标是普及自然语言处理在生产环境中的应用。
本项目的页面只是简单作为测试, 后续会打造一个完整的产品网站。
- Q: 当文本长度稍微大一点的时候,文本变脸就变得十分缓慢, 因为这涉及到将几万的词库加载到内存然后进行词义距离计算
- A:这时候加载词库比对的思路,明显已经不适用了。因此采用高性能的redis数据库,进行词库的存储与读取,极大的提升了同义词的查找效率
- 优点 同义词精确匹配, 替换性能提升十几倍
- Q:只能有一组同义词, 例如 安分守己 - 循规蹈矩 和 循规蹈矩 - 安分守己。那 安分守己 - 诚实本分就添加不进词库。 初版先牺牲词库丰富性而达到高性能
- A: 现在已优化, 自动给同名键增加后缀, 后使用redis模糊查询进行匹配 (真正的性能和效率并存)
- Q:当文本过长,百度AI接口会抛出异常
- A:用户端或者服务端做好文本切片的操作
- Q: 当用户直接输入文章, 几千字如何处理?
- A: 根据文本大小进行切片, 采用异步多线程处理, 提升程序性能
- Q: 直接粘贴文章进行AI伪原创可能会报json注入异常
- A: 建议去掉空格, 回车等。或者换成转义字符。
为什么会使用多个NLP项目, 原因是因为最初是想使用百度AI将整个项目完成。 但由于百度自然语言处理API 对于普通用户调用有次数限制, 超量需要收费, 因此数据量比较大的处理将给了HanLP项目处理。将数据量较小 的分词交给百度AI处理。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。