语料库准备(JAVA)

项目环境:JDK1.8,Maven3.39,IDEA
项目仓库:Github地址
目前数据库表结构:

语料库准备(JAVA)_第1张图片
表结构

t_corpus_base:基础预料表,存储所有的会话,目前为创建普通索引,完整匹配(select * from t_corpus_base where content = '你好' limit 1)。在后续文章中会修改为%匹配,到时候再做全文检索。

base 类型 注释 索引
id int id PRIMIRY
content varchar(300) 内容 varchar(150)

t_corpus_tree:对应表,qid为会话开始ID,aid为该句话对应的回答或者下一个用户可能的问题,后续会做一些表结构的调整。暂时够基础功能使用。

tree 类型 注释 索引
id int id PRIMIRY
qid int 会话开始ID int
aid int 会话下一个ID int

t_corpus_butt:在tree中没有查到的内容,暂时放到这里,用于接下来的学习。表结构后续会发生大的变化,当前仅做存储未查询到的会话。

butt 类型 注释 索引
id int id PRIMIRY
qid int 会话开始ID int

表设计请遵循单一功能原则

maven 依赖库与模块划分(够支持当前所需,后续有需求再增加):

    
        model
        dao
        service
        common
        web
    

    
        4.3.5.RELEASE
        3.4.1
        1.3.1
        6.0.6
    

    
        
        
            org.springframework
            spring-core
            ${spring.version}
            
                
                    commons-logging
                    commons-logging
                
            
        
        
            org.springframework
            spring-web
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        
        
            org.springframework
            spring-tx
            ${spring.version}
        
        
            org.springframework
            spring-aspects
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        

        
        
            org.springframework.data
            spring-data-redis
            1.6.0.RELEASE
        
        
            redis.clients
            jedis
            2.7.3
        
        

        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        
        
            org.mybatis
            mybatis-spring
            ${mybatis-spring.version}
        

        
        
            mysql
            mysql-connector-java
            ${mysql.version}
        

        
        
            com.alibaba
            druid
            1.0.29
        

        
        
            junit
            junit
            4.11
            test
        

        
        
            org.codehaus.jackson
            jackson-mapper-asl
            1.9.13
        
        
            org.codehaus.jackson
            jackson-core-asl
            1.9.13
        

        
        
            com.alibaba
            fastjson
            1.2.34
        

        
        
            org.slf4j
            jcl-over-slf4j
            1.7.20
        
        
            ch.qos.logback
            logback-classic
            1.1.7
        

        
        
            jstl
            jstl
            1.2
        
        
            taglibs
            standard
            1.1.2
        

        
        
            edu.stanford.nlp
            stanford-corenlp
            3.8.0
        
        
            edu.stanford.nlp
            stanford-corenlp
            3.8.0
            models
        
        
            edu.stanford.nlp
            stanford-corenlp
            3.8.0
            models-chinese
        
    

    
        smart
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.3
                
                    1.8
                    1.8
                
            
            
                org.eclipse.jetty
                jetty-maven-plugin
                9.2.1.v20140609
                
                    
                        9441
                    
                    2
                
            
        
    

jdbc.properties(注意URL后边的参数):

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/smart-butt?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
jdbc.username=
jdbc.password=

Maven 基于idea的多模块项目搭建

有太多的文章都是授之鱼而非渔。准备 IDEA,MAVEN 和 JDK的环境

  1. JDK下载安装与配置,MAVEN下载安装与配置,IDEA下载与破解
  2. 打开IDEA,新建maven项目


    语料库准备(JAVA)_第2张图片
    img_1.png

    语料库准备(JAVA)_第3张图片
    img_2.png

    语料库准备(JAVA)_第4张图片
    img_3.png

    语料库准备(JAVA)_第5张图片
    img_4.png

下面开始新建模块:

语料库准备(JAVA)_第6张图片
img_5.png

语料库准备(JAVA)_第7张图片
img_6.png

语料库准备(JAVA)_第8张图片
img_7.png

语料库准备(JAVA)_第9张图片
img_8.png

这里做第一个示例,接下来同样的步骤创建完 service, model, dao(注意不要创建web)。此时的项目结构是:


语料库准备(JAVA)_第10张图片
img_9.png

web 有些特殊,是这样创建的:
语料库准备(JAVA)_第11张图片
img_10.png

一直Next到底就好了。

接下来我们开始配置模块的依赖关系:

web:common, service, model
service: common, model, dao
dao: model

Mac 下使用 command + ; 打开项目架构先进行dao 的依赖配置

语料库准备(JAVA)_第12张图片
img_11.png

语料库准备(JAVA)_第13张图片
img_12.png

接下来自己按照上边所说的依赖关系挨个进行设置,应用,确定即可。

但是这并不是结束了,因为我们是maven的多模块项目,所以还应当按照我们配置的依赖在每个模块的pom中配置依赖的模块(我这里使用web模块为示例):


语料库准备(JAVA)_第14张图片
img_15.png

其余的模块大家自己配置。


接下来引入我们所需要的库,为了方便,我们引入到最外层的Pom文件中:

语料库准备(JAVA)_第15张图片
img_13.png

将文章开头的需要的库包括插件粘贴进去即可,maven将会自动导入,这个地方如果之前没有下载过可能会很慢。为了方便我们管理,我们打开右侧的maven选项,如果没有,点击左下角按钮打开:

语料库准备(JAVA)_第16张图片
img_14.png

这里因为我们是多模块项目,所以在修改了依赖中的内容之后,一定要在最外层进行cleaninstall(或者 compile),保证全部的模块都重新的编译。

语料库准备(JAVA)_第17张图片
img_16.png

接下来,我们去web模块中配置spring,servlet,jdbc,log等内容

语料库准备(JAVA)_第18张图片
img_17.png

我们发现没有java文件夹,所以直接右键创建一个,然后在项目结构中将其指定为源码类型的文件夹。


语料库准备(JAVA)_第19张图片
img_18.png

接下来就是里边的spring等配置了,这些大家直接去仓库看吧,基本都相同。至此,我们大致的将语料库的架子搭建了起来。

你可能感兴趣的:(语料库准备(JAVA))