AIML - Thẻ <sra domains
<srai>Tag là một thẻ đa năng. Thẻ này cho phép AIML xác định các mục tiêu khác nhau cho cùng một mẫu.
Cú pháp
<srai> pattern </srai>
Sau đây là các thuật ngữ thường được sử dụng liên quan đến srai -
Giảm tượng trưng
Phân chia và chinh phục
Độ phân giải từ đồng nghĩa
Phát hiện từ khóa
Giảm tượng trưng
Kỹ thuật giảm biểu tượng được sử dụng để đơn giản hóa các mẫu. Nó giúp giảm bớt các mẫu ngữ pháp phức tạp với (các) mẫu đơn giản.
Ví dụ, hãy xem xét cuộc trò chuyện sau đây.
Human: Who was Albert Einstein?
Robot: Albert Einstein was a German physicist.
Human: Who was Isaac Newton?
Robot: Isaac Newton was a English physicist and mathematician.
Hiện nay What if câu hỏi được nêu ra như
Human: DO YOU KNOW WHO Albert Einstein IS?
Human: DO YOU KNOW WHO Isaac Newton IS?
Đây, <srai> thẻ hoạt động. Nó có thể lấy mẫu của người dùng làm mẫu.
Bước 1: Tạo danh mục
<category>
<pattern>WHO IS ALBERT EINSTEIN?</pattern>
<template>Albert Einstein was a German physicist.</template>
</category>
<category>
<pattern> WHO IS Isaac NEWTON? </pattern>
<template>Isaac Newton was a English physicist and mathematician.</template>
</category>
Bước 2: Tạo danh mục chung bằng thẻ <sraosystem
<category>
<pattern>DO YOU KNOW WHO * IS?</pattern>
<template>
<srai>WHO IS <star/></srai>
</template>
</category>
Thí dụ
Tạo srai.aiml bên trong C > ab > bots > test > aiml và srai.aiml.csv bên trong C > ab > bots > test > aimlif các thư mục.
srai.aiml
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern> WHO IS ALBERT EINSTEIN </pattern>
<template>Albert Einstein was a German physicist.</template>
</category>
<category>
<pattern> WHO IS Isaac NEWTON </pattern>
<template>Isaac Newton was a English physicist and mathematician.</template>
</category>
<category>
<pattern>DO YOU KNOW WHO * IS</pattern>
<template>
<srai>WHO IS <star/></srai>
</template>
</category>
</aiml>
star.aiml.csv
0,WHO IS ALBERT EINSTEIN,*,*,Albert Einstein was a German physicist.,srai.aiml
0,WHO IS Isaac NEWTON,*,*,Isaac Newton was a English physicist and mathematician.,srai.aiml
0,DO YOU KNOW WHO * IS,*,*,<srai>WHO IS <star/></srai>,srai.aiml
Thực hiện chương trình
Mở dấu nhắc lệnh. Đi đếnC > ab > và gõ lệnh sau:
java -cp lib/Ab.jar Main bot = test action = chat trace = false
Xác minh kết quả
Bạn sẽ thấy kết quả sau:
Human: Do you know who Albert Einstein is
Robot: Albert Einstein was a German physicist.
Phân chia và chinh phục
Chia và Chinh phục được sử dụng để sử dụng lại các câu phụ trong việc tạo một câu trả lời hoàn chỉnh. Nó giúp giảm thiểu việc xác định nhiều danh mục.
Ví dụ, hãy xem xét cuộc trò chuyện sau đây.
Human: Bye
Robot: GoodBye!
Human: Bye Alice!
Robot: GoodBye!
Bây giờ ở đây robot được mong đợi sẽ trả lời GoodBye! Bất cứ khi nào người dùng nói Bye ở đầu câu.
Hãy đặt thẻ <sra prefer để hoạt động ở đây.
Bước 1: Tạo danh mục
<category>
<pattern>BYE</pattern>
<template>Good Bye!</template>
</category>
Bước 2: Tạo danh mục chung bằng thẻ <sraosystem
<category>
<pattern>BYE *</pattern>
<template>
<srai>BYE</srai>
</template>
</category>
Thí dụ
Cập nhật srai.aiml bên trong C > ab > bots > test > aiml và srai.aiml.csv bên trong C > ab > bots > test > aimlif các thư mục.
srai.aiml
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern> WHO IS ALBERT EINSTEIN </pattern>
<template>Albert Einstein was a German physicist.</template>
</category>
<category>
<pattern> WHO IS Isaac NEWTON </pattern>
<template>Isaac Newton was a English physicist and mathematician.</template>
</category>
<category>
<pattern>DO YOU KNOW WHO * IS</pattern>
<template>
<srai>WHO IS <star/></srai>
</template>
</category>
<category>
<pattern>BYE</pattern>
<template>Good Bye!</template>
</category>
<category>
<pattern>BYE *</pattern>
<template>
<srai>BYE</srai>
</template>
</category>
</aiml>
star.aiml.csv
0,WHO IS ALBERT EINSTEIN,*,*,Albert Einstein was a German physicist.,srai.aiml
0,WHO IS Isaac NEWTON,*,*,Isaac Newton was a English physicist and mathematician.,srai.aiml
0,DO YOU KNOW WHO * IS,*,*,<srai>WHO IS <star/></srai>,srai.aiml
0,BYE,*,*,Good Bye!,srai.aiml
0,BYE *,*,*,<srai>BYE</srai>,srai.aiml
Thực hiện chương trình
Mở dấu nhắc lệnh. Đi đếnC > ab > và gõ lệnh sau:
java -cp lib/Ab.jar Main bot = test action = chat trace = false
Xác minh kết quả
Bạn sẽ thấy kết quả sau:
Human: Bye
Robot: GoodBye!
Human: Bye Alice!
Robot: GoodBye!
Từ đồng nghĩa Độ phân giải
Từ đồng nghĩa là những từ có nghĩa gần giống nhau. Một bot sẽ trả lời theo cách tương tự cho các từ tương tự.
Ví dụ, hãy xem xét cuộc trò chuyện sau đây.
Human: Factory
Robot: Development Center!
Human: Industry
Robot: Development Center!
Bây giờ ở đây robot được mong đợi sẽ trả lời Development Center! bất cứ khi nào người dùng nói Factory hoặc là Industry.
Chúng ta hãy đặt <srai> để làm việc ở đây.
Bước 1: Tạo danh mục
<category>
<pattern>FACTORY</pattern>
<template>Development Center!</template>
</category>
Bước 2: Tạo danh mục chung bằng thẻ <sraosystem
<category>
<pattern>INDUSTRY</pattern>
<template>
<srai>FACTORY</srai>
</template>
</category>
Thí dụ
Cập nhật srai.aiml bên trong C > ab > bots > test > aiml và srai.aiml.csv bên trong C > ab > bots > test > aimlif các thư mục.
srai.aiml
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern> WHO IS ALBERT EINSTEIN </pattern>
<template>Albert Einstein was a German physicist.</template>
</category>
<category>
<pattern> WHO IS Isaac NEWTON </pattern>
<template>Isaac Newton was a English physicist and mathematician.</template>
</category>
<category>
<pattern>DO YOU KNOW WHO * IS</pattern>
<template>
<srai>WHO IS <star/></srai>
</template>
</category>
<category>
<pattern>BYE</pattern>
<template>Good Bye!</template>
</category>
<category>
<pattern>BYE *</pattern>
<template>
<srai>BYE</srai>
</template>
</category>
<category>
<pattern>FACTORY</pattern>
<template>Development Center!</template>
</category>
<category>
<pattern>INDUSTRY</pattern>
<template>
<srai>FACTORY</srai>
</template>
</category>
</aiml>
star.aiml.csv
0,WHO IS ALBERT EINSTEIN,*,*,Albert Einstein was a German physicist.,srai.aiml
0,WHO IS Isaac NEWTON,*,*,Isaac Newton was a English physicist and mathematician.,srai.aiml
0,DO YOU KNOW WHO * IS,*,*,<srai>WHO IS <star/></srai>,srai.aiml
0,BYE,*,*,Good Bye!,srai.aiml
0,BYE *,*,*,<srai>BYE</srai>,srai.aiml
0,FACTORY,*,*,Development Center!,srai.aiml
0,INDUSTRY,*,*,<srai>FACTORY</srai>,srai.aiml
Thực hiện chương trình
Mở dấu nhắc lệnh. Đi đếnC > ab > và gõ lệnh sau:
java -cp lib/Ab.jar Main bot = test action = chat trace = false
Xác minh kết quả
Bạn sẽ thấy kết quả sau:
Human: Factory
Robot: Development Center!
Human: Industry
Robot: Development Center!
Phát hiện từ khóa
Sử dụng srai, chúng tôi có thể trả về một phản hồi đơn giản khi người dùng nhập một từ khóa cụ thể, chẳng hạn như Trường học, bất kể "trường học" có ở đâu trong câu.
Ví dụ, hãy xem xét cuộc trò chuyện sau đây.
Human: I love going to school daily.
Robot: School is an important institution in a child's life.
Human: I like my school.
Robot: School is an important institution in a child's life.
Tại đây, robot sẽ trả lời một tin nhắn tiêu chuẩn 'School is an important institution in a child's life.' bất cứ khi nào người dùng có school Trong câu.
Chúng ta hãy đặt <srai>để làm việc ở đây. Chúng tôi sẽ sử dụng các thẻ đại diện ở đây.
Bước 1: Tạo danh mục
<category>
<pattern>SCHOOL</pattern>
<template>School is an important institution in a child's life.</template>
</category>
Bước 2: Tạo các danh mục chung bằng thẻ <sra prefer
<category>
<pattern>_ SCHOOL</pattern>
<template>
<srai>SCHOOL</srai>
</template>
</category>
<category>
<pattern>_ SCHOOL</pattern>
<template>
<srai>SCHOOL</srai>
</template>
</category>
<category>
<pattern>SCHOOL *</pattern>
<template>
<srai>SCHOOL</srai>
</template>
</category>
<category>
<pattern>_ SCHOOL *</pattern>
<template>
<srai>SCHOOL</srai>
</template>
</category>
Thí dụ
Cập nhật srai.aiml bên trong C > ab > bots > test > aiml và srai.aiml.csv bên trong C > ab > bots > test > aimlif các thư mục.
srai.aiml
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
<category>
<pattern> WHO IS ALBERT EINSTEIN </pattern>
<template>Albert Einstein was a German physicist.</template>
</category>
<category>
<pattern> WHO IS Isaac NEWTON </pattern>
<template>Isaac Newton was a English physicist and mathematician.</template>
</category>
<category>
<pattern>DO YOU KNOW WHO * IS</pattern>
<template>
<srai>WHO IS <star/></srai>
</template>
</category>
<category>
<pattern>BYE</pattern>
<template>Good Bye!</template>
</category>
<category>
<pattern>BYE *</pattern>
<template>
<srai>BYE</srai>
</template>
</category>
<category>
<pattern>FACTORY</pattern>
<template>Development Center!</template>
</category>
<category>
<pattern>INDUSTRY</pattern>
<template>
<srai>FACTORY</srai>
</template>
</category>
<category>
<pattern>SCHOOL</pattern>
<template>School is an important institution in a child's life.</template>
</category>
<category>
<pattern>_ SCHOOL</pattern>
<template>
<srai>SCHOOL</srai>
</template>
</category>
<category>
<pattern>_ SCHOOL</pattern>
<template>
<srai>SCHOOL</srai>
</template>
</category>
<category>
<pattern>SCHOOL *</pattern>
<template>
<srai>SCHOOL</srai>
</template>
</category>
<category>
<pattern>_ SCHOOL *</pattern>
<template>
<srai>SCHOOL</srai>
</template>
</category>
</aiml>
star.aiml.csv
0,WHO IS ALBERT EINSTEIN,*,*,Albert Einstein was a German physicist.,srai.aiml
0,WHO IS Isaac NEWTON,*,*,Isaac Newton was a English physicist and mathematician.,srai.aiml
0,DO YOU KNOW WHO * IS,*,*,<srai>WHO IS <star/></srai>,srai.aiml
0,BYE,*,*,Good Bye!,srai.aiml
0,BYE *,*,*,<srai>BYE</srai>,srai.aiml
0,FACTORY,*,*,Development Center!,srai.aiml
0,INDUSTRY,*,*,<srai>FACTORY</srai>,srai.aiml
0,SCHOOL,*,*,School is an important institution in a child's life.,srai.aiml
0,_ SCHOOL,*,*,<srai>SCHOOL</srai>,srai.aiml
0,SCHOOL *,*,*,<srai>SCHOOL</srai>,srai.aiml
0,_ SCHOOL *,*,*,<srai>SCHOOL</srai>,srai.aiml
Thực hiện chương trình
Mở dấu nhắc lệnh. Đi đếnC > ab > và gõ lệnh sau:
java -cp lib/Ab.jar Main bot = test action = chat trace = false
Xác minh kết quả
Bạn sẽ thấy kết quả sau:
Human: I love going to school daily.
Robot: School is an important institution in a child's life.
Human: I like my school.
Robot: School is an important institution in a child's life.