CN111178088B - 一种面向xml文档的可配置神经机器翻译方法 - Google Patents
一种面向xml文档的可配置神经机器翻译方法 Download PDFInfo
- Publication number
- CN111178088B CN111178088B CN201911324182.7A CN201911324182A CN111178088B CN 111178088 B CN111178088 B CN 111178088B CN 201911324182 A CN201911324182 A CN 201911324182A CN 111178088 B CN111178088 B CN 111178088B
- Authority
- CN
- China
- Prior art keywords
- translation
- tag
- strategy
- content
- model
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开一种面向XML文档的可配置神经机器翻译方法,步骤为:定义标签翻译策略;准备大量的双语对齐语料,使语义单元分布到训练语料中;将构造好的训练数据,预处理后送到神经机器翻译模型中进行训练,训练至收敛时保存模型文件;加载训练好的模型到解码器中;将标签翻译策略写入一个配置文件中;根据配置好的翻译策略,将输入源语经过解码前处理,将不同策略的标签替换成对应的语义单元,再进行分词操作后送入解码器获取翻译结果;解码器返回的翻译结果为含有特定语义单元的结果,将语义单元替换回事先存储的标签,得到完整的标签译文写出到XML文件。本发明方法提取文本翻译模型本身就认识标签的存在,能自主解码出带标签的译文。
Description
技术领域
本发明涉及一种机器翻译应用方法,具体为一种面向XML文档翻译的神经机器翻译方法。
背景技术
机器翻译的研究已经全面转型到了神经机器翻译技术,并广泛应用于各行各业。在机器翻译的众多应用中,文档翻译是工作和生活中常用的翻译技术。根据文档的类型,对文档编写特定的解析程序,提取出其中纯粹的文本内容,再逐句送到翻译模型中进行翻译。XML文档是一种可扩展标记语言,用于标记电子文件,使其具有结构性。XML的简单格式易于在任何应用程序中读/写数据,这使XML很快成为数据交换的通用文档,XML自动翻译也成为文档翻译的重要需求。XML以纯文本格式存储,其标签的灵活性和样式的多样性,在XML的解析和翻译过程中面临着以下解析困难和句子提取不完整等问题:
1)XML版本与解析程序不匹配;
2)部分标签内容不需要翻译,翻译后无法原样保留;
3)部分标签内容与上下文相关,独立翻译不准确;
4)部分标签冗余,需保留内容删除标签,使上下文衔接。
XML的使用十分广泛,当用户对XML翻译提出更高要求时,仅仅靠外部程序解析提取句子,不能达到理想的翻译效果,甚至损失了神经机器翻译模型的性能。而且,解析程序是依靠规则编写的,当格式复杂或翻译需求变更时,重新编写程序需要消耗大量的时间成本和人工成本。
发明内容
针对XML自动翻译中存在的解析错误和提取句子不完整导致翻译效果下降等不足,本发明要解决的问题是提供一种可由用户配置,指定XML标签翻译策略的面向XML文档的可配置神经机器翻译方法。
为了解决上述问题,本发明采用的技术方案是:
本发明一种面向XML文档的可配置神经机器翻译方法,包括以下步骤:
1)定义标签翻译策略:归纳存在的标签翻译策略,并为每种标签翻译策略定义出一个语义单元,用于辅助神经机器翻译模型学习翻译策略;
2)构造训练数据:准备大量的双语对齐语料,将定义的语义单元,根据其对应的翻译策略,使语义单元分布到训练语料中;每种语义单元的分布位置和方式,取决于翻译该单元的策略;
3)模型训练和部署:将构造好的训练数据,经过预处理加工,送到神经机器翻译模型中进行训练,训练至收敛时保存模型文件;加载训练好的模型到解码器中,用于提供翻译能力;
4)配置翻译策略:将标签翻译策略写入一个配置文件中,便于随时修改翻译策略并及时生效;
5)解码前处理:根据配置好的翻译策略,将输入源语经过解码前处理,将不同策略的标签替换成对应的语义单元,再进行分词操作后送入解码器获取翻译结果;
6)解码后处理:解码器返回的翻译结果为含有特定语义单元的结果,将语义单元替换回事先存储的标签,得到完整的标签译文写出到XML文件,完成本次翻译过程。
步骤1)定义标签翻译策略:是根据普遍存在的问题,归纳存在的标签翻译策略,并为每种标签翻译策略定义出一个语义单元,用于辅助神经机器翻译模型学习翻译标签的策略,具体包括以下几种:
101)待翻译标签:表示当前标签中的内容需要翻译模型自动翻译,定义的语义单元为<$Trans></$Trans>;
102)不翻译标签:表示当前标签中的内容不需要翻译模型自动翻译,应保留原始内容,定义的语义单元为<$NoTrans></$NoTrans>;
103)标签体删除,内容合并上下文翻译:表示当前标签中内容应与上下文一同翻译,并在翻译结果中不保留当前标签体,定义的语义单元为<$DelTag></$DelTag>;
104)标签体保留,内容合并上下文翻译:表示当前标签中内容应与上下文一同翻译,并在翻译结果中保留当前标签体,定义的语义单元为<$Ignore></$Ignore>;
105)标签体删除,内容删除:表示当前标签体及内容为无用信息,不希望出现在XML译文中,定义的语义单元为<$DelAll></$DelAll>。
步骤2)构造训练数据为:
为每种策略分别构造大量的训练数据,具体方法为:
201)待翻译标签构造训练数据:将数据两端添加语义单元<$Trans></$Trans>即可;
202)不翻译标签训练数据:无需构造训练数据;
203)标签体删除,内容合并上下文翻译训练数据:截取源语内子句,在子句两端添加语义单元<$DelTag></$DelTag>即可;
204)标签体保留,内容合并上下文翻译训练样例:首先使用平行短语构造训练数据,准备双语平行短语和双语平行数据;遍历双语平行数据,找出包含任意双语短语对的句对,在所包含的短语对前后分别添加<$DelTag></$DelTag>语义单元;然后使用双语词典构造训练数据,准备双语词典和双语平行数据,遍历双语平行数据,找出包含任意双语词典的句对,在所包含的词语前后分别添加<$DelTag></$DelTag>语义单元;
205)标签体删除,内容删除训练数据:无需构造训练数据。
步骤5)中解码前处理是在模型训练完成后,将模型部署成服务,当有翻译任务进入解码器之前,需要将标签数据替换成语义单元的表示形式,操作具体包括以下步骤:
501)从XML文档中读取标签文本,通过正则表达式识别其中存在的标签体;
502)按照翻译策略配置文件将其中存在的标签替换为对应的语义单元,并将原来标签体保存下来以便解码后处理还原;
503)对替换后的内容进行分词操作,分词过程中保留完整的语义单元。
本发明具有以下有益效果及优点:
1.应用本发明方法不再依赖外部解析程序提取文本,XML翻译过程中,翻译模型本身就认识标签的存在,能自主解码出带标签的译文;
2.本发明方法对任意标签翻译时的操作是可配置的,可指定不同标签的翻译策略,如哪些标签不允许翻译,哪些标签需要合并上下文共同翻译等;
3.本发明方法应用不同标签翻译策略解决了不需要翻译的标签内容无法原样保留的不足;避免了部分标签内容与上下文相关,独立翻译不准确等问题,同时对于部分标签冗余的问题,可以保留内容删除标签使上下文完整翻译。
附图说明
图1为本发明方法涉及的翻译策略和语义单元定义示例图;
图2为本发明方法涉及的需要用户配置翻译策略示例图;
图3为本发明方法涉及的XML神经机器翻译训练及部署流程图示;
图4为本发明方法涉及的XML神经机器翻译应用流程图示。
具体实施方式
下面结合说明书附图对本发明作进一步阐述。
本发明一种面向XML文档的可配置神经机器翻译方法,用于通过用户自定义XML标签翻译策略解决不同用户对于XML文档翻译的译文高精度要求的问题,翻译策略的配置样例如图2所示。
图3为可配置神经机器翻译模型训练及部署流程,能够根据XML标签特点以及用户的翻译需求自定义翻译策略,满足不同用户对于XML文档的高精度翻译要求,包括以下步骤:
1)定义标签翻译策略:归纳存在的标签翻译策略,并为每种标签翻译策略定义出一个语义单元,用于辅助神经机器翻译模型学习翻译策略;
2)构造训练数据:准备大量的双语对齐语料,将定义的语义单元,根据其对应的翻译策略,使语义单元分布到训练语料中;每种语义单元的分布位置和方式,取决于翻译该单元的策略;
3)模型训练和部署:将构造好的训练数据,经过预处理加工,送到神经机器翻译模型中进行训练,训练至收敛时保存模型文件;加载训练好的模型到解码器中,用于提供翻译能力;
4)配置翻译策略:将标签翻译策略写入一个配置文件中,便于随时修改翻译策略并及时生效;
5)解码前处理:根据配置好的翻译策略,将输入源语经过解码前处理,将不同策略的标签替换成对应的语义单元,再进行分词操作后送入解码器获取翻译结果,流程如图4所示;
6)解码后处理:解码器返回的翻译结果为含有特定语义单元的结果,将语义单元替换回事先存储的标签,得到完整的标签译文写出到XML文件,完成本次翻译过程。
步骤1)中根据普遍存在的问题,归纳出可能存在的标签翻译策略,并定义出不同翻译策略的语义单元,具体包括以下几种:
101)待翻译标签:表示当前标签中的内容需要翻译模型自动翻译,定义的语义单元为<$Trans></$Trans>;
102)不翻译标签:表示当前标签中的内容不需要翻译模型自动翻译,应保留原始内容,定义的语义单元为<$NoTrans></$NoTrans>;
103)标签体删除,内容合并上下文翻译:表示当前标签中内容应与上下文一同翻译,并在翻译结果中不保留当前标签体,定义的语义单元为<$DelTag></$DelTag>;
104)标签体保留,内容合并上下文翻译:表示当前标签中内容应与上下文一同翻译,并在翻译结果中保留当前标签体,定义的语义单元为<$Ignore></$Ignore>;
105)标签体删除,内容删除:表示当前标签体及内容为无用信息,不希望出现在XML译文中,定义的语义单元为<$DelAll></$DelAll>
步骤2)中构造训练数据,需要根据步骤1)中的5种不同翻译策略的标签进行构造,为每种策略分别构造大量的训练数据,具体方法和样例如下:
201)待翻译标签构造训练数据:该标签用于表示当前文本内容需要被模型翻译,将数据两端添加语义单元<$Trans></$Trans>即可,样例如下。
202)不翻译标签训练数据:该标签用于表示当前文本内容不需要经过模型翻译,因此无需构造训练数据。
203)标签体删除,内容合并上下文翻译训练数据:该标签表示当前文本内容需要模型翻译,并且需要删除标签体使内容合并上下文后翻译。截取源语内子句,在子句两端添加语义单元<$DelTag></$DelTag>即可。
204)标签体保留,内容合并上下文翻译训练样例:该标签表示当前文本内容需要模型翻译,并且需要结合上下文翻译,翻译后保留原标签。
205)标签体删除,内容删除训练数据:该标签表示当前内容不需要经过模型翻译,因此无需构造训练数据。
训练数据204)构造过程为:
首先使用平行短语构造训练数据,准备一定量的双语平行短语和大量的双语平行数据。遍历双语平行数据,找出包含任意双语短语对的句对,在所包含的短语对前后分别添加<$DelTag></$DelTag>语义单元;
然后使用双语词典构造训练数据,准备一定量的双语词典和大量的双语平行数据,遍历双语平行数据,找出包含任意双语词典的句对,在所包含的词语前后分别添加<$DelTag></$DelTag>语义单元。
步骤5)中解码前处理是在模型训练完成后,将模型部署成服务,当有翻译任务进入解码器之前,需要将标签数据替换成语义单元的表示形式,操作具体包括以下步骤:
501)从XML文档中读取标签文本,通过正则表达式识别其中存在的标签体;
502)按照翻译策略配置文件将其中存在的标签替换为对应的语义单元,并将原来标签体保存下来以便解码后处理还原;
503)对替换后的内容进行分词操作,分词过程中保留完整的语义单元。
其中502)标签替换为语义单元的具体样例如下:
本发明方法定义了5种标签翻译策略并构造携带标签的双语平行数据用于神经机器翻译模型训练,使机器翻译模型有能力自动完成带标签文本的自动翻译。在本方法应用过程中,待翻译XML文本经过解码前处理,将XML标签以模型能够识别的语义单元表示,保留了完整的上下文信息和翻译策略,再由翻译模型解码取得完整的翻译译文,经解码后处理还原语义标识为原始标签最后写出到新的XML文本中。
Claims (2)
1.一种面向XML文档的可配置神经机器翻译方法,其特征在于包括以下步骤:
1)定义标签翻译策略:归纳存在的标签翻译策略,并为每种标签翻译策略定义出一个语义单元,用于辅助神经机器翻译模型学习翻译策略;
2)构造训练数据:准备大量的双语对齐语料,将定义的语义单元,根据其对应的翻译策略,使语义单元分布到训练语料中;每种语义单元的分布位置和方式,取决于翻译该单元的策略;
3)模型训练和部署:将构造好的训练数据,经过预处理加工,送到神经机器翻译模型中进行训练,训练至收敛时保存模型文件;加载训练好的模型到解码器中,用于提供翻译能力;
4)配置翻译策略:将标签翻译策略写入一个配置文件中,便于随时修改翻译策略并及时生效;
5)解码前处理:根据配置好的翻译策略,将输入源语经过解码前处理,将不同策略的标签替换成对应的语义单元,再进行分词操作后送入解码器获取翻译结果;
6)解码后处理:解码器返回的翻译结果为含有特定语义单元的结果,将语义单元替换回事先存储的标签,得到完整的标签译文写出到XML文件,完成本次翻译过程;
步骤1)定义标签翻译策略:是根据普遍存在的问题,归纳存在的标签翻译策略,并为每种标签翻译策略定义出一个语义单元,用于辅助神经机器翻译模型学习翻译标签的策略,具体包括以下几种:
101)待翻译标签:表示当前标签中的内容需要翻译模型自动翻译,定义的语义单元为<$Trans></$Trans>;
102)不翻译标签:表示当前标签中的内容不需要翻译模型自动翻译,应保留原始内容,定义的语义单元为<$NoTrans></$NoTrans>;
103)标签体删除,内容合并上下文翻译:表示当前标签中内容应与上下文一同翻译,并在翻译结果中不保留当前标签体,定义的语义单元为<$DelTag></$DelTag>;
104)标签体保留,内容合并上下文翻译:表示当前标签中内容应与上下文一同翻译,并在翻译结果中保留当前标签体,定义的语义单元为<$Ignore></$Ignore>;
105)标签体删除,内容删除:表示当前标签体及内容为无用信息,不希望出现在XML译文中,定义的语义单元为<$DelAll></$DelAll>;
步骤2)构造训练数据为:
为每种策略分别构造大量的训练数据,具体方法为:
201)待翻译标签构造训练数据:将数据两端添加语义单元<$Trans></$Trans>即可;
202)不翻译标签训练数据:无需构造训练数据;
203)标签体删除,内容合并上下文翻译训练数据:截取源语内子句,在子句两端添加语义单元<$DelTag></$DelTag>即可;
204)标签体保留,内容合并上下文翻译训练样例:首先使用平行短语构造训练数据,准备双语平行短语和双语平行数据;遍历双语平行数据,找出包含任意双语短语对的句对,在所包含的短语对前后分别添加<$DelTag></$DelTag>语义单元;然后使用双语词典构造训练数据,准备双语词典和双语平行数据,遍历双语平行数据,找出包含任意双语词典的句对,在所包含的词语前后分别添加<$DelTag></$DelTag>语义单元;
205)标签体删除,内容删除训练数据:无需构造训练数据。
2.根据权利要求1所述的面向XML文档的可配置神经机器翻译方法,其特征在于步骤5)中解码前处理是在模型训练完成后,将模型部署成服务,当有翻译任务进入解码器之前,需要将标签数据替换成语义单元的表示形式,操作具体包括以下步骤:
501)从XML文档中读取标签文本,通过正则表达式识别其中存在的标签体;
502)按照翻译策略配置文件将其中存在的标签替换为对应的语义单元,并将原来标签体保存下来以便解码后处理还原;
503)对替换后的内容进行分词操作,分词过程中保留完整的语义单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911324182.7A CN111178088B (zh) | 2019-12-20 | 2019-12-20 | 一种面向xml文档的可配置神经机器翻译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911324182.7A CN111178088B (zh) | 2019-12-20 | 2019-12-20 | 一种面向xml文档的可配置神经机器翻译方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111178088A CN111178088A (zh) | 2020-05-19 |
CN111178088B true CN111178088B (zh) | 2023-06-02 |
Family
ID=70654007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911324182.7A Active CN111178088B (zh) | 2019-12-20 | 2019-12-20 | 一种面向xml文档的可配置神经机器翻译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111178088B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743131A (zh) * | 2020-05-28 | 2021-12-03 | 腾讯科技(深圳)有限公司 | 电子邮件的翻译方法、装置和计算机设备 |
CN112257461A (zh) * | 2020-11-03 | 2021-01-22 | 沈阳雅译网络技术有限公司 | 一种基于注意力机制的xml文档翻译及评价方法 |
CN112257462A (zh) * | 2020-11-03 | 2021-01-22 | 沈阳雅译网络技术有限公司 | 一种基于神经机器翻译技术的超文本标记语言翻译方法 |
CN112507737A (zh) * | 2020-12-22 | 2021-03-16 | 航天科工网络信息发展有限公司 | 一种基于标签的文本翻译系统 |
CN113378585B (zh) * | 2021-06-01 | 2023-09-22 | 珠海金山办公软件有限公司 | Xml文本数据翻译方法和装置、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210558A (ja) * | 1994-01-20 | 1995-08-11 | Fujitsu Ltd | 機械翻訳装置 |
CN107967263A (zh) * | 2017-12-11 | 2018-04-27 | 中译语通科技股份有限公司 | 一种机器翻译数字泛化方法及系统、计算机、计算机程序 |
CN108334481A (zh) * | 2018-03-01 | 2018-07-27 | 四川语言桥信息技术有限公司 | 文档处理方法以及装置 |
CN109840331A (zh) * | 2019-01-31 | 2019-06-04 | 沈阳雅译网络技术有限公司 | 一种基于用户词典的神经机器翻译方法 |
CN110263349A (zh) * | 2019-03-08 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 语料评估模型训练方法、装置、存储介质和计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306807B2 (en) * | 2009-08-17 | 2012-11-06 | N T repid Corporation | Structured data translation apparatus, system and method |
US10769387B2 (en) * | 2017-09-21 | 2020-09-08 | Mz Ip Holdings, Llc | System and method for translating chat messages |
-
2019
- 2019-12-20 CN CN201911324182.7A patent/CN111178088B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210558A (ja) * | 1994-01-20 | 1995-08-11 | Fujitsu Ltd | 機械翻訳装置 |
CN107967263A (zh) * | 2017-12-11 | 2018-04-27 | 中译语通科技股份有限公司 | 一种机器翻译数字泛化方法及系统、计算机、计算机程序 |
CN108334481A (zh) * | 2018-03-01 | 2018-07-27 | 四川语言桥信息技术有限公司 | 文档处理方法以及装置 |
CN109840331A (zh) * | 2019-01-31 | 2019-06-04 | 沈阳雅译网络技术有限公司 | 一种基于用户词典的神经机器翻译方法 |
CN110263349A (zh) * | 2019-03-08 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 语料评估模型训练方法、装置、存储介质和计算机设备 |
Non-Patent Citations (1)
Title |
---|
哈乐."基于实例的汉语言机器翻译系统的研究与实现".《中国优秀硕士学位论文全文数据库信息科技辑》.2013,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111178088A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178088B (zh) | 一种面向xml文档的可配置神经机器翻译方法 | |
CN104317788B (zh) | Android多国语言翻译方法和装置 | |
CN113807098A (zh) | 模型训练方法和装置、电子设备以及存储介质 | |
CN105243055A (zh) | 基于多语言的分词方法和装置 | |
CN112380864B (zh) | 一种基于回译的文本三元组标注样本增强方法 | |
US9817887B2 (en) | Universal text representation with import/export support for various document formats | |
CN112766000A (zh) | 基于预训练模型的机器翻译方法及系统 | |
CN111160026B (zh) | 一种模型训练方法、装置、实现文本处理的方法及装置 | |
US10120843B2 (en) | Generation of parsable data for deep parsing | |
CN112417897A (zh) | 词对齐模型训练、文本处理的方法、系统、设备和介质 | |
CN112417823A (zh) | 一种中文文本语序调整和量词补全方法及系统 | |
US6754386B1 (en) | Method and system of matching ink processor and recognizer word breaks | |
CN111026815A (zh) | 基于用户辅助修正下的实体对特定关系抽取方法 | |
CN111563372B (zh) | 一种基于教辅书籍出版的排版文档内容自查重方法 | |
CN109344389B (zh) | 一种汉盲对照双语语料库的构建方法和系统 | |
CN107168950B (zh) | 一种基于双语语义映射的事件短语学习方法及装置 | |
CN113448563B (zh) | 一种LaTeX在线协作平台 | |
CN109871550A (zh) | 一种基于后处理技术的提高数字翻译质量的方法 | |
CN112966529A (zh) | 神经网络机器翻译训练方法、系统、介质、设备及应用 | |
CN109960720B (zh) | 针对半结构化文本的信息抽取方法 | |
CN112507737A (zh) | 一种基于标签的文本翻译系统 | |
CN114154489A (zh) | 一种三元组抽取方法、装置、设备及存储介质 | |
Suriyachay et al. | Thai named entity tagged corpus annotation scheme and self verification | |
Dahar et al. | An efficient Sindhi spelling checker for Microsoft Word | |
CN110888976A (zh) | 一种文本摘要生成方法和装置 |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Du Quan Inventor after: Liu Xingyu Inventor before: Du Quan Inventor before: Liu Xingyu Inventor before: Zhu Jingbo Inventor before: Xiao Tong Inventor before: Zhang Chunliang |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |