CN107092669A - 一种建立机器人智能交互的方法 - Google Patents
一种建立机器人智能交互的方法 Download PDFInfo
- Publication number
- CN107092669A CN107092669A CN201710231288.7A CN201710231288A CN107092669A CN 107092669 A CN107092669 A CN 107092669A CN 201710231288 A CN201710231288 A CN 201710231288A CN 107092669 A CN107092669 A CN 107092669A
- Authority
- CN
- China
- Prior art keywords
- participle
- matching
- ambiguity
- topic
- sentence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种建立机器人智能交互的方法,包括训练和匹配两部分内容,本发明采用双向最大匹配法对中文句子进行分词,对汉语文本中90%左右的句子都能进行正确的分词处理,用户通过语音交互***提出的问题,基本能找到匹配的应答。
Description
技术领域
本发明涉及智能机器人技术领域,具体为一种建立机器人智能交互的方法。
背景技术
机器人智能交互能够深度挖掘网站群内容知识库,可替代人工客服值守完成大量实时交互工作,包括信息查询、业务办理、网站导航以及相关咨询问题引导等,机器人智能交互***内置可扩展的主题词库、同义词库以及百姓体词库等,可以和人进行自然语言的对话,并能够通过自学习来动态地丰富知识库,提升机器人交互能力。
发明内容
本发明的目的是提供一种基于词典的双向最大匹配法建立机器人智能交互的方法,本发明通过以下技术方案实现:
一种建立机器人智能交互的方法,包括以下步骤:
步骤一,训练;训练方法包括:
(1)用户通过教学界面向***提出一个话题与相应应答;
(2)***对该话题进行分词,判断该话题在***知识库中应存放的位置; 其中分词的方法基于字符串匹配,应用双向最大匹配算法分词;
(3)在***知识库中添加该话题及相应应答;***知识库中设计的词典采用Hash表数据结构;
步骤二,匹配;匹配方法包括:
(1)用户通过语音交互***提出一个问题;
(2)机器人***对该问题进行分词处理;分词处理过程包括词典加载、预处理、最大匹配和歧义消解阶段,具体为:
第一步:预处理阶段,按照特殊字符将待分析文本进行断句,将待切分的文本切分为只有中文的短句子,这些句子是下一步分词处理的基本单位;
第二步:对断句出来的句子进行双向最大匹配分词,分词后的结果作为第三步的输入;
第三步:对上一步分词得到的结果进行比较,判断是否存在歧义,如果存在歧义,就进行歧义消解;歧义消解的方法是跳转至第二步继续分词,直到判断出分词不存在歧义;
第四步:重复第二步、第三步,直到处理完步骤一中断句所切分出的所有句子单元,再输出所有的分词串;
(3)在***知识库中寻找与该问题匹配的话语回复用户。
本发明的技术效果:
本发明所述的一种建立机器人智能交互的方法,采用双向最大匹配法对中文句子进行分词,对汉语文本中90%左右的句子都能进行正确的分词处理,用户通过语音交互***提出的问题,基本能找到匹配的应答。
附图说明
图1是Hash表数据结构示意图;
图2是知识库匹配算法流程图。
具体实施方式
一种建立机器人智能交互的方法,包括训练和匹配两部分。
、训练
训练的目的在于构建或是丰富词库。训练的具体步骤如下:
第一步:用户通过教学界面向***提出一个话题与相应应答;
第二步:***对该话题进行分词,判断该话题在***知识库中应存放的位置;
第三步:在***知识库中添加该话题及相应应答。
可以看到,这里涉及到两个方面:给出一个问题,***需要进行分词,词库需要设计才能快速、准确的定位到答案。
分词方法
由于以句子为单位处理机器人智能交互的时间复杂度与空间复杂度较高,机器人智能交互的存储是以词为单位。于是分词方法是机器人智能交互的核心技术之一。
英文分词直接根据句子的空格确定,而中文分词与英文分词的原理不一样。对于一句话,人们可以用自己的认识区分词语,而机器人智能交互就需要恰当的中文分词算法。
中文分词技术隶属于自然语言处理。现有的分词算法可以分为三大类:基于字符串匹配的分词方法、基于统计的分词方法和基于理解的分词方法。
用户在聊天时的一个显著特点是所提出的话题一般都是比较短小的,而不是长篇大论,不具有段落篇章结构,绝大多数就是少数几句话。基于统计的分词方法适用于有段落、篇章结构以及上下文关系的文段。基于理解的分词方法目前并不成熟,且时间复杂度高,速度慢。因此基本的机器人智能交互可以采用基于字符串匹配的分词方法。
词库设计
由于中文词的特点:1.中文词是一个开放集,词数在增长;2.以不同字开头的词的数目变化很大,多的达到数百个,少的也有可能只有一个或者没有;3.词的长度变化也很大,有单字词,也有由六、七个字成词的。这就要求在设计词典时,除了考虑访问效率外,还得充分考虑存储利用率。采用Hash表这种数据结构,就能很好地平衡时间与空间。
如图1所示,首字Hash表通过一次哈希运算就可以直接定位汉字在表中的位置。一个单元包括三项内容:C:存储首字;F标志位:存储以C为首字的最长词条的长度;P:指向词表索引表。哈希的意思是散列表 Hash table,也叫哈希表,顾名思义就是把数据都打散了,再按一定规律存起来,加快访问速度。是根据关键码值Key而直接进行访问的数据结构。
举个例子:将[0,100]做成一个哈希表,选取“模10”作为散列函数,以数组作为存储单元,则得到A[10][10]的数组,A[0]里依次存着0,10,20…90;A[1]里存着1,11,21…91。依次类推。
现在举一个训练机器人智能交互的例子:问题: “大白天的做什么美梦啊”回答是“不管你的事哦”。
第一步:应用双向最大匹配算法分词:双向分词结果,正向《大白天,的,做什么,美梦,啊》;反向《大白天,的,做什么,美梦,啊》。正向反向都是一样的,所以不需要处理歧义问题。长词优先选择,“大白天”和“做什么”。
第二步:以“大白天”举例,假设hash函数为f(),并设f(大白天)指向首字hash表项[大,11,P]。于是由该表项指向“3字索引”,再指向对应“词表”。
第三步:将结构体<大白天,…>***队尾。体中有一个Ans域,域中某一指针指向“不管你的事哦”。
第四步:完成训练。
、匹配
如图2所示,匹配的具体步骤如下:
第一步:用户通过语音交互***提出一个问题;
第二步:机器人***对该问题进行分词处理;
第三步:在***知识库中寻找与该问题匹配的话语回复用户。基于词典的分词算法分为词典加载、预处理、最大匹配、歧义消解几个阶段。
基于词典的分词算法具体流程如下:
第一步:预处理阶段,按照特殊字符(如英文字母、数字等)将待分析文本进行断句,将待切分的文本切分为只有中文的短句子,这些句子是下一步分词处理的基本单位。
第二步:对断句出来的句子进行双向最大匹配(双向匹配,长词优先)分词,分词后的结果作为第三步的输入;
第三步:对上一步分词得到的结果进行比较,判断是否存在歧义,如果存在歧义,就进行一定的歧义消解;
第四步:重复第二步、第三步,直到处理完步骤一中断句所切分出的所有句子单元。
与机器人智能交互的例子:用户问机器人:“埃菲尔铁塔上45度角仰望星空”。
第一步:双向最大匹配分词:正向反向均为《埃菲尔铁塔上,45度角,仰望星空》,没有歧义。长词优先,***选择了“埃菲尔铁塔上”作为关键词;
第二步:***在知识库中用刚才说的哈希函数f(埃菲尔铁塔上),找到比如[埃,11,P]的表项,顺着指针找到6字词的索引,顺着索引找到6字词表,遍历词表,找到<埃菲尔铁塔上,…>结构体;
第三步:***随机选择该结构体Ans域中的一个回答(也有可能是根据频率高低来选择)。比如“两年之后等着你”。
第四步:输出回答,匹配结束。功时重新切取的策略,机械分词法可以分为增字法和减字法。
基于词典的“双向最大匹配”法是目前中文信息处理中最简单有效的方法,有这样的统计:汉语文本中90%左右的句子,其与双向最大匹配的结果相吻合,而且是正确的分词结果。当正、反向最大匹配算法得出来的切分结果不一样时,就必须对其进行歧义处理。
尽管本发明的内容已经通过上述实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (1)
1.一种建立机器人智能交互的方法,其特征在于,包括以下步骤:
步骤一,训练;训练方法包括:
(1)用户通过教学界面向***提出一个话题与相应应答;
(2)***对该话题进行分词,判断该话题在***知识库中应存放的位置; 其中分词的方法基于字符串匹配,应用双向最大匹配算法分词;
(3)在***知识库中添加该话题及相应应答;***知识库中设计的词典采用Hash表数据结构;
步骤二,匹配;匹配方法包括:
(1)用户通过语音交互***提出一个问题;
(2)机器人***对该问题进行分词处理;分词处理过程包括词典加载、预处理、最大匹配和歧义消解阶段,具体为:
第一步:预处理阶段,按照特殊字符将待分析文本进行断句,将待切分的文本切分为只有中文的短句子,这些句子是下一步分词处理的基本单位;
第二步:对断句出来的句子进行双向最大匹配分词,分词后的结果作为第三步的输入;
第三步:对上一步分词得到的结果进行比较,判断是否存在歧义,如果存在歧义,就进行歧义消解;歧义消解的方法是跳转至第二步继续分词,直到判断出分词不存在歧义;
第四步:重复第二步、第三步,直到处理完步骤一中断句所切分出的所有句子单元,再输出所有的分词串;
(3)在***知识库中寻找与该问题匹配的话语回复用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710231288.7A CN107092669A (zh) | 2017-04-11 | 2017-04-11 | 一种建立机器人智能交互的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710231288.7A CN107092669A (zh) | 2017-04-11 | 2017-04-11 | 一种建立机器人智能交互的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107092669A true CN107092669A (zh) | 2017-08-25 |
Family
ID=59636899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710231288.7A Pending CN107092669A (zh) | 2017-04-11 | 2017-04-11 | 一种建立机器人智能交互的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107092669A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748744A (zh) * | 2017-10-31 | 2018-03-02 | 广东小天才科技有限公司 | 一种勾勒框知识库的建立方法及装置 |
CN108831444A (zh) * | 2018-07-27 | 2018-11-16 | 苏州思必驰信息科技有限公司 | 用于语音对话平台的语义资源训练方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718586A (zh) * | 2016-01-26 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 分词的方法及装置 |
CN105893354A (zh) * | 2016-05-03 | 2016-08-24 | 成都数联铭品科技有限公司 | 一种基于双向递归神经网络的分词方法 |
-
2017
- 2017-04-11 CN CN201710231288.7A patent/CN107092669A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718586A (zh) * | 2016-01-26 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 分词的方法及装置 |
CN105893354A (zh) * | 2016-05-03 | 2016-08-24 | 成都数联铭品科技有限公司 | 一种基于双向递归神经网络的分词方法 |
Non-Patent Citations (1)
Title |
---|
HUJ690: "智能聊天机器人小黄鸡及其制作方法", 《HTTP://WWW.CNBLOGS.COM/HUJ690/ARCHIVE/2013/01/24/2875114.HTML 》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748744A (zh) * | 2017-10-31 | 2018-03-02 | 广东小天才科技有限公司 | 一种勾勒框知识库的建立方法及装置 |
CN107748744B (zh) * | 2017-10-31 | 2021-01-26 | 广东小天才科技有限公司 | 一种勾勒框知识库的建立方法及装置 |
CN108831444A (zh) * | 2018-07-27 | 2018-11-16 | 苏州思必驰信息科技有限公司 | 用于语音对话平台的语义资源训练方法及*** |
CN108831444B (zh) * | 2018-07-27 | 2020-06-26 | 苏州思必驰信息科技有限公司 | 用于语音对话平台的语义资源训练方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vajjala et al. | Practical natural language processing: a comprehensive guide to building real-world NLP systems | |
TWI636452B (zh) | 語音識別方法及系統 | |
Zaidan et al. | The arabic online commentary dataset: an annotated dataset of informal arabic with high dialectal content | |
CN101388012B (zh) | 带有易混淆音识别的拼音检查***和方法 | |
Ramisch et al. | mwetoolkit: A framework for multiword expression identification. | |
CN104573099B (zh) | 题目的搜索方法及装置 | |
CN101599071A (zh) | 对话文本主题的自动提取方法 | |
CN102479191A (zh) | 提供多粒度分词结果的方法及其装置 | |
CN106202153A (zh) | 一种es搜索引擎的拼写纠错方法及*** | |
CN108846138B (zh) | 一种融合答案信息的问题分类模型构建方法、装置和介质 | |
CN102999534A (zh) | 一种基于逆向最大匹配的中文分词算法 | |
CN103268313A (zh) | 一种自然语言的语义解析方法及装置 | |
CN102693279A (zh) | 一种快速计算评论相似度的方法、装置及*** | |
Younes et al. | Constructing linguistic resources for the Tunisian dialect using textual user-generated contents on the social web | |
CN110413972B (zh) | 一种基于nlp技术的表名字段名智能补全方法 | |
Gale et al. | Experiments in Character-Level Neural Network Models for Punctuation. | |
CN104252542A (zh) | 一种基于词库的动态规划中文分词方法 | |
CN109524008A (zh) | 一种语音识别方法、装置及设备 | |
CN111199151A (zh) | 数据处理方法、及数据处理装置 | |
JP2014219872A (ja) | 発話選択装置、方法、及びプログラム、対話装置及び方法 | |
CN107092669A (zh) | 一种建立机器人智能交互的方法 | |
Camps et al. | Handling heavily abbreviated manuscripts: Htr engines vs text normalisation approaches | |
WO2019231346A1 (ru) | Способ и система для выстраивания диалога с пользователем в удобном для пользователя канале | |
CN113190692A (zh) | 一种知识图谱的自适应检索方法、***及装置 | |
Garcıa et al. | A contextualized word representation approach for irony detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170825 |