• Stars
    star
    443
  • Rank 94,781 (Top 2 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Opensource Korean chatbot framework

Kochat

PyPI version GitHub

introduction_kochat



  • 챗봇 λΉŒλ”λŠ” 성에 μ•ˆμ°¨κ³ , μžμ‹ λ§Œμ˜ λ”₯λŸ¬λ‹ 챗봇 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“œμ‹œκ³  μ‹ΆμœΌμ‹ κ°€μš”?
  • Kochat을 μ΄μš©ν•˜λ©΄ μ†μ‰½κ²Œ μžμ‹ λ§Œμ˜ λ”₯λŸ¬λ‹ 챗봇 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λΉŒλ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
# 1. 데이터셋 객체 생성
dataset = Dataset(ood=True)

# 2. μž„λ² λ”© ν”„λ‘œμ„Έμ„œ 생성
emb = GensimEmbedder(model=embed.FastText())

# 3. μ˜λ„(Intent) λΆ„λ₯˜κΈ° 생성
clf = DistanceClassifier(
    model=intent.CNN(dataset.intent_dict),                  
    loss=CenterLoss(dataset.intent_dict)                    
)

# 4. 개체λͺ…(Named Entity) 인식기 생성                                                     
rcn = EntityRecognizer(
    model=entity.LSTM(dataset.entity_dict),
    loss=CRFLoss(dataset.entity_dict)
)

# 5. λ”₯λŸ¬λ‹ 챗봇 RESTful API ν•™μŠ΅ & λΉŒλ“œ
kochat = KochatApi(
    dataset=dataset, 
    embed_processor=(emb, True), 
    intent_classifier=(clf, True),
    entity_recognizer=(rcn, True), 
    scenarios=[
        weather, dust, travel, restaurant
    ]
)

# 6. View μ†ŒμŠ€νŒŒμΌκ³Ό μ—°κ²°                                                                                                        
@kochat.app.route('/')
def index():
    return render_template("index.html")

# 7. 챗봇 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ 가동                                                          
if __name__ == '__main__':
    kochat.app.template_folder = kochat.root_dir + 'templates'
    kochat.app.static_folder = kochat.root_dir + 'static'
    kochat.app.run(port=8080, host='0.0.0.0')



Why Kochat?

  • ν•œκ΅­μ–΄λ₯Ό μ§€μ›ν•˜λŠ” 졜초의 μ˜€ν”ˆμ†ŒμŠ€ λ”₯λŸ¬λ‹ 챗봇 ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€. (λΉŒλ”μ™€λŠ” λ‹€λ¦…λ‹ˆλ‹€.)
  • λ‹€μ–‘ν•œ Pre built-in λͺ¨λΈκ³Ό Lossν•¨μˆ˜λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. NLPλ₯Ό 잘 λͺ°λΌλ„ 챗봇을 λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μžμ‹ λ§Œμ˜ μ»€μŠ€ν…€ λͺ¨λΈ, Lossν•¨μˆ˜λ₯Ό μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. NLP 전문가에겐 λ”μš± μœ μš©ν•©λ‹ˆλ‹€.
  • 챗봇에 ν•„μš”ν•œ 데이터 μ „μ²˜λ¦¬, λͺ¨λΈ, ν•™μŠ΅ νŒŒμ΄ν”„λΌμΈ, RESTful APIκΉŒμ§€ λͺ¨λ“  뢀뢄을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • 가격 등을 μ‹ κ²½μ“Έ ν•„μš” μ—†μœΌλ©°, μ•žμœΌλ‘œλ„ μ­‰ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈλ‘œ μ œκ³΅ν•  μ˜ˆμ •μž…λ‹ˆλ‹€.
  • μ•„λž˜μ™€ 같은 λ‹€μ–‘ν•œ μ„±λŠ₯ 평가 λ©”νŠΈλ¦­κ³Ό κ°•λ ₯ν•œ μ‹œκ°ν™” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.




Documentation

  1. Kochatμ΄λž€?
  2. About Chatbot
  3. Getting Started
  4. Usage
  5. Visualization Support
  6. Performance Issue
  7. Demo

Reference

License

Copyright 2020 Hyunwoong Ko.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

transformer

Transformer: PyTorch Implementation of "Attention Is All You Need"
Python
2,188
star
2

openchat

OpenChat: Easy to use opensource chatting framework via neural networks
Python
440
star
3

kss

KSS: Korean String processing Suite
Python
361
star
4

pecab

Pecab: Pure python Korean morpheme analyzer based on Mecab
Python
153
star
5

kocrawl

Collection of useful Korean crawlers
Python
86
star
6

nlp-datasets

Curation note of NLP datasets
81
star
7

summarizers

Package for controllable summarization
Python
78
star
8

python-mecab-kor

Yet another python binding for mecab-ko
Python
77
star
9

kobart-transformers

Kobart model on Huggingface transformers
Python
63
star
10

asian-bart

Asian language bart models (En, Ja, Ko, Zh, ECJK)
Python
63
star
11

gpt2-tokenizer-java

Java implementation of GPT2 tokenizer.
Java
62
star
12

bert2bert-summarization

Abstractive summarization using Bert2Bert framework.
Python
31
star
13

megatron-11b

Megatron LM 11B on Huggingface Transformers
Python
27
star
14

pydatrie

Pure python implementation of DARTS (Double ARray Trie System)
Python
22
star
15

retro

An implementation of retrieval-enhanced transformer based on Hugging Face Transformers and FAISS
18
star
16

bigdata-lecture

2020 CBNU summer vacation data campus machine learning lecture materials
Jupyter Notebook
16
star
17

dialobot

Opensource chatbot framework
Python
16
star
18

beyond-lm

Beyond LM: How can language model go forward in the future?
Python
15
star
19

stop-sequencer

Implementation of stop sequencer for Huggingface Transformers
Python
15
star
20

resnext-parallel

Parallel support implementation of "aggregated residual transformations for deep neural networks" using keras
Python
10
star
21

citrus-pest-disease-recognition

Citrus pest disease recognition app based on deep learning
Java
9
star
22

instruct-tuning-example

Instruct tuning example using Hugging Face Transformers and TRL
Python
8
star
23

social-robot-bao

Artificial intelligence robot for children with autism
Java
8
star
24

still-alive

Still alive application decompiled sources
Java
5
star
25

reactive-streams

Asynchronous reactive-streams framework for java
Java
5
star
26

rx-firebase

Android mvvm template with my own implementation of rx-firebase
Java
5
star
27

low-saturation-image-classifier

Classifier whether the image has low saturation or not
Python
5
star
28

lets-kirin

Chatbot app that manage electric home devices
Java
4
star
29

brain-training

Android brain training game app for kakao
Java
4
star
30

titanic

Kaggle : predicting titanic survivors
Jupyter Notebook
4
star
31

movie-recommender

Movie recommendation system using metadata
Jupyter Notebook
4
star
32

hyunwoongko

miscellaneous
2
star
33

strabismus-recognition

Strabismus recognition module based on machine learning
HTML
2
star
34

code-pipeline

Test repository for AWS code-pipeline deployment.
Dockerfile
1
star