Skip to main content

누구나 쉽게 한국어챗봇을 만들 수 있게

Project description

KoML


Introduction

AIML은 누구나 쉽게 챗봇을 만들 수 있게끔 도와주는 언어에요. AIML을 이용한 챗봇은 Loebner Prize 등 세계적인 챗봇 대회에서 우승을 하기도 했고 딥러닝 기반의 챗봇이 널리 쓰이는 요즘도 Rule-based 처리를 할 때 널리 사용되고 있어요.
하지만 string match 기반의 AIML로 한국어를 처리하기에는 어려움이 있었어요. 한국어는 영어와 달리 교착어여서 하나의 의미를 전달하는데 여러가지 경우의 수가 나올 수 있어서요. 예를 들어 '너'가 '점심'에 '무슨음식'을 '먹었냐' 라고 물어보고 싶을 때 영어로는 이렇게 물어보는 경우만 존재하지만

What did you eat for lunch?

우리 한국어는 표현할 수 있는 가짓수가 너무 많아요.

너 점심 뭐 먹었어?
너 점심 뭐 먹었니?
너 점심 뭐를 먹었니?
너 점심에 뭐를 먹었니?
너는 점심에 뭐를 먹었니?
.
.

KoML 을 이용해서 챗봇을 만들면 이렇게 만들수 있어요.

<koml>
  <case>
    <pattern>너_j 점심_j 뭐_j 먹었_e?</pattern>
    <template>로봇이 밥을 왜먹음</template>
  </case>
<koml>
<< 너는 점심에 뭐 먹었니?
>> 로봇이 밥을 왜먹음

Installation

pip install koml

Test

<!-- koml_test.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<koml>
  <case>
    <pattern>너_j 점심_j 뭐_j 먹었_e?</pattern>
    <template>로봇이 밥을 왜먹음</template>
  </case>
</koml>
# main.py
from koml import KomlBot

bot = KomlBot()
bot.learn(['getting_started.xml'])
bot.converse()

결과

<< 너는 점심에 뭐 먹었니?
>> 로봇이 밥을 왜먹음

Usage

공식문서 를 참조해주세요!

URL: https://koml-docs.readthedocs.io/en/latest/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

koml-1.0.0-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file koml-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: koml-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.23.0 setuptools/49.3.1 requests-toolbelt/0.8.0 tqdm/4.48.2 CPython/3.8.10

File hashes

Hashes for koml-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f0166d13f1b0a4a269d297766d6d9eb8b493ee174b93d7371da7b5f5e5c3fbe
MD5 cb994d6ff23a4271d88862051080c4b4
BLAKE2b-256 2bbcf54b9f7d843d6152f8ae052b5a7b516c4f50deb4643006da40f75ab81e5e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page