本发明涉及一种基于词典平台的字符串解释方法及词典平台。
背景技术:
在传统方法中,对于词典的使用通常是固定的,通过用户输入获取需要解释的字符串,导入后在词典中查找。对于用户输入的字符串的自动校正和文本预测是使用静态语言模型产生的,静态语言模型可以是用测试模拟开放的并且被硬编码在设备上,用户可以能够明确地将字词添加到模型中或忽略字词,但是在其他方面,静态语言模型可能不适配于特定用户和交互情景。因此,使用传统技术提供的文本预测候选结果是对用户和/或情景经常是不恰当的或不相关的,这可能导致挫败和缺少对预测的信任。
技术实现要素:
本发明所要解决的技术问题是,针对现有技术的不足,提供一种能够导入多种词典,对多种语言种类的字符串进行解释的基于词典平台的字符串解释方法及词典平台。
本发明解决上述技术问题的技术方案如下:一种基于词典平台的字符串解释方法,其应用于词典平台中,包括以下步骤:
S1,接收用户输入的字符串;
S2,将字符串与预先导入的至少一个词典进行匹配,获得至少一个解释信息,并通过一级展示界面输出;
S3,通过对一级展示界面的操作,控制展示或隐藏二级展示界面,所述二级展示界面输出对词典的管理操作按键。
本发明的有益效果是:本发明提供的方法可以对多种语言的字符串进行解释,并具有自学习功能,可以导入多个词典,可以对多种语言实现翻译;通过一级展示界面和二级展示界面的方式展示字符串信息的解释信息和词典的相关信息,使用户可以根据选择查看全部或部分信息,使字符串翻译更快速。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述S1还包括,判断接收的字符串的语言种类,根据语言种类将字符串在搜索框中正确显示。
采用上述进一步技术方案实现的技术效果是,对于不同字体如:梵语天城体、拉丁文字母转写、藏语、蒙语、满语、希伯来语等;支持不同的书写方式和显示方式,左至右、从右到左、从上到下不同字体显示方式都能支持,不会出现显示错误和部分字符不显示的问题。
进一步,所述S2中获取一个词典中对应所述字符串信息对应的解释信息包括以下步骤:
字符串与词典中保存的所有字符串进行匹配,将匹配的字符串及字符串对应的解释信息输出,得到字符串对应该词典的所有解释信息。
进一步,所述S2中对获得的至少一个解释信息进行排序,将排序后的解释信息通过一级展示界面输出。
进一步,所述排序过程包括以下步骤:
获取所有解释信息对应的词典,得到至少一个词典;
获取每个词典的文化信息,将所有文化信息中重复最多的设置为标准文化信息;
按照标准文化信息中设定的词序对所有解释信息进行降序排列。
采用上述进一步技术方案实现的技术效果是,一个词典只有一个文化信息,获取每个词典的文化信息,之后可以得到出现次数最多的文化信息。
其中,文化信息是从Cultrure Information直译过来的,指的是:这个词典基于的语言和文化,它不单指国家和语言。比如:《新华词典》的文化信息就是:中国-汉语;《藏汉大辞典》的文化信息就是:中国-藏语。
进一步,对得到的所有解释信息中对应同一词典的至少一个解释信息加入到一个DIV标签中。
进一步,将得到的所有DIV标签汇总得到一个HTML文档格式的解释文本。
HTML超文本标记语言,标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。
DIV标签(DIV元素):是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。DIV标签称为区隔标记。作用:设定字、画、表格等的摆放位置。当你把文字、图象,或其他的放在DIV中,它可称作为“DIV block”,或“DIV element”或“CSS-layer”,或干脆叫“layer”。而中文我们把它称作“层次”。
进一步,所述二级展示界面输出的对词典的管理操作按键包括查看词典按键、添加词典按键和删除词典按键;
所述二级展示界面还输出词典详细信息。
进一步,所述二级展示界面输出的按键还包括搜索按键,所述搜索按键 用于在所有词典中快速选择一个词典。
进一步,所述词典平台对预先导入的每个词典中的所有文本解释建立一个p标签,将解释信息添加到所述p标签中,基于所有p标签设置一套HTML样式表;所述字符串与词典中的字符串进行匹配时,通过引用HTML样式表获得解释信息。
p标签是段落标签,里面可以加入文字,列表,表格等。
p标签是成对出现的,以<p>开始,以</p>结束;属性:Common--一般属性;p是paragraph的缩写。
采用上述进一步技术方案实现的技术效果是,由于较老的词典版本较为简单,均为文本解释,而新的词典基于HTML技术,给予了更丰富的内容展示,因此存在HTML/普通文本混合展示的问题,通过上述技术手段解决了这个问题。通过导入词典可以不断对本发明进行升级,即使出现开放词典中不存在的单词也仅需针对此单词进行加载相应词典即可,通过不断加载可不断扩展其功能范围,以适应技术的发展。
本发明解决上述技术问题的技术方案如下:一种词典平台,包括:
接收模块,接收用户输入的字符串;
一级展示模块,将字符串与预先导入的至少一个词典进行匹配,获得至少一个解释信息,并通过一级展示界面输出;
二级展示模块,通过对一级展示界面的操作,控制展示或隐藏二级展示界面,所述二级展示界面输出对词典的管理操作按键。
附图说明
图1为本发明实施例1所述的一种基于词典平台的字符串解释方法流程图;
图2为本发明实施例2所述的一种词典平台结构示意图;
图3为本发明具体示例中导入StarDict的生成方法流程图;
图4为本发明具体示例中导入MDict的流程图;
图5为本发明具体示例中得到单词列表的流程图;
图6为本发明具体示例中读取单词和解释的流程图;
图7为本发明具体示例中得到单词序号的流程图;
图8为本发明具体示例中得到单词列表的流程图。
附图中,各标号所代表的部件列表如下:
1、接收模块,2、一级展示模块,3、二级展示模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明实施例1所述的一种基于词典平台的字符串解释方法,其应用于词典平台中,包括以下步骤:
S1,接收用户输入的字符串;
S2,将字符串与预先导入的至少一个词典进行匹配,获得至少一个解释信息,并通过一级展示界面输出;
S3,通过对一级展示界面的操作,控制展示或隐藏二级展示界面,所述二级展示界面输出对词典的管理操作按键。
所述S1还包括,判断接收的字符串的语言种类,根据语言种类将字符串在搜索框中正确显示。
所述S2中获取一个词典中对应所述字符串信息对应的解释信息包括以下步骤:
字符串与词典中保存的所有字符串进行匹配,将匹配的字符串及字符串对应的解释信息输出,得到字符串对应该词典的所有解释信息。
所述S2中对获得的至少一个解释信息进行排序,将排序后的解释信息通过一级展示界面输出。
所述排序过程包括以下步骤:
获取所有解释信息对应的词典,得到至少一个词典;
获取每个词典的文化信息,将所有文化信息中重复最多的设置为标准文化信息;
按照标准文化信息中设定的词序对所有解释信息进行降序排列。
在具体实施中,由于词典种类繁多,包含多种文化,因此排序涉及到了多个语言。
根据用户输入的字符串,可在已加载的词典中找到匹配的单词,假设成功匹配的词典为D1,D2,D3……。
获取D1,D2,D3……的文化信息(文化信息是从Cultrure Information直译过来的,指的是:这个词典基于的语言和文化,它不单指国家和语言),并得到出现次数最多的文化信息,记录为CI(标准信息)。
对系统搜索得到所有单词,按照文化CI,进行递增排序。
例如:
现在已经加载了20部词典,10部英语词典,10部汉语词典。
这些词条在所有英语词典中都没有匹配,在所有汉语词典中都有匹配。
此时成功匹配的就是10部汉语词典,它们的文化信息都是中国-汉语,所以出现次数最多的文化信息就是:中国-汉语。
然后把词条列表L按照中国-汉语的词序排序。
解释信息:词条,和它对应的解释。(可以来源于多部词典,这个解释是一个html)。
解释信息举例:天气-一种现象(汉语词典1),经常谈论的话题(汉语词典2)。
对得到的所有解释信息中对应同一词典的至少一个解释信息加入到一个DIV标签中。
将得到的所有DIV标签汇总得到一个HTML文档格式的解释文本。
HTML超文本标记语言,标准通用标记语言下的一个应用。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。
DIV标签(DIV元素):是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。DIV标签称为区隔标记。作用:设定字、画、表格等的摆放位置。当你把文字、图象,或其他的放在DIV中,它可称作为“DIV block”,或“DIV element”或“CSS-layer”,或干脆叫“layer”。而中文我们把它称作“层次”。
所述二级展示界面输出的对词典的管理操作按键包括查看词典按键、添加词典按键和删除词典按键;
所述二级展示界面还输出词典详细信息。
所述二级展示界面输出的按键还包括搜索按键,所述搜索按键用于在所有词典中快速选择一个词典。
所述词典平台对预先导入的每个词典中的所有文本解释建立一个p标签,将解释信息添加到所述p标签中,基于所有p标签设置一套HTML样式表;所述字符串与词典中的字符串进行匹配时,通过引用HTML样式表获得解释信息。
p标签是段落标签,里面可以加入文字,列表,表格等。
p标签是成对出现的,以<p>开始,以</p>结束;属性:Common--一般属 性;p是paragraph的缩写。
如图2所示,为本发明实施例2所述的一种词典平台,包括:
接收模块1,接收用户输入的字符串;
一级展示模块2,将字符串与预先导入的至少一个词典进行匹配,获得至少一个解释信息,并通过一级展示界面输出;
二级展示模块3,通过对一级展示界面的操作,控制展示或隐藏二级展示界面,所述二级展示界面输出对词典的管理操作按键。
以下以具体示例说明本发明所述的一种开源词典的应用方法,
支持两种主流的词典:StarDict(星际译王词典),MDict词典。
具体的格式:.ifo;.dict;.dict.dz,.idx,.mdx,.wordsoffset;
词典在做什么:
1.管理用户的词典。
2.对用户输入的单词进行解释。
导入StarDict的过程:
导入过程为记录词典存储的逻辑路径和基本信息;
记录以下文件:
1.词典信息:.info。
2.词典每个单词的解释:.dict。
3.词典每个单词的信息:.idx。(单词本身,单词的解释在.dict中的位置)。
4.词典每个单词的位置信息:.wordsoffset。
1为纯文本,解析得到词典的信息。
由3生成新的文件.wordsoffset,用于记录每个单词信息在3中的位置,生成方法如图4所示:
导入MDict的过程:
如图5按照Mdict的格式进行解析,并记录下mdict词典的逻辑存储路径。
得到相关的数据:
包含词典信息的键值对:Headers;
包含所有数据块的列表:IdxBlockInfoList;
键值对:键值对(Key-Value)是一个常用的数据结构概念,通常又称为字典(Dictionary)或映射(Map)。每个存放到该数据结构中的值(Value)都对应一个全局唯一的键(Key)。
数据块:包含起始单词,结束单词,以及这个区间内的所有单词信息的列表。
单词信息:包含单词的解释在文件中的位置,和单词本身。
如何得到单词列表和解释(星际词王)。
如何得到单词列表:如图6所示;
如何读取单词,和解释(根据序号):如图7所示;
如何得到单词序号:如图8所示;
如何得到单词列表和解释,Mdict,如何得到单词列表:如图8所示。
如何得到单词解释:通过单词信息,得到单词在mdx文件中的位置index,和数据长度L,读取[index,index+L]内的所有数据,并转换为字符串,即可得到单词解释。
查询结果的展示:查询结果包含多个或者一个{词典名字,单词,单词解释}的结构体。
每个结构体均生成一个Html语言中的Div,并加入展开/收起按钮,用户隐藏不必要的Div以减轻视觉负担。
历史记录:记录最近用户查询的单词,个数不超过100。
界面设计:考虑到查询操作的频率远远高于其他操作,大部分的空间被 留给单词列表和单词解释。
当前选中的单词被高亮,提示用户当前被解释的单词是什么。
查询结果中的每一部词典标题被高亮,帮助用户快速定位每一部词典解释的位置,从而更轻易的操作展开收起。
考虑到查看/添加/删除词典操作的频率较低,因此词典管理被隐藏1级菜单,通过点击词典管理开启。
考虑到查看/添加词典的频率>>删除的频率,删除功能被隐藏到2级菜单,通过点击详细开启
二级菜单提供最详细的词典信息,和管理功能。
考虑到词典的数量可能较多,因此提供搜索功能。
所有功能的展开/收起,均以动画过渡,保证视觉上的连续。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。