基于人工智能的棋盘信息处理方法、装置、设备和介质与流程

文档序号:21695784发布日期:2020-07-31 22:34阅读:443来源:国知局
基于人工智能的棋盘信息处理方法、装置、设备和介质与流程
本公开涉及人工智能棋谱
技术领域
,更具体地,涉及一种基于人工智能的棋盘信息处理方法、装置、设备和介质。
背景技术
:人工智能技术广泛应用于棋类领域,例如,围棋人工智能可以基于围棋棋谱等学习围棋策略,以实现诸如人机对弈、围棋辅助分析等应用。然而,在基于人工智能技术进行人机对弈的过程中,缺少对于下棋策略的解说内容,使得对于水平较低的用户,往往看不懂“为什么应该这样下”,体验并不友好,此外,由于缺少解说内容,用户也很难在人机对弈的过程中学习策略并实现自我水平的提升。技术实现要素:本公开提供一种基于人工智能的棋盘信息处理方法、装置、设备和介质,用于针对棋盘中的术语自动生成对应描述,以作为棋类解说。据本公开的一方面,提供了一种基于人工智能的棋盘信息处理方法,包括:获取利用人工智能分析得到的当前步棋子以及当前棋盘信息;基于所述当前步棋子以及当前棋盘信息确定所述当前步棋子的至少一个周围棋子;基于所述当前步棋子以及所述当前步棋子的至少一个周围棋子自动确定当前步的术语;以及基于所述当前步的术语,生成对应于当前步的描述,并显示所述对应于当前步的描述。根据本公开的一些实施例,所述自动确定所述当前步的术语包括:生成包含所述当前步棋子以及当前步棋子的至少一个周围棋子的棋子表示矩阵;基于所述棋子表示矩阵确定所述当前步的术语。根据本公开的一些实施例,所述生成包含所述当前步棋子以及当前步棋子的至少一个周围棋子的棋子表示矩阵包括:基于所述当前步棋子以及当前步棋子的至少一个周围棋子,分别生成包括棋子数目为2*2至n*n的n-1个棋子表示矩阵;所述基于所述棋子表示矩阵确定所述当前步的术语包括:分别基于所述n-1个棋子表示矩阵确定所述当前步的n-1个术语,将所述n-1个术语中预设权重值最高的术语确定为所述当前步的术语。根据本公开的一些实施例,所述方法还包括:获取利用所述人工智能分析得到的所述当前步棋子以及棋盘信息的分析结果,其中,所述分析结果包括先前步胜率、推荐棋子、推荐棋子胜率以及当前步胜率中的至少一种;基于所述分析结果确定所述当前步是否为关键步,其中,所述关键步包括好步、恶步和转折点中的至少一种。根据本公开的一些实施例,在所述关键步为好步的情况下,确定所述当前步是否为好步包括:确定所述当前步棋子与所述推荐棋子是否相同;在所述当前步棋子与所述推荐棋子相同的情况下,确定当前步的手数和当前步胜率是否分别符合手数和胜率的预设条件;以及在符合所述预设条件的情况下,将所述当前步确定为好步。根据本公开的一些实施例,在所述关键步为恶步的情况下,确定所述当前步是否为恶步包括:获取对应于所述先前步胜率的胜率差值阈值;判断所述先前步胜率与当前步胜率的差值是否符合所述胜率差值阈值;将符合所述胜率差值阈值的当前步确定为恶步。根据本公开的一些实施例,所述方法还包括:对于确定为恶步的当前步,为所述当前步的后续步设置权重系数,以降低将所述后续步确定为恶步的概率。根据本公开的一些实施例,在所述关键步为转折点的情况下,确定所述当前步是否为转折点包括:获取胜率曲线;确定当前步胜率是否通过胜率曲线中的预设胜率值;在当前步胜率通过胜率曲线中的预设胜率值的情况下,确定当前步之后是否存在另一步的胜率通过所述预设胜率值;在确定不存在的情况下,将当前步确定为转折点。根据本公开的一些实施例,所述生成对应于当前步的描述还包括:确定推荐棋子的术语;基于所述推荐棋子的术语、推荐棋子胜率、当前步胜率以及先前步胜率与当前步胜率的差值中的至少一种,生成所述对应于当前步的描述。根据本公开的一些实施例,所述方法还包括:确定分别对应于布局、中盘和收官区间的区间平均胜率;基于所述区间平均胜率、关键步、终局结果中的至少一种生成总结描述。根据本公开的另一方面,还提供了一种基于人工智能的棋盘信息处理装置,包括:获取单元,配置成获取利用人工智能分析得到的当前步棋子以及当前棋盘信息;棋子确定单元,配置成基于所述当前步棋子以及当前棋盘信息确定所述当前步棋子的至少一个周围棋子;术语确定单元,配置成基于所述当前步棋子以及所述当前步棋子的至少一个周围棋子自动确定当前步的术语;;描述生成单元,配置成基于所述当前步的术语,生成对应于当前步的描述;以及显示单元,配置成显示所述对应于当前步的描述。根据本公开的一些实施例,所述术语确定单元配置成:生成包含所述当前步棋子以及当前步棋子的至少一个周围棋子的棋子表示矩阵;基于所述棋子表示矩阵自动确定所述当前步的术语。根据本公开的一些实施例,所述术语确定单元配置成:基于所述当前步棋子以及当前步棋子的至少一个周围棋子,分别生成包括棋子数目为2*2至n*n的n-1个棋子表示矩阵;分别基于所述n-1个棋子表示矩阵确定所述当前步的n-1个术语;将所述n-1个术语中预设权重值最高的术语确定为所述当前步的术语。根据本公开的一些实施例,所述装置还包括:关键步确定单元,配置成:获取利用所述人工智能分析得到的所述当前步棋子以及棋盘信息的分析结果,其中,所述分析结果包括先前步胜率、推荐棋子、推荐棋子胜率以及当前步胜率中的至少一种;基于所述分析结果确定所述当前步是否为关键步,其中,所述关键步包括好步、恶步和转折点中的至少一种,所述显示单元还配置成:显示所述棋盘信息,并以不同的图标显示所述好步、恶步和转折点。根据本公开的一些实施例,在所述关键步为好步的情况下,所述关键步确定单元配置成:确定所述当前步棋子与所述推荐棋子是否相同;在所述当前步棋子与所述推荐棋子相同的情况下,确定当前步的手数和当前步胜率是否分别符合手数和胜率的预设条件;以及在符合所述预设条件的情况下,将所述当前步确定为好步。根据本公开的一些实施例,在所述关键步为恶步的情况下,所述关键步确定单元配置成:获取对应于所述先前步胜率的胜率差值阈值;判断所述先前步胜率与当前步胜率的差值是否符合所述胜率差值阈值;将符合所述胜率差值阈值的当前步确定为恶步。根据本公开的一些实施例,所述关键步确定单元还配置成:对于确定为恶步的当前步,为所述当前步的后续步设置权重系数,以降低将所述后续步确定为恶步的概率。根据本公开的一些实施例,在所述关键步为转折点的情况下,所述关键步确定单元配置成:获取胜率曲线;确定当前步胜率是否通过胜率曲线中的预设胜率值;在当前步胜率通过胜率曲线中的预设胜率值的情况下,确定当前步之后是否存在另一步的胜率通过所述预设胜率值;在确定不存在的情况下,将当前步确定为转折点。根据本公开的一些实施例,所述描述生成单元还配置成:确定推荐棋子的术语;基于所述推荐棋子的术语、推荐棋子胜率、当前步胜率以及先前步胜率与当前步胜率的差值中的至少一种,生成所述对应于当前步的描述。根据本公开的一些实施例,所述描述生成单元还配置成:确定分别对应于布局、中盘和收官区间的区间平均胜率;基于所述区间平均胜率、关键步、终局结果中的至少一种生成总结描述。根据本公开的又一方面,还提供了一种棋盘信息处理设备,包括:处理器;存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码当由所述处理器运行时,执行如上所述的基于人工智能的棋盘信息处理方法;以及显示器,配置成显示按照所述棋盘信息处理方法生成的描述。根据本公开的又一方面,还提供了一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如上所述的基于人工智能的棋盘信息处理方法。利用本公开提供的基于人工智能的棋盘信息处理方法,能够基于棋盘中的当前步以及当前棋盘信息确定当前步的术语,并自动地生成针对于该术语的描述,以作为当前步的解说内容,便于棋类用户在棋盘的复盘阶段理解下棋策略,以进行自我学习和提升。附图说明为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a示出了基于围棋人工智能进行人机对弈的示意图;图1b示出了基于围棋人工智能推荐棋子的示意图;图1c示出了基于围棋人工智能的棋盘变化图的示意图;图2示出了根据本公开提供的棋盘信息处理方法的流程示意图;图3示出了根据本公开实施例的关键步描述示意图;图4示出了根据本公开实施例的总结描述示意图;图5示出了根据本公开实施例的应用流程示意图;图6示出了根据本公开实施例的棋盘信息处理装置的示意性框图;图7示出了根据本公开实施例的棋盘信息处理设备的示意性框图;图8示出了根据本公开实施例的示例性计算设备的架构的示意图;图9示出了根据本公开实施例的计算机存储介质的示意图。具体实施方式下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。如上所述的,人工智能技术广泛应用于棋类领域,例如,基于围棋人工智能的人机对弈以及基于围棋人工智能的辅助分析等应用。所述人机对弈可以是指用户与经过围棋训练的计算机进行围棋对决。所述辅助分析是指在人机或者人与人进行围棋对弈的终局之后,基于围棋人工智能技术对棋盘信息进行分析,以对整个棋局进行复盘。所述基于围棋人工智能的辅助分析可以提供关于推荐棋子、概率、棋盘变化图等分析结果,以辅助用户了解棋局变化。所述围棋辅助分析可以应用于如上所述的人机对弈的场景,也可以应用于用户与用户之间进行对弈的场景,在此不作限制。作为其他示例,人工智能技术还可以类似地应用于其他棋类,诸如象棋等。利用基于人工智能的辅助分析提供的分析结果,用户可以了解到人工智能推荐的棋子位置,一般地可以认为推荐的棋子位置是最优解,通过将推荐的棋子位置与自己决定的棋子位置进行比较,用户可以了解到自身的围棋决策是否合适。进一步地,辅助分析的分析结果可以包括当前步之后的棋盘变化图。此外,分析结果还可以包括胜率,例如,对于当前步来讲,可以包括当前步之前一步(称为先前步)的胜率、实际当前步的胜率、推荐当前步的胜率,通过比较提供的这些胜率值,用户可以了解到该当前步对于胜率的影响。此外,辅助分析的分析结果还可以提供胜率曲线,以使得用户更直观地了解整局棋的胜率变化。以下以围棋作为一个示例,结合图1a-图1c描述基于围棋人工智能的辅助分析。图1a示出了基于围棋人工智能进行人机对弈的示意图,在图1a中,白子执方为用户,黑子执方为计算机,围棋棋盘横轴以字母为坐标,纵轴以数字为坐标,以便于用户直观地落子,并对棋子位置进行定位。例如,如图1a所示出的,当前步为位于c6的白色棋子。如图1a所示出的,基于围棋人工智能的辅助分析可以提供胜率曲线图,以使得用户查看整局棋的胜率走势,以及当前步对于胜率的影响。如图1a所示,在胜率曲线图中,横坐标为手数,纵坐标为胜率值,例如,当前手数为第97手,其胜率为87%。图1b示出了基于围棋人工智能推荐棋子的示意图,其中以人机对弈的场景为示例,类似的,图1b也适用于人与人对弈的场景。如图1b所示,位于l18的白色棋子为用户的当前实际落子点(或者称为实际选点),其上可以显示有在落下该棋子后的白方胜率39%,而位于k14的白色棋子为基于人工智能推荐的推荐落子点(或者称为推荐选点),其上显示有落下该棋子后的白方胜率52%。图1c示出了基于围棋人工智能的棋盘变化图的示意图,所述棋盘变化图可以是利用围棋人工智能预测得到的棋子之后的棋局变化。例如,以位于l18的白色棋子为当前步,其上显示有数字1,表示该棋子作为变化图中的第1步。例如,在l18之后,黑色棋子的落子点可能在k16的位置,其上显示有数字2,表示第2步。接着,白色棋子的落子点可能在l16的位置,其上显示有数字3,表示第3步,依次类推。作为一个示例,图1c中显示了包括9步的棋盘变化图,需要注意的是,变化图的步数并不限于此,例如,还可以显示包括15步、20步的棋盘变化图。尽管在基于人工智能技术进行辅助分析的过程中,提供了推荐棋子、胜率等信息,但却缺少对于下棋策略的解说内容,使得用户,尤其是水平较低的用户,往往看不懂“为什么应该这样下”,体验并不友好,此外,由于缺少解说内容,用户也很难在人机对弈的过程中学习策略并实现自我水平的提升,由此使得基于人工智能的辅助分析难以发挥实质性地辅助作用。本公开提供了一种棋盘信息处理方法,用于基于棋盘中的当前步以及当前棋盘信息确定当前步的术语,并自动地生成针对于该术语的描述,以作为当前步的解说内容,便于棋类用户在棋盘的复盘阶段理解棋盘策略,并进行自我学习和提升。根据本公开提供的基于人工智能的棋盘信息处理方法可以在用户终端中执行。所述用户终端可以是电脑、手机等。可以理解的是,事实上,用户终端可以是能够执行数据处理的任何其他类型的电子设备,其可以包括但不限于台式电脑、笔记本电脑、平板电脑、智能手机、智能家居设备、车载电子设备等。用户终端也可以是设置有电子设备的任何装备,例如车辆、机器人等。在一些实施例中,可以利用用户终端的处理单元执行本申请提供的棋盘信息方法。在一些实现方式中,用户终端可以利用用户终端内置的应用程序执行所述棋盘信息处理方法。在另一些实现方式中,用户终端可以通过调用用户终端外部存储的应用程序执行所述棋盘信息处理方法。图2示出了根据本公开实施例的棋盘信息处理方法的流程示意图,所述方法可以应用于诸如围棋、象棋、五子棋等棋类应用,在此不做限制,可以根据棋盘的类别设置相应的规则以适用根据本公开提供的方法。如图2所示,首先,在步骤s101,获取基于人工智能分析得到的当前步棋子以及当前棋盘信息。所述人工智能分析指的是如上所述的基于人工智能的辅助分析,例如基于围棋人工智能的辅助分析。利用所述人工智能分析可以获得例如推荐棋子、概率、棋盘变化图等分析结果,具体如图1a-图1c所示。所述当前棋盘信息是落下当前步棋子(即,落子)后,棋盘中包括的棋子信息。本文将以围棋作为一个应用示例说明根据本公开的方法的实现方式,按照围棋的规则来描述实现根据本公开的方法,需要注意的是,以上方法的应用领域并不限于此,诸如对于象棋,可以类似地根据象棋领域的规则来实现根据本公开的方法。具体的,对于围棋棋局,当前步棋子可以是以上图1b中示出的位于l18的白色棋子,当前棋盘信息是图1b中显示的棋盘中除推荐棋子(位于k14)外包括的所有棋子信息,其中,所述棋子信息既包含棋盘中包括的黑子、白子,还包含未落子的位置,可以将未落子的位置称为无子。接着,在步骤s102,基于所述当前步棋子以及当前棋盘信息确定所述当前步棋子的至少一个周围棋子。所述周围棋子表示与当前步棋子空间相邻的棋子。所述空间相邻可以是指直接空间相邻,作为一个示例,对于位于l18的当前步棋子,其周围棋子可以包括与其直接空间相邻的8个位置处的棋子信息,例如,分别位于k17和m17的黑子,以及位于k18、k19、l17、l19、m18、m19的无子。作为其他示例,对于位于l18的当前步棋子,其周围棋子可以包括与其直接空间相邻的至少一个棋子,即,以上位于k17、m17、k18、k19、l17、l19、m18、m19处的任意一个或多个棋子均可以构成所述周围棋子。此外,所述空间相邻也可以包括间接空间相邻,作为一个示例,对于位于l18的当前步棋子,其周围棋子可以包括以l18为中心、相隔1个或多个棋子的棋子,例如,位于n18的黑子。根据本公开实施例,可以根据棋的类别、以及该棋类的规则适应性地选择与当前步棋子空间相邻的棋子作为所述周围棋子,具体过程将在下文详细介绍。接着,如图2所示,在步骤s103,基于所述当前步棋子以及所述当前步棋子的至少一个周围棋子自动确定当前步的术语。对于各类棋局,均包括特定于棋局的专业术语,用于反映当前步的下棋策略。以围棋作为一个示例,所述术语可以包括碰、挖、扑、挤、提、贴等。接着,在步骤s104,基于所述当前步的术语,生成对应于当前步的描述,并显示所述对应于当前步的描述。作为一个示例,可以针对术语设置具体的描述,在确定当前步的术语之后,可以基于确定的术语确定对应的描述,以作为对于当前步的解说。作为一个示例,在围棋的当前步确定的术语为“挤”的情况下,对应的描述可以是“白82挤下的好,挤可以暴露出对方的断点,促使对手补棋”。利用该基于术语提供的内容丰富的解说,用户可以更深入的理解围棋策略,以辅助学习围棋技能,从而更好地进行自我水平的提升。进一步地,上述基于术语的解说更接近于真人解说的情景,可以应用于诸如围棋教学等场景,增加了围棋学习的趣味性。需要注意的是,所述显示所述对应于当前步的描述可以是指在显示设备上以文字的形式显示描述,更广泛地,也可以是指以诸如语音播报等方式进行展示,在此不对所述显示的实现方式进行限制。根据本公开的一些实施例,自动确定所述当前步的术语包括:生成包含所述当前步棋子以及当前步棋子的至少一个周围棋子的棋子表示矩阵;基于所述棋子表示矩阵自动确定所述当前步的术语。所述自动确定当前步的术语表示所述确定术语的步骤是由诸如用户终端内的处理单元通过执行程序代码实现的。对于棋类应用,棋形是根据当前落子点与周围棋子的关系决定的。所述棋子表示矩阵表征由所述至少一个周围棋子组成的棋形,以矩阵的形式反映当前步棋子周围的棋形。通过处理该棋子表示矩阵,基于人工智能的计算机可以根据预设的棋局规则确定术语。根据本公开的一些实施例,生成包含所述当前步棋子以及当前步棋子的至少一个周围棋子的棋子表示矩阵包括:基于所述当前步棋子以及当前步棋子的至少一个周围棋子,分别生成包括棋子数目为2*2至n*n的n-1个棋子表示矩阵。基于所述棋子表示矩阵确定所述当前步的术语包括:分别基于所述n-1个棋子表示矩阵确定所述当前步的n-1个术语;将所述n-1个术语中预设权重值最高的术语确定为所述当前步的术语。具体的,如上所述,棋形是根据当前落子点与周围子的关系决定的,不同范围的周围棋子组成的棋子表示矩阵包括的棋子个数不同,分别由其确定的术语可能相同也可能不同。可以预先对不同的术语设置不同的权重值,并将权重值最高的术语确定为所述当前步的术语。以下以围棋作为示例,描述确定围棋术语的过程。例如,通过配置json程序来基于棋子表示矩阵判断棋形,从而确定当前步的术语。在棋子表示矩阵中,可以以数字0-7表示不同的棋子情况,数字的含义如以下表1:表1数字含义0无子1黑子2白子3当前步棋子为黑子4当前步棋子为白子5黑子或无子6白子或无子7黑子或白子或无子对于包括棋子数目为2*2的棋子表示矩阵,可以是如下所示的数据矩阵:基于该2*2的数据矩阵,根据矩阵中的数字4可以确定当前步棋子为白子,其左侧相邻棋子为黑子,根据围棋规则,可以确定该当前步棋子的术语为“并”,示意性地,可以将该术语“并”的权重值设置为200。json程序可以通过遍历棋盘上包含该当前步的数据矩阵,只要其中包括的数据点符合关于某一术语的限定,就可以将该手棋确定为该术语。例如,包括棋子数目为3*3的棋子表示矩阵可以是如下所示的数据矩阵:基于该3*3的数据矩阵,根据矩阵中的数字4可以确定当前步棋子为白子,其左侧、上方、下方相邻棋子为黑子,右侧相邻棋子为无子,根据围棋规则,可以确定该当前步棋子的术语为“扑”,示意性地,可以将该术语“扑”的权重值设置为20000。类似地,可以基于当前步棋子以及当前棋盘信息生成2*2至n*n的n-1个棋子表示矩阵,并分别确定n-1的围棋术语。例如,取n=3,利用以上示出的数据矩阵,可以确定当前步棋子的术语分别为“并”和“扑”。进一步地,依据为术语预先设置的权重值,可以确定当前步的术语为“扑”。在确定当前步的术语为“扑”之后,可以生成对应于该术语“扑”对应的描述,例如:“扑可以减少对方的气,并且破眼,是较为重要的一步”。其中,n是大于等于2的正整数,可以根据具体的棋局情形设置n的取值,一般地,n可以设置为7,即,生成棋子数目为2*2至7*7的6个棋子表示矩阵,并基于这6个棋子表示矩阵分别确定6个术语,并基于术语的权重值确定当前步的术语。需要注意的是,基于棋子表示矩阵分别确定的术语可能相同或者不相同,作为一个示例,基于3*3和4*4的棋子表示矩阵分别确定术语可能都是“扑”。示意性地,以下表2中列出了围棋中常用的34个术语,这些术语在围棋对局中的出现概率之和>90%。表2以上表2仅示意性地列出了常用的术语,而并未列出围棋领域中的全部术语,根据本公开的方法,可以根据围棋术语的规则来确定任意的术语。对于某一围棋术语,可以分别设置不同的棋形规则,以根据生成的棋子表示矩阵判断当前步是否符合该术语的棋形规则。以上围棋术语具有与围棋领域的普通技术人员共同理解的相同含义。根据本公开实施例,可以基于确定的术语生成当前步的描述。例如,针对术语“尖”的描述可以是“尖是稳固的一手,加强自身棋形”。又例如,针对术语“虎”的描述可以是“护住要点,防止己方棋形被对方切断联络”。针对术语的描述可以基于该术语的特征来分别设置,在此不再一一列举。在棋局中,可能包括的步数较多,尤其对于围棋来讲,可能包括几百步棋,其中包括一些基本步以及对棋局结果影响较小的步,对其进行解说的价值较低,由此,在基于围棋术语生成解说的应用过程中,还可以确定整局棋中的关键步,并生成对应于关键步的解说,以避免对每步棋都进行解说的运算量,并且,针对关键步的解说使得棋局解说内容更具有针对性,便于阅读,使得用户可以更快速地了解整局棋中的重点内容。根据本公开实施例,所述棋盘信息处理方法还包括:获取利用所述人工智能分析得到的所述当前步棋子以及棋盘信息的分析结果,其中,所述分析结果包括先前步胜率、推荐棋子、推荐棋子胜率以及当前步胜率中的至少一种;基于所述分析结果确定所述当前步是否为关键步,其中,所述关键步包括好步、恶步和转折点中的至少一种。例如,在围棋领域,可以将步数称为手数,进一步地,在围棋领域中,可以将关键步称为关键手数,将恶步称为恶手,以及将好步称为好手。所述棋盘信息的分析结果可以是基于围棋人工智能技术提供的,例如,以上结合图1a-图1c介绍的分析结果包括推荐棋子、胜率、棋盘变化图等信息,基于所述分析结果可以确定整局棋中的关键手数,即,对棋局变化、终局结果影响较大的手数。一般地,每局棋包括的关键手数可以在3-7个之间,用于向用户指出本局的重点所在,从而针对性地对确定的关键手数生成描述。以下将具体介绍确定关键步的过程。根据本公开实施例,在所述关键步为好步的情况下,确定所述当前步是否为好步包括:确定所述当前步棋子与所述推荐棋子是否相同;在所述当前步棋子与所述推荐棋子相同的情况下,确定当前步的手数和当前步胜率是否分别符合手数和胜率的预设条件;以及在符合所述预设条件的情况下,将所述当前步确定为好步。以围棋人工智能为例,一般地,可以认为基于人工智能推荐的选点是最优解,由此,可以在当前步棋子(实际选点)与所述推荐棋子(推荐选点)相同的手数中选取所述好手,用于告诉用户这局棋中“哪里下得好”,还可以生成对应的鼓励性描述。进一步地,在根据本公开的方法中还利用手数和胜率对确定的好步候选进行限制。手数过少、手数过多或者胜率过低时,用户实际选点很可能与推荐选点一致,其虽然符合好步的先决条件,但应尽量排除这些选点,这是由于围棋的特殊性质决定的。例如,在围棋中,第一手棋一般都下在右上星位(即,实际选点于推荐选点一致),但这并不能说明用户该手棋下得好。由此,根据本公开的方法通过设置手数和胜率的预设条件来排除此类选点作为好步。示意性地,所述手数的预设条件可以是20-150手数之间,所述胜率的预设条件可以是10%。换句话说,只有在当前步棋子与推荐棋子相同并且当前步的手数和当前步胜率均满足上述预设条件的情况下才将该当前步棋子确定为好步。需要注意的是,以上列出的预设条件仅是示意性地,还可以基于棋局的具体情形设置预设条件,此外,还可以根据棋局包括的总手数动态地设置所述手数的预设条件,在此不作限制。需要注意的是,上述基于手数和胜率的条件可以仅设置其中一个,例如,仅对手数进行限制。根据本公开的一些实施例,可以为不同的围棋术语设置不同的术语优先级,以排除术语优先级较低的棋子作为好手。例如,类似于“提”、“粘”这些被动型的术语,一般都是在对方进攻下的必然下法,不适合被选为“好手”,可以为此类术语设置较低的优先级。相比较地,对于“挖”这种主动型的术语,在实际对局中更可能是好手,可以为此类术语设置较高的优先级。由此,在确定了多个好手的情况下,可以基于设置的术语优先级筛选好手的范围。根据本公开实施例,按照上述步骤可以更准确的确定整局棋中的好步,以向用户指出哪些手数下的好,是点睛之笔,搭配对应的解说内容,能够使得用户快速掌握棋局信息。根据本公开实施例,所述生成对应于当前步的描述还包括:基于关键步的类型生成所述对应于当前步的描述。所述关键步的类型包括好步、恶步、转折点。以围棋为例,针对好手的解说内容可以是“白82挤(好手):这步应手你居然能想到,真的是太强了!竟然和推荐棋子选择了同一个下法”。根据本公开实施例,所述生成对应于当前步的描述还包括:基于推荐棋子胜率、当前步胜率以及先前步胜率与当前步胜率的差值中的至少一种,生成所述对应于当前步的描述。例如,与胜率有关的描述可以是:“当前胜率80%(胜势),下完这手棋胜率跌到30%(劣势),一步棋之差胜负逆转,局面突然由胜势急转而下”、“当前胜率70%(优势),实际选点和推荐选点相同,维持了胜率,走对了这一步,你维持住了优势局面,继续走在胜利的道路上”等。作为一个具体示例,对于一个好手,针对其生成的描述可以包括“白82挤(好手):这步应手你居然能想到,真的是太强了!竟然和推荐棋子选择了同一个下法。白82挤下的好,挤可以暴露出对方的断点,促使对手补棋。这步棋应对无误,虽然胜率维持在26.1%,但是机会仍然存在,坚持下去才能够获得胜利”。根据本公开实施例,在所述关键步为恶步的情况下,确定所述当前步是否为恶步包括:获取对应于所述先前步胜率的胜率差值阈值;判断所述先前步胜率与当前步胜率的差值是否符合所述胜率差值阈值;将符合所述胜率差值阈值的当前步确定为恶步。以围棋人工智能为例,一般地,在胜率差值较大的选点中选取恶手,用来告诉用户在这局棋中问题出现在哪里。进一步地,根据围棋人工智能的特性,尽管胜率差值相同,但胜率由20%跌到10%的手数出现的问题一般要比胜率由45%跌到35%的手数的问题要大。由此,可以针对不同的先前步胜率设置不同的胜率差值阈值以更准确的确定棋局中的恶手。例如,对于位于0-20%之间的先前步胜率,可以将胜率差值阈值设置为8%,而对于位于20%-60%之间的先前步胜率,可以将胜率差值阈值设置为12%。示意性地,以p0=18%表示先前步胜率,即当前步之前一步的胜率值,以p1=9%表示当前步胜率,胜率差值δp=p0-p1=9%,由此,所述先前步胜率与当前步胜率的差值大于预设的胜率差值阈值,即符合胜率差值条件,可以将该当前步确定为恶手。如上所示出的,可以基于关键手数的类型生成所述对应于当前步的描述。作为一个示例,针对恶手的解说内容可以是“白114提(恶手),这招棋的选择有点问题”。根据本公开实施例,所述生成对应于当前步的描述还可以包括:确定推荐棋子的术语,基于所述推荐棋子的术语生成所述对应于当前步的描述。确定所述推荐棋子的术语的过程与以上确定当前步棋子的术语的过程类似,在此不再重复描述。对于恶步,其实际选点与推荐选点的位置不同,还可以基于推荐选点的术语生成针对恶步的描述。例如,以围棋为例,“白114提,推荐棋子在l15挖,突破对方形状缺陷,是常用的手筋”。此外,还可以基于胜率生成针对恶手的描述,例如,“相对于推荐棋子,实际落点使获胜几率降低14.7%,局势的平衡发生了改变”。总的来说,针对确定为恶手的关键手数,其描述可以包括“第114手(恶手):白114提,这招棋的选择有点问题。推荐棋子在l15挖,突破对方形状缺陷,是常用的手筋。相对于推荐棋子,实战落点使获胜几率降低14.7%,局势的平衡发生了改变”。根据本公开的方法还包括:对于确定为恶步的当前步,为所述当前步的后续步设置权重系数,以降低将所述后续步确定为恶步的概率。换句话说,对于确定为恶步的第114手,可以降低其后续手数被确定为恶步的概率。这是因为用户在第114手这一局部出现误判,即出现恶步,可能会在其后续出现多个胜率下降较多的手数,但问题点仍属于一个。对于此局部误判,通过设置权重系数可以仅确定一个恶步,以对此问题进行解说。根据本公开实施例,在所述关键步为转折点的情况下,确定所述当前步是否为转折点包括:获取胜率曲线;确定当前步胜率是否通过胜率曲线中的预设胜率值;在当前步胜率通过胜率曲线中的预设胜率值的情况下,确定当前步之后是否存在另一步的胜率通过所述预设胜率值;在确定不存在的情况下,将当前步确定为转折点。所述转折点用于确定本局棋的胜负关键点,在图1a中示出的基于围棋人工智能提供的胜率曲线中,标识出了胜率50%的分界线,例如,可以将50%的胜率值设置为所述预设胜率值。由此可以确定出转折点所在的手数。所述转折点可以与上述好步或者恶步重复,即,某一手数在确定为好步或者恶步的情况下,也可以作为胜率转折点。根据本公开实施例,可以生成确定为转折点的当前步的描述,例如,“在第120手(转折点),局势的平衡发生了根本的改变”。图3示出了根据本公开实施例的围棋描述示意图,如图3中示出的,棋盘的左侧以不同的图标分别示出了确定的不同类型的关键手数,其中,以云朵表示恶手(第68、114、118、124手),以笑脸表示好手(第82、98手),以圆圈表示转折点(第114手)。通过棋盘左侧的图标,用户可以直观地确定本局棋中重点手数,并查看针对该手数的棋盘信息以及相应的解说内容。以第114手为例,例如,用户可以通过点击左侧的图标来显示针对该手数的棋盘信息以及相应的解说内容。图3中的棋盘显示有第114手时的棋盘信息,以显示有数字114的白色棋子作为当前步棋子。对应地,棋盘的右侧显示有针对该第114手的描述。图3中,在描述的下方还示意性地示出了本局的胜率曲线图。在胜率曲线图中,横坐标为手数,纵坐标为甲方(即白子)的胜率,其中,第114手为胜率最后一次通过50%,作为本局的转折点。此外,如图3所示出的,还可以以设置按钮的方式来实现显示针对第114手的变化图、语音播报描述、暂停播放等功能。示意性地,以下表3列出了图3中示出的关键手数的对应描述。表3根据本公开实施例,所述棋盘信息处理方法还包括:确定分别对应于布局、中盘和收官区间的区间平均胜率;基于所述区间平均胜率、关键步、终局结果中的至少一种生成总结描述。例如,可以将第11-60手确定为布局区间,并进一步确定布局区间的平均胜率为65%,并生成针对该区间的总结性描述,例如,“己方11-60手平均胜率65%,第33手为好步,对应术语为“冲”,视为自己布局时优势,一个好的开始能够决定整局棋的走势,你在布局阶段发挥得十分出色,下出了像白33冲这种好步”。此外,还可以基于最终胜率生成总结描述,例如,“最后一手,己方胜率为20%,但终局结果是己方获胜,对方在优势时突然告负,是不是出现了什么意外?总之,恭喜你取得胜利!”。图4示出了根据本公开实施例的总结描述示意图,示出的总结描述是基于所述区间平均胜率、关键手数以及终局结果生成,该总结描述可以包括“从整盘棋进行思考是在布局时取得上风的秘诀,在布局上,你取得了不小的优势。到了焦灼激烈的中盘环节,局势变化无穷,你在中盘战斗时有所损失,局势还是比对方略差,你的第124手可能还需要再多想想。收官的过程则表现得有些平稳,你没有发现机会获得突破,最终落败。莫要丢失信心,持续努力,总会有一天你会战胜对手!”。图5示出了根据本公开实施例的以围棋为例给出的应用流程示意图,其中,棋盘信息为围棋。如图5所示,首先,在步骤s201,在用户进行围棋对弈后,可以提交棋盘分析请求,以用于实现如上所述的基于围棋人工智能的辅助分析。在步骤s202,在接收到分析请求后,可以将棋盘信息提供至基于围棋人工智能的服务器,以进行棋盘分析。接着,在步骤s203,生成分析结果。如上所述的,分析结果可以包括推荐棋子、概率以及棋盘变化图。接着参考图5,在步骤s204,确定本局关键手数。根据本公开实施例,可以基于分析结果提供的胜率来确定所述关键手数,所述关键手数包括好手、恶手、转折点。一般地,对于一个局棋,可以确定3-7个关键手数,以作为整局棋的重点。接着,在步骤s205,对于关键手数,生成对应的术语,所述术语可以由关键手数所对应的棋子及其周围棋子之间形成棋形确定,具体可以参照以上表2中所列出的。接着,在步骤s206,生成对应于关键手数的解说内容。例如,对于某一关键手数,以其作为如上所述的当前步,可以基于该当前步的术语、当前步胜率、推荐棋子、推荐棋子术语、推荐棋子胜率、胜率差值等来生成描述,以作为该关键手数的解说内容。所述解说内容具体可以参见以上表3中列出的内容。此外,所述方法还可以包括步骤s207,生成对应于本局棋的总结解说内容。例如,可以根据胜率曲线、关键手数、区间平均胜率等信息中的至少一部分来生成总结解说内容,以从全局的角度概括棋盘信息。根据本公开的方法还可以包括步骤s208,展示生成的解说内容。作为一个示例,可以如图3-图4所示出的,在显示界面上以文字形式展示生成的解说内容,以便于用户阅读研究。作为另一示例,还可以以语音播报的方式展示解说内容,并相应地设置停止、前进、后退等信息接收接口,以实现语音围棋解说的功能。利用根据本公开提供的棋盘信息处理方法,能够基于棋盘中的当前步以及当前棋盘信息确定当前步的术语,并自动地生成针对于该术语的描述,以作为该当前步的解说内容,便于棋类用户在棋局的复盘阶段理解下棋策略,以进行自我学习和提升。进一步地,根据本公开的方法还可以确定整局棋中的关键步,以针对性地生成对应于关键步的解说内容,使得用户可以直接关注于本局重点,从全局的角度上进行讲解以及总结,告诉用户“为什么要这样下”。对于利用根据本公开的方法生成的解说,能够应用于围棋教学、围棋直播等场景,给使用者更好的学习、赏析体验。根据本公开提供的方法,可以将基于人工智能输出的胜率与变化图,转化成拟人化的解说提供给用户,能够使用户收获更好的下棋体验,尤其对于看不懂胜率、变化图的低水平、低年龄的棋类用户,可以从中受益,体验下棋的乐趣。根据本公开的另一方面,还提供了一种基于人工智能的棋盘信息处理装置,用于基于棋盘中的当前步以及当前棋盘信息确定当前步的术语,并自动地生成针对于该术语的描述。具体的,图6示出了根据本公开实施例的棋盘信息处理装置的示意性框图。如图6所示,所述棋盘信息处理装置1000可以包括获取单元1010、棋子确定单元1020、术语确定单元1030、描述生成单元1040以及显示单元1050。根据本公开的一些实施例,所述获取单元1010可以配置成获取利用人工智能分析得到的当前步棋子以及当前棋盘信息。所述棋子确定单元1020可以配置成基于所述当前步棋子以及当前棋盘信息确定所述当前步棋子的至少一个周围棋子。所述术语确定单元1030可以配置成基于所述当前步棋子以及所述当前步棋子的至少一个周围棋子自动确定当前步的术语。所述描述生成单元1040可以配置成基于所述当前步的术语,生成对应于当前步的描述。所述显示单元1050可以配置成显示所述对应于当前步的描述。根据本公开的一些实施例,所述术语确定单元1030可以配置成:生成包含所述当前步棋子以及当前步棋子的至少一个周围棋子的棋子表示矩阵;基于所述棋子表示矩阵自动确定所述当前步的术语。根据本公开的一些实施例,所述术语确定单元1030还可以配置成:基于所述当前步棋子以及当前步棋子的至少一个周围棋子,分别生成包括棋子数目为2*2至n*n的n-1个棋子表示矩阵;分别基于所述n-1个棋子表示矩阵确定所述当前步的n-1个术语;将所述n-1个术语中预设权重值最高的术语确定为所述当前步的术语。如图6所示,根据本公开实施例的装置1000还包括关键步确定单元1060。所述关键步确定单元1060配置成:获取利用所述人工智能分析得到的所述当前步棋子以及棋盘信息的分析结果,其中,所述分析结果包括先前步胜率、推荐棋子、推荐棋子胜率以及当前步胜率中的至少一种;基于所述分析结果确定所述当前步是否为关键步,其中,所述关键步包括好步、恶步和转折点中的至少一种。进一步地,所述显示单元1050还配置成:显示所述棋盘信息,并以不同的图标显示所述好步、恶步和转折点。根据本公开的一些实施例,在所述关键步为好步的情况下,所述关键步确定单元1060配置成:确定所述当前步棋子与所述推荐棋子是否相同;在所述当前步棋子与所述推荐棋子相同的情况下,确定当前步的手数和当前步胜率是否分别符合手数和胜率的预设条件;以及在符合所述预设条件的情况下,将所述当前步确定为好步。根据本公开的一些实施例,在所述关键步为恶步的情况下,所述关键步确定单元1060配置成:获取对应于所述先前步胜率的胜率差值阈值;判断所述先前步胜率与当前步胜率的差值是否符合所述胜率差值阈值;将符合所述胜率差值阈值的当前步确定为恶步。根据本公开的一些实施例,所述关键步确定单元1060还配置成:对于确定为恶步的当前步,为所述当前步的后续步设置权重系数,以降低将所述后续步确定为恶步的概率。根据本公开的一些实施例,在所述关键步为转折点的情况下,所述关键步确定单元1060配置成:获取胜率曲线;确定当前步胜率是否通过胜率曲线中的预设胜率值;在当前步胜率通过胜率曲线中的预设胜率值的情况下,确定当前步之后是否存在另一步的胜率通过所述预设胜率值;在确定不存在的情况下,将当前步确定为转折点。根据本公开的一些实施例,所述描述生成单元1040还可以配置成:确定推荐棋子的术语;基于所述推荐棋子的术语、推荐棋子胜率、当前步胜率以及先前步胜率与当前步胜率的差值中的至少一种,生成所述对应于当前步的描述。根据本公开的一些实施例,所述描述生成单元1040还可以配置成:确定分别对应于布局、中盘和收官区间的区间平均胜率;基于所述区间平均胜率、关键步、终局结果中的至少一种生成总结描述。关于所述装置1000执行的步骤可以参照以上结合附图描述的根据本公开的棋盘信息处理方法,在此不再重复描述。根据本公开的又一方面,还提供了一种棋盘信息处理设备。图7示出了根据本公开实施例的棋盘信息处理设备的示意性框图。如图7所示,所述设备2000可以包括处理器2010、存储器2020以及显示器2030。根据本公开实施例,所述存储器2020中存储有计算机可读代码,所述计算机可读代码当由所述处理器2010运行时,执行如上所述的基于人工智能的棋盘信息处理方法,以基于确定的术语生成描述。所述显示器2030配置成显示按照所述棋盘信息处理方法生成的描述。处理器2010可以根据存储在存储器2020中的程序执行各种动作和处理。具体地,处理器2010可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是x86架构或者是arm架构等。存储器2020存储有计算机可执行指令代码,该指令代码在被处理器2010执行时用于实现根据本公开实施例的棋盘信息处理方法。存储器2020可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。易失性存储器可以是随机存取存储器(ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率同步动态随机存取存储器(ddrsdram)、增强型同步动态随机存取存储器(esdram)、同步连接动态随机存取存储器(sldram)和直接内存总线随机存取存储器(drram)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。根据本公开实施例的方法或装置也可以借助于图8所示的计算设备3000的架构来实现。如图8所示,计算设备3000可以包括总线3010、一个或多个cpu3020、只读存储器(rom)3030、随机存取存储器(ram)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如rom3030或硬盘3070可以存储本公开提供的棋盘信息处理方法的处理和/或通信使用的各种数据或文件以及cpu所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图8所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图8示出的计算设备中的一个或多个组件。根据本公开的又一方面,还提供了一种计算机可读存储介质。图9示出了根据本公开的存储介质的示意图。如图9所示,所述计算机存储介质4020上存储有计算机可读指令4010。当所述计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的基于人工智能的棋盘信息处理方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。例如,所述计算机存储介质4020可以连接于诸如计算机等的计算设备,接着,在所述计算设备运行所述计算机存储介质4020上存储的计算机可读指令4010的情况下,可以进行如上所述的棋盘信息处理方法。本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。所述单元仅是说明性的,并且所述系统和方法的不同方面可以使用不同单元。本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。除非另有定义,这里使用的所有术语(包括围棋术语、技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1