本发明涉及材料晶体结构数据库以及大语言模型的应用,特别是涉及一种基于语义理解的晶体材料结构生成方法。
背景技术:
1、自“材料基因组计划”以来,基于高通量、机器学习的数据驱动的材料信息学研究范式日趋重要。以 materials project为代表的材料数据库是其基石之一。materialsproject 材料数据库含有十余万电池、光伏、热电、催化等材料条目,可通过网页、rest api或python库访问。如何让研究人员更加方便高效地实现对 materials project 数据库的访问,从而有利于推进材料信息学研究,是现有技术所面临的一项挑战。
2、需要说明的是,在上述背景技术部分公开的信息仅用于对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、近年来,以 openai 的生成式预训练转换器 (gpt) 为代表的、基于万亿数量级参数和训练集的生成性大语言模型,正逐步取代传统的自然语言处理工具。gpt-4在阅读理解、代码等领域展现出与常人和领域专家可比拟的水平。发明人通过将材料晶体结构数据库访问与大语言模型技术相结合,提出了本发明的解决方案。
2、本发明的主要目的在于解决上述背景技术中存在的问题,提供一种基于语义理解的晶体材料结构生成方法。
3、为实现上述目的,本发明采用以下技术方案:
4、一种基于语义理解的晶体材料结构生成方法,包括以下步骤:
5、s1、查询语句结构化:使用大语言模型将用户所输入的自然语言查询语句转换为结构化数据;
6、s2、单质材料结构构建:基于步骤s1得到的结构化数据,如果确认查询对象为单质材料,基于单质晶态结构数据库构建其晶体结构;
7、s3、常见晶体结构构建:基于步骤s1得到的结构化数据,如果用户查询指定了常见晶体结构类型,基于其定义使用材料模拟工具库构建其晶体结构;
8、s4、一般晶态材料数据库查询:对于步骤s1得到的结构化数据中包含的化学式,如果不属于单质材料且未指明常见晶体结构类型,访问晶体材料数据库进行查询;
9、s5、元素代换查询:对于晶体材料数据库中无匹配结果的查询,通过同主族元素替换查找可能相关的晶体结构;
10、s6、晶体材料文件格式转换:根据查询得到的晶体结构信息,转换并输出合适的晶体结构数据文件。
11、进一步地:
12、所述大语言模型为gpt-4,所述结构化数据以json格式输出,用于后续步骤的查询参数解析。
13、步骤s1具体包括:
14、通过用户界面提示和用户提示模板,引导用户输入自然语言查询语句;
15、利用大语言模型和系统提示,将用户输入转换为结构化数据;
16、对生成的结构化数据进行格式和内容验证。
17、步骤s2具体包括:
18、将化学式转换为适用于材料模拟的专用数据格式,使用pymatgen库进行格式转换和验证;
19、确认转换后的化学式是否属于预定义的单质材料列表中的一种,若属于,则继续后续步骤,否则返回查询结果;
20、根据确认的单质材料,查询webelements数据库以获取其具体的晶体结构参数,包括空间群符号和晶体结构常数;
21、使用ase.spacegroup库和获取的结构参数构建单质材料的原子结构模型。
22、步骤s3具体包括:
23、检查结构化查询参数中是否对晶体结构有明确要求或说明,指定的晶体结构是否为预定义的常见晶体结构中的一种;
24、若果指定的晶体结构是常见的晶体结构的一种,但用户未提供晶胞参数,则使用默认的对应晶体结构的晶胞参数;
25、基于晶体结构类型与晶胞参数,通过ase.build模块构筑晶体结构。
26、所述常见晶体结构包括简单立方(sc)、面心立方(fcc)、体心立方(bcc)、六方最密堆积(hcp)、金刚石型(diamond),闪锌矿结构(zincblende),岩盐型结构(rocksalt),氯化铯结构 (cesiumchloride),氟化物结构(fluorite)。
27、步骤s4具体包括:
28、使用mp-api库与materials project数据库的新api端点建立会话,以便进行晶体结构数据检索;
29、根据步骤s1得到的结构化查询参数,在materials project数据库中搜索与用户化学式匹配的晶体结构条目;
30、若存在多个匹配的晶体结构条目,执行以下分析以确定最稳定可信的晶体结构:
31、i. 列出匹配的晶体结构及其形成能、数据来源和条目id;
32、ii. 优先选择形成能最低的晶体结构,认为其热力学上最稳定;
33、iii. 在低形成能结构中,优先选择实验测定的结构;
34、iv. 若仍有多个选项,选择最早录入数据库的晶体结构;
35、若未找到匹配的晶体结构,则执行步骤s5,具体包括:
36、i. 将用户化学式转换为pymatgen的formula格式并处理为字典;
37、ii. 为每个元素获取同主族元素列表,并进行笛卡尔积运算得到可能的化学式替换;
38、iii. 使用替换得到的化学式集合重新查询materials project数据库;
39、iv. 若重新查询后仍无匹配条目,执行错误报告程序。
40、一种计算机可读存储介质,存储有计算机程序,所述计算机程序由处理器执行时实现所述的基于语义理解的晶体材料结构生成方法。
41、一种计算机程序产品,包括计算机程序,所述计算机程序由处理器执行时实现所述的基于语义理解的晶体材料结构生成方法。
42、本发明具有如下有益效果:
43、本发明提供一种基于语义理解的晶体材料结构生成方法,可实现除网页、restapi、python库之外的第四种基于自然语言交互的查询材料晶体结构数据库如materialsproject 数据库。该自然语言接口免除了研究人员学习materials project 编程接口的需要,提高了materials project 数据库的易用度。
44、现有的基于抽象语法树的编程语言是一种完全精确、结构性、面向机器的人机交互方式,而模糊、生成性的大语言模型则更用户友好。基于自然语言(而非api界面或库函数)的人机交互方式应用于材料学数据库查询上,能够降低材料科研人员的思考负担和使用门槛,沟通整合基于自然语言的文献等非结构性数据与 materials project等结构性数据,加速材料学研究和人工智能大语言模型的实际应用。
45、本发明实施例通过封装materials project的编程查询语法和基于材料领域知识的查询流程逻辑,实现了易用的基于自然语言的materials project查询界面。
46、本发明实施例中的其他有益效果将在下文中进一步述及。
1.一种基于语义理解的晶体材料结构生成方法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于语义理解的晶体材料结构生成方法,其特征在于,所述大语言模型为gpt-4,所述结构化数据以json格式输出,用于后续步骤的查询参数解析。
3.如权利要求1所述的基于语义理解的晶体材料结构生成方法,其特征在于,步骤s1具体包括:
4.如权利要求1所述的基于语义理解的晶体材料结构生成方法,其特征在于,步骤s2具体包括:
5.如权利要求1所述的基于语义理解的晶体材料结构生成方法,其特征在于,步骤s3具体包括:
6.如权利要求5所述的基于语义理解的晶体材料结构生成方法,其特征在于,所述常见晶体结构包括简单立方、面心立方、体心立方、六方最密堆积、金刚石型,闪锌矿结构,岩盐型结构,氯化铯结构,氟化物结构。
7.如权利要求5所述的基于语义理解的晶体材料结构生成方法,其特征在于,步骤s4具体包括:
8.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序由处理器执行时实现如权利要求1至7任一项所述的基于语义理解的晶体材料结构生成方法。
9.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序由处理器执行时实现如权利要求1至7任一项所述的基于语义理解的晶体材料结构生成方法。