张留学[1] 张焕中[2]
摘要:
本文介绍文字语义树的索引技术。语言的基本为文字,由文字构成不同的语句,语句是文章或者人际交流最基本的语言单位。如果一句话为树的一个分支,那么相同起点的文字的语句结合在一起构成一颗语义树,树上的节点分为根节点,分支节点,果子节点(语句最后的节点,一般对应一篇文章,如果文章为果子的话,该节点为果子节点)。这样所有的语言组成不同的语义树,整个语义树表示现代的语言的语句的集合。
本文介绍一种语义树的索引技术,通过该技术找到最大匹配的语句,从而得到果子,已找到匹配的文章。
该技术可以用于全文索引、密文全文索引和NLP语义理解等领域。
关键词:
语义树 增量hash 链式存储 全文搜索 NLP语义理解
语言是信息的高度浓缩,给人以记忆、联想,人们利用语言交流,写作,从事科研,人的活动可以通过文字的形式来表达。文字的形成是一件伟大的事,文字、语句和文章的组成需要满足该语言的规则,文字的上下文联系现在看来既浑然天成又不可思议。
信息时代是伟大的时代,信息时代的记忆对比人来说,对比传统的文章而言,不可同日而语。
用信息时代的技术来描述和记载文字,形象的描述文字的上下文联系,就成了一件有意义的事,于是开始语义树的研究。
意义不仅于此,通过语义树可以描述语言上下文的同时,也为语言文字全文的检索提供了可行的支撑。
备注:没有特殊的说明,本文展示的语义树数据来源于百度知道问答集。
语义树索引技术主要根据语句中文字的排列顺序,计算文字对应语句的特征编码,利用链式存储技术,实现对应语义树。形象的描述是:文字为语义树上的基本节点,语句为语义树的枝条,所有的枝条结合在一起构建语义树。语义树上的分枝具有同样的根节点文字。
语义树的索引技术指的是在语义树上查找语句,通过语句找到对应的文档的过程。一般来说语义树的索引包括:
1、语义树。利用语句中文字的特征码,结合该文字前面的特征码组建。主要技术为特征码和链式存储。
2、语句和文档的关系。主要存储语句特征码和文档关系。
通过最大匹配语句找到文档的过程,称为语义树的索引。
语义树索引技术主要采用的技术:
1、特征编码技术。主要由增量hash算法构建,假定语句含有文字序列为{w0,w1,...,wn},则特征码计算如下:
Ti=hash(Ti-1+wi-1),当i=0时,T0=hash(w0)。
2、链式存储技术。语义树的存储单元为:{Ti,wi,Ti-1,f},其中f表示是否为句尾。
3、语句和文档的关系。主要存储具有句尾标识的特征码和文档ID的关系。
4、语句匹配查询技术。分为两种方式:计算语句的特征码,在语义树中查找,去找到的最大深度的特征码,然后在语义树中匹配语句,根据语句找到文档。在语义树中找到第一个文字对应的记录集合,从集合中取出特征码,结合查询的语句,去掉第一个字符,和后续的文字计算特征码,在语义树中查找,去找到的最大深度的特征码,然后在语义树中匹配语句,根据语句找到文档。
语义树的展示:
“苏州太仓”的语义树
语义树记载文章的上下文关系,特征码的计算和存储保障数据的最小化存储。语句中文字的特征码仅仅和该文字前的文字(包含该文字)以及文字排列的顺序相关。
语义树索引技术特点:
1、可视化的表示语言的组成;
2、真实的反应语言文字之间的关系;
3、有利于全文检索的精准查找;
4、语句的检索速度快,系统生成的索引体积小。
语义树索引采用增量hash技术的特点,和基于语句hash的不同之处在于:
1、增量hash保存的单元大小和格式固定。每个单元有:64整形数表示的特征码,文字单元,前64整形数表示的特征码,句尾标识组成。
2、语句hash保存单元可以同样设置。每个但愿你有:64整形数表示的特征码,语句片段,前64整形数表示的特征码,句尾标识组成。
3、增量hash存储领域中间文字的模糊匹配,存储工整。
4、增量hash后续查找便捷,直接用该特征码结合后续文字计算即可,计算的特征码再查询。
5、增量hash有利于语义树的构建。
6、结合算法实现密文的语义树搜索。
用于全文搜索方面,对比的有关键词倒排序表的技术;用于语义理解方面对应于常见的分词算法。
语义树索引的应用主要分为:
1、基于语义树的全文搜索。
2、基于语义树的密文全文搜索。
3、语义分析。
例如“用于全文搜索方面,对比的有关键词倒排序表的技术;用于语义理解方面对应于常见的分词算法。”最小语义分解为:
用于 全文搜索 方面
对比的 有关键词 倒 排序表 的技术
用于 语义 理解 方面 对应 于 常见的 分词 算法
目前已经完成基于语义树的全文搜索、基于语义树密文的全文搜索的研发,目前正在研究的是基于语义树的智能语义理解的研究,还需要研究的是基于语义树的智能阅读和文章的智能理解。