基于机器学习和客户机-服务器结构的文本分类引擎

opentc的Python项目详细描述


opentc是一个使用机器学习的文本分类引擎。它是 设计为客户机-服务器体系结构并使用python库 机器学习算法的scikit学习和tensorflow。 目前支持以下算法:

  • 天真的贝耶斯
  • 支持向量机
  • 卷积神经网络

未来它还将支持FaceBookResearch的FastText。

引擎作为服务器运行,监听 分类的。默认情况下,它监听本地主机端口3333,但它可以 在yaml配置文件中更改。

opentc可以用于文本分类(一个演示网站 为此目的,可在线获得OpenTC demo),或用于其他目的,如 作为数据泄漏预防(DLP)。dlp的实现示例 已创建为icap服务器: opentc-icap

要求

  • python 3.x
  • 努比
  • 解析
  • 皮亚姆
  • SCIKIT学习
  • scipy
  • Tensorflow 1.x

如何使用

安装

使用pip安装模块:

$ pip install opentc

或者克隆存储库

$ git clone https://github.com/cahya-wirawan/opentc.git
$ cd opentc
$ python setup.py install

opentc

概要

opentc

说明

基于数据集定义的训练应用程序的命令行 在配置文件中。培训结果(预培训数据) 可用于OpenTCD服务器。

用法

$ python opentc -h
usage: opentc [-h] [-c CLASSIFIER] [-C CONFIGURATION_FILE] [-d DATASET]
              [-l LOG_CONFIGURATION_FILE]

optional arguments:
  -h, --help            show this help message and exit
  -c CLASSIFIER, --classifier CLASSIFIER
                        set classifier to use for the training (support
                        currently bayesian, svm or cnn)
  -C CONFIGURATION_FILE, --configuration_file CONFIGURATION_FILE
                        set the configuration file
  -d DATASET, --dataset DATASET
                        set dataset to use for the training
  -l LOG_CONFIGURATION_FILE, --log_configuration_file LOG_CONFIGURATION_FILE
                        set the log configuration file

打开tcd

概要

打开TCD

说明

守护进程侦听TCP端口上的传入连接(默认为 3333)并根据需要对文件或文本字符串进行分类。上面写着 配置文件的顺序如下:./opentc.yml, ~/.opentc/opentc.yml或/etc/opentc/opentc.yml。

用法

opentcd使用配置文件opentc.yml来定义所有 可能的配置。在命令行中只能覆盖少数设置 选项。

参数列表:

$ python opentcd -h
usage: opentcd [-h] [-a ADDRESS] [-C CONFIGURATION_FILE]
               [-l LOG_CONFIGURATION_FILE] [-p PORT] [-t TIMEOUT]

optional arguments:
  -h, --help            show this help message and exit
  -a ADDRESS, --address ADDRESS
                        define the address for the server
  -C CONFIGURATION_FILE, --configuration_file CONFIGURATION_FILE
                        set the configuration file
  -l LOG_CONFIGURATION_FILE, --log_configuration_file LOG_CONFIGURATION_FILE
                        set the log configuration file
  -p PORT, --port PORT  define the port number which the server uses to listen
  -t TIMEOUT, --timeout TIMEOUT
                        define the time out

作为后台应用程序运行:

$ python opentcd&
2017-05-02 13:33:22,276 - opentc.core.classifier.cnn_text - DEBUG - Load the checkpoint:
data/input/cnn_twenty_newsgroup_20170301_090000-all/checkpoints/model-2210
INFO:tensorflow:Restoring parameters from data/input/cnn_twenty_newsgroup_20170301_090000-all/checkpoints/model-2210
2017-05-02 13:33:23,899 - tensorflow - INFO - Restoring parameters
from data/input/cnn_twenty_newsgroup_20170301_090000-all/checkpoints/model-2210
2017-05-02 13:33:27,375 - __main__ - INFO - Server start
2017-05-02 13:33:28,019 - opentc.core.server - INFO - Server loop running in thread: Thread-1

数据集和预训练数据

配置文件定义数据集的路径并预先训练 数据。用于测试的预先培训数据可从 data,大约是1.4gb。只是 解压并在opentc.yml中更改预训练数据的路径 相应地归档。

命令

该命令使用换行符作为分隔符。如果打开TCD 无法识别该命令,或者该命令不遵循 下面指定的要求,它将以错误消息答复,但是 仍然等待下一个命令(此行为可以在 未来)。

检查服务器的状态。它应该用“pong”来回答。

版本

打印程序版本

重新加载

重新加载发动机

列表分类器

列出支持的分类器(目前有三个 支持的分类器:贝叶斯、支持向量机和 卷积神经网络)。它还显示了分类器的状态, true(已启用)或false(已禁用)。

设置分类器

启用或禁用特定分类器

预测流量

对文本流进行分类。它使用新行字符作为 每句话。

预测文件

分类文件。它使用一个新行字符作为 句子

关闭

关闭连接

待办事项

  • 多标签分类
  • 包括FaceBookReseat中的FastTextrch
  • 将使用pyzmq和google的protobuf来改进协议和 网络通信

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓中的java标签长点击问题   JavaSpringMVC多行表单提交提交新的ModelAttribute   程序来查找java程序中的方法数   在JSF中自动选择java下拉列表   java onNext为ArrayList的每个元素触发,而不是使用RXJava触发一次   为什么java不允许创建内部类的实例?   JavaJSF<p:calendar>小部件在选择不同月份时不会刷新   java如何限制JFileChooser只允许选择特定数量的文件?   java ANT build无法识别geckodriver可执行文件“驱动程序可执行文件不存在”   java TextView空指针异常   java试图在安卓中传递参数   如何将XML配置转换为Java   java支持使用JAXRPC的soap服务,但pom中没有定义它。xml   在Java中检查整个ArrayList