CN107038229B - 一种基于自然语义分析的用例提取方法 - Google Patents

一种基于自然语义分析的用例提取方法 Download PDF

Info

Publication number
CN107038229B
CN107038229B CN201710223135.8A CN201710223135A CN107038229B CN 107038229 B CN107038229 B CN 107038229B CN 201710223135 A CN201710223135 A CN 201710223135A CN 107038229 B CN107038229 B CN 107038229B
Authority
CN
China
Prior art keywords
new
use case
word
subject
words
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
Application number
CN201710223135.8A
Other languages
English (en)
Other versions
CN107038229A (zh
Inventor
康雁
柳青
王珺
张颜淞
林英
刘宇
岳远泽
丁玉锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiying Technology Group Co ltd
Original Assignee
Yunnan University YNU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yunnan University YNU filed Critical Yunnan University YNU
Priority to CN201710223135.8A priority Critical patent/CN107038229B/zh
Publication of CN107038229A publication Critical patent/CN107038229A/zh
Application granted granted Critical
Publication of CN107038229B publication Critical patent/CN107038229B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/374Thesaurus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

本发明属于数据处理技术领域,公开了一种基于自然语义分析的用例提取方法,用例提取方法包括:通过大量相关专业需求文档,训练属于自己领域的词库;对词库精度进行优化,排除干扰分词结果的错误词汇;运用相关领域的语料库进行分词,并标识出用例以及参与者;在分词的基础上提取句子主干,并建立基于语义分析的语义树;针对提取的句子主干通过模型匹配进行用例的识别以及提取。本发明新词发现算法利用三个特性很好的对所需要的新词进行了提取,在机器学习过程中,进行了大量的参数调控等,同时也进行了大量的样本学习,归纳出5类汉语语法模型,从而实现用例提取及参与者的匹配,最终准确度确定在95%以上。

Description

一种基于自然语义分析的用例提取方法
技术领域
本发明属于数据处理技术领域,尤其涉及一种基于自然语义分析的用例提取方法。
背景技术
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
21世纪以来,由于国际互联网的普及,自然语言的计算机处理成为从互联网上获取知识的重要手段。生活在信息网络时代的现代人,几乎都要与互联网打交道,都要或多或少地使用自然语言处理的研究成果来帮助他们获取或挖掘在广阔无边的互联网上的各种知识和信息。
因此,世界各国都非常重视自然语言处理的研究,投入了大量的人力、物力和财力。当前国外自然语言处理研究,基于句法—语义规则的理性主义方法受到质疑,随着语料库建设和语料库语言学的崛起,大规模真实文本的处理成为自然语言处理的主要战略目标。
在过去的40多年中,从事自然语言处理系统开发的绝大多数学者,基本上都采用基于规则的理性主义方法,这种方法的哲学基础是逻辑实证主义,他们认为,智能的基本单位是符号,认知过程就是在符号的表征下进行符号运算,因此,思维就是符号运算。著名语言学家J.A.Fodor在“Representa tions”一书(1980)中说:“只要认为心理过程是计算过程(因此是由表征式定义的形式操作),那么,除了将心灵看作别的之外,还自然会把它看作一种计算机。也就是说,假设的计算过程包含哪些符号操作,心灵也就进行哪些符号操作。因此,可以大致上认为,心理操作跟图灵机的操作十分类似。”Fodor的这种说法代表了自然语言处理中的基于规则(符号操作)的理性主义观点。
在这样的新形势下,自然语言处理这个学科的交叉性和边缘性显得更加突出了。自然语言处理的研究者如果只是局限于自己原有的某一个专业的狭窄领域而不从其他相关的学科吸取营养来丰富自己的知识,在自然语言处理的研究中必将一筹莫展,处处碰壁。面对这样的形势我们应该怎样做?是抱残守缺,继续把自己蜷缩在某一个专业的狭窄领域之内孤芳自赏,还是与时俱进,迎头赶上,努力学习新的知识,以适应学科交叉性和边缘性的要求?这是我国自然语言处理工作者必须考虑的问题。在工业革命时代,人类需要探索物质世界的奥秘,由于物质世界是由原子和各种基本粒子构成的,因此,研究原子和各种基本粒子的物理学成为非常重要的学科。在信息网络时代,由于信息网络主要是由语言构成的,因此,我们可以预见,在不久的将来,研究语言结构的自然语言处理必定也会成为像物理学一样非常重要的学科。物理学研究物质世界中各种物理运动的规律,而自然语言处理则研究信息网络世界中语言载体的规律。自然语言处理的重要性完全可以与物理学媲美,它们将成为未来科学世界中举足轻重的双璧。这是我在直觉上的一种估计,我相信这样的估计将会成为活生的现实
但自然语言处理领域一直缺乏统一的理论基础。思维语言(Language ofThought,LOT)框架与认知科学框架(即概念的联结论构造)作为两种对立的指导方法,长期影响着自然语言处理的发展路径。对于认知科学和人工智能来说,无论哪一种指导理论,都建立在计算种类、表述载体种类、表述内容种类以及心理学解释种类这四个分析层次之上。并且,这些层次之间并不相互独立,“每一层次的分析都制约着相邻层次的分析”。建立在联结主义计算基础之上的认知科学框架,以整体论的神经科学为指导,把计算机看做建立大脑模型的手段,试图用计算机模拟神经元的相互作用,建构非概念的表述载体与内容。但由于神经科学尚处于初级阶段且应用范围相对狭窄,使其发展受到了很大制约,至今尚未形成一个有影响力的处理自然语言的模式。
早在20世纪30年代,美国哲学家莫里斯(C.Mor ris)把语言符号划分为三个层面:语形学、语义学和语用学,之后,德国逻辑学家卡尔纳普也提出了与莫里斯相类似的划分。在自然语言处理中,语义是实词进入句子之后词与词之间的关系,是一种事实上或逻辑上的关系。所谓语义框架分析,就是用形式化的表述方式,将具体句子中的动词与名词的语义结构关系(格局)表示出来。虽然现阶段的框架建立在“场景(scene)”之上,并在一定程度上体现出“立场(standpoint)”的概念,但这仅是局限在单句范围内的“小场景”和“施事方”的“小立场”,还不能反映站在语言使用者角度(或立场),在文章层次或隐喻着社会知识层次的这种“大场景”(即“语境”)下的语义关系。但是,自然语言中大量存在的歧义性和模糊性等现象,是现阶段以词语为核心,对句子的语义理解所不能处理的。它忽视了作为语言的使用者“人”的主体地位。如维特根斯坦所强调的,人是语言的使用者,语言的使用是同人的生命活动息息相关的。这一思路把语言的使用放在了人类生活这样一个大背景中了。主体的参与性以及不同主体使用语言的不同方式,是考察语言的前提。词语和语句作为工具,它们的意义只能在使用中表现出来。因为语句的意义并不是隐藏在它的分析中的,而是体现在它在具体的语言游戏中的使用。这就消解了存在于自然语言之中的歧义性、模糊性、隐喻等一直困扰语言学家的问题,从而为自然语言处理指出了发展方向:只有引进语言的使用者以及具体的语境描述,才能解决语句的意义问题。
对自然语言的方向进行研究,是对于该前沿学科的一种尝试,也是丰富自己眼界的一种方法,研究自然语言也是对能力的一种提升。我国自然语言处理虽然已经取得不少成绩,但是,与国际水平相比,差距还很大。自然语言处理是国际性的学科,而应该参与到国际自然语言处理的研究中去,用国际的水平和国际的学术规范来要求研究。在这样的新形势下,自然语言处理这个学科的交叉性和边缘性显得更加突出了,自然语言处理的研究者如果只是局限于自己原有的某一个专业的狭窄领域而不从其他相关的学科吸取营养来丰富自己的知识,在自然语言处理的研究中必将一筹莫展、处处碰壁。
综上所述,现有技术存在的问题是:
一.针对于特定的某些领域没用属于自己的语料库,没有训练出一个和相关领域相关度高的词语库;原因有以下几个方面:1.训练一个相关领域的语料库需要大量专业的文档,并且这些文档质量要求相对较高,但相应文档的识别与获取十分困难。2.由于工作量巨大语料库不能由人工来完成,所以要求机器来进行专业语料库的生成,但是当前机器学习的算法又不够准确。3.即使存在某些相关语料库,该语料库中也存在大量的杂音以及干扰词和错误的词等。
二.现有技术不能有效地针对汉语提取出用需求描述中对于软件需求的明确要求,以及各个角色相对应的功能。原因如下:1.汉语语法不够清晰,即很多时候作者并不会按照语法的要求去书写相应的描述。这导致句子中成分的识别存在很大困难2.对于用例并不能准确的识别,因为当前大部分是基于主题进行用例提取,其准确度十分低。3.对于用例的归属者,即参与者不能与其相应的用例联系起来。因为基于主题的提取忽视了各个实体间的相互关系。4.语句中存在大料干扰成分,如:修饰性的形容词和副词,或是并列成分等。都给准确识别出用例和该用例的归属带来困难
三.现有分词系统不能正确的识别某些行业相关的技术用语,如:“软件工程”。首先是由于目前的词典没有收录某些行业术语。其次是由于某些词在不同场景下存在不同的组合方式。导致分词系统不能准确识别如何进行划分。
发明内容
针对现有技术存在的问题,本发明提供了一种基于自然语义分析的用例提取方法。
本发明是这样实现的,一种基于自然语义分析的用例提取方法,包括:
通过大量相关专业需求文档,运用基于大规模语料的新词发现算法训练属于自己领域的词库;
对词库精度进行优化,排除干扰分词结果的错误词汇;
运用相关领域的语料库导入ANSJ开源工具进行分词,并标识出用例以及参与者;
在分词的基础上运用斯坦福开源工具Stanford Parser进行句子主干提取,并建立基于语义分析的语义树;
针对提取的句子主干通过语法模型匹配进行用例的识别以及提取。
首先,我们采用的是基于大规模语料的开源新词发现算法,该算法有三个特征值来进行新词的提取和解析,分别是自由度,出现频率,凝固程度。那么我们针对该工具进行参数的调优,最终确定三个参数分别为:0,0.018,0.94。该参数使得我们所得到的的语料库杂质最少,关键词最准确。相比于目前的语料库,目前很少存在针对某个特定领域的专业语料库,即使有,其语料库中也会存在大量的杂质和某些关键词的丢失。本发明通过对参数的调优以及大量专业文本的训练,得出一个杂质少,准确度高的,行业相关度高的语料库供我们使用。
进一步,对于上一步骤生成的语料库进行“杂音”过滤,即排除干扰词汇和不准确的词汇。我们定义我们希望得到的用例以及专业词汇集为:
T(US)={neology|neology∈{NN∪NV}};
其中,NN为名词的集合,NV为动名词的集合,US为用例的集合。那么除了该集合外的词汇都对我们没有什么价值,但是存在一些杂质会影响我们的结果。对此,我们通过分析发现,大部分杂质为介词短语,那么我们定义杂质的集合为:
D(NE)={dirty|dirty∈{NE∩PREPOSITION}};
其中,NE为新词的集合,PREPOSITION为介词的集合。那么我们通过ANSJ工具中的词性分析功能,通过扫描语料库并过滤掉介词短语和包含介词的词语等。相对于现有的语料库,我们的语料库的杂质更少,词性标注更加准确,从而使得结果更加精确。
进一步,运用ANSJ对输入文本进行第一次分词,并标记出所有可能存在的用例及参与者。我们在上面定义过希望得到的用例以及专业词汇集为:
T(US)={neology|neology∈{NN∪NV}};
那么我们针对该集合进行特征标识,用M来作为词性的结尾符号,那么该集合的定义就变为
T(US)={neology|neology∈{FALLOW(SE)}};
定义函数
Figure BDA0001264369330000061
即所有输入语句分词集合SE中以'M'作为词性后缀的词的集合,那么我们就将用例及参与者标识出来了。相对于现有的技术,我们能更加清晰的标示出对我们很重要的词汇,而不是像通过概率来进行提取一样,会导致很多关键词的丢失。相比于现有技术,我们有更明确的和更完整的对于关键词的标识。
进一步,在分词的基础上,我们用Stanford parser工具进行该用例描述的主干提取。Stanford parser工具可以将句子的语法树结构分析并输出,所以经过我们真对于汉语语法结构以及大量用例描述实验的结果分析得出结论:用例描述通常在某个句子的宾语成分,即:
T(US)={use-case|use-case∈{OBJECT(SE)}};
而用例的参与者通常处于句子的主语部分,联系参与者与用例的是谓语动词。当然,一些句子存在并列成分,以及省略成分,我们在下一个部分进行解决。
所以,针对于我们所发明的工具,句子提取主干主要工作是提取句子的主谓宾成分。即
RESULT={(a,b,c)|a∈subject,b∈predicate,c∈object}
目前存在很少的工具有该功能,即使有该功能,现有工具不能很好地对句子成分进行识别,和主干提取。我们运用Stanford parser的强大的功能以及高的准确性,很好的将句子的主干从一个完整的句子中提取出来。从而过滤掉了一些不必要的形容词,副词,和修饰成分等。并且具有着较高的准确性和句子的完整性。
进一步,针对于提取出来的句子主干,我们对其进行最终用例的提取。我们通过对大量的实验结果和汉语语法的分析,最终总结出5种模型来涵盖大部分可能出现的语法结构(针对于上一阶段提取出的句子主干RESULT),并通过该模型来建立语义树从而实现用例的提取和参与者的匹配。我们得出的5种语法模型可以表示为:
Figure BDA0001264369330000071
我们现在可以根据上述5种模型来进行语义树的生成。
对于第一种模型,主谓宾已经很明确了,但是分为两种情况:
1.v前的所有名词的组合可以看作是一个新的主语(前提与当前父节点不同),而v后面的所有名词的组合为宾语,但是如果该宾语没有被标记出来,(在第二阶段进行分词的时候标记)则认为是无效宾语。对于新的主语我们应该建立一个新的父节点。宾语为该父节点的子节点。
2.v前面为代词,则认为当前的宾语属于当前父节点(即上一个出现的主语)
对于第二种模型,v前是主语,但是没有宾语存在,对于新的主语我们应该建立一个新的父节点。
对于第三种模型,不存在主语,但存在一个宾语(如果为有效宾语),则认为该宾语属于前一个主语,为当前父节点生成一个子节点。
对于第四种模型,一般和第5种情况搭配出现并判断,因为在第5种情况中,该名词短语可能为主语,也可能为宾语,如果单独的动词后面出现一个动词短语,则认为该动词短语为当前主语的宾语,如果不存在单独的动词,则单独的名词为一个新的主语。
针对以上情形建立语义树,并实现算法,我们定义生成语义树的算法为accrete:
Figure BDA0001264369330000081
其中,createRoot为在文本输入时建立一个总的根节点,createChild(s)为为了宾语s建立一个树的子节点,并插入当前父节点。createFather(f)为建立一个新的主语f的父节点,并插入当前的树根。即:
createChild(s)=currentFather.add(new treeNode(s))∶s∈{use case};
Figure BDA0001264369330000082
createRoot=new treeNode(root)∶words in;
在进行完语义树的建立后,我们通过对语义树的先序遍历,从而输出用例以及其参与者。我们定义遍历方法为traverse
Figure BDA0001264369330000091
当树节点为叶子节点时(即该节点没有子节点)输出用例,该用例都属于其父节点的参与者的。当遍历至父节点时,输出一个新的参与者,再进行其用例的遍历。直到所有节点都遍历一遍。
通过语义树进行用例及其参与者的匹配使得结果更加准确,现有技术无法实现用例与参与者的明确匹配,即使有也存在大量的错误结果。本发明用5种模型以及语义树保证了用例及其使用者间的密切联系。从而使得用例和参与者精确的匹配并输出。
本发明的优点及积极效果为:
本发明新词发现算法利用三个特性很好的对所需要的新词进行了提取,在机器学习过程中,进行了大量的参数调控等,同时也进行了大量的样本学习使得相关领域的语料库的关键词准确度达到90%左右,其次,运用针对词语的过滤技术,使得语料库关键词的准确度达到了97%以上。现有的新词发现技术没有针对特定的领域进行语料库的训练,即使有,他们也没有针对用例匹配来进行用例描述的关键词的训练。本发明训练了应于特定领域的用例描述的语料库。并具有很高的准确率。
在分词中,通过对我们训练出的语料库的应用,我们使得分词结果准确率相比提高至95%以上,并且该语料库使得关键词的标记准确率达到了97以上。现有的分词系统无法针对特定的领域进行精确的分词,即使有,也存在大量关键词丢失的情况,本发明运用训练出的语料库使得针对于某个专业领域的分词准确率大幅提高。
在主干提取部分,本发明运用汉语的语法结构和Stanford Parser工具的运用,使得句子主干提取准确率达到了95%以上。现有技术很少有针对句子主干提取进行应用,即使有,也存在丢失原本句子大量成分的问题,以及主干提取准确率十分低的问题。本发明通过对Stanford Parser工具提供的参数的应用,可以准确高效的识别出汉语句子中主谓宾的成分,并排除干扰成分,使得主干提取的准确率大幅提高。
在用例提取和参与者匹配部分,通过运用本发明归纳出的5个语法结构模型使得对于用例和参与者的提取准确度达到了96%以上,并且运用树形结构来存储参与者和用例的关系,使得确定两者关系的准确度达到了98%以上。针对于用例提取,现有技术大部分基于频率提取,但是很多关键的用例出现频率并没有明显的特征,所以目前提取准确率低下,即使可以通过参数使得对某一个文章的准确率有所提高,但是该参数无法适用于其他文本。本发明通过对句子结构的建模,总结出5个模型来提高提取的准确率,并且运用树形结构来存储参与者和用例的关系。使得针对于用例提取和分析的准确率和效率大幅提高。
附图说明
图1是本发明实施例提供的基于自然语义分析的用例提取方法。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细描述。
如图1所示,本发明实施例提供的基于自然语义分析的用例提取方法,包括:
S101:通过大量相关专业需求文档,运用基于大规模语料的新词发现算法训练属于自己领域的词库;
S102:对词库精度进行优化,排除干扰分词结果的错误词汇;
S103:运用相关领域的语料库导入ANSJ开源工具进行分词,并标识出用例以及参与者;
S104:在分词的基础上运用斯坦福开源工具Stanford Parser进行句子主干提取,并建立基于语义分析的语义树;
针对提取的句子主干通过语法模型匹配进行用例的识别以及提取。
采用新词发现算法来训练出一个和相关领域相关度高的词语库。
在训练完词库后,对输入的语句进行初步的分词,对于出现的干扰词,那进行筛选以及过滤;在过滤完成后,再进行分词,提高相关用例发现度。
针对于句子中干扰用例提取以及主语发现的部分,进行句子主干的提取。
利用主干提取得出的结果,建立了一个语义树,通过语义树来实现词汇之间主谓宾的匹配;在得到匹配结果后,对语义树进行先序遍历,最终得出用例描述输出。
下面结合具体实施例对本发明的应用原理作进一步描述。
新词发现算法
首先不依赖于任何已有的词库,仅仅根据词的共同特征,将一段大规模语料中可能成词的文本片段全部提取出来,不管它是新词还是旧词。然后,再把所有抽出来的词和已有词库进行比较。
文本片段的凝固程度和自由程度,两种判断标准缺一不可。
分词算法:
在分词方面,本发明选用了基于词典分词的ANSJ分词系统,这是一个基于n-Gram+条件随机场模型的中文分词的java实现.分词速度达到每秒钟大约200万字左右(mac air下测试),准确率能达到96%以上目前实现了.中文分词.中文姓名识别.用户自定义词典可以应用到自然语言处理等方面,适用于对分词效果要求高的各种项目.。
条件随机场是一种用于在给定输入结点值时计算指定输出结点值的条件概率的无向图模型.若O是一个值可以被观察的“输入”随机变量集合,S是一个值能够被模型预测的“输出”随机变量的集合,且这些输出随机变量之间通过指示依赖关系的无向边所连接.让C(S,O)表示这个图中的团的集合,CRFs将输出随机变量值的条件概率定义为与无向图中各个团的势函数(potential function)的乘积成正比:PA(s o)=1ZoΠc∈C(s,o)Υc(sc,oc)(1)其中,Фc(sc,oc)表示团c的势函数.当图形模型中的各输出结点被连接成一条线性链的特殊情形下,CRFs假设在各个输出结点之间存在一阶马尔可夫独立性,二阶或更高阶的模型可类似扩展.若让o=(o1,o2,…,oT)表示被观察的输入数据序列,让s=(s1,s2,…,sT)表示一个状态序列.在给定一个输入序列的情况下,线性链的CRFs定义状态序列的条件概率为PA(s o)=1ZoexpΣTt=1ΣKk=1lkfk(st-1,st,o,t)(2)其中,fk(st-1,st,o,t)是一个任意的特征函数,lk是每个特征函数的权值.归一化因子Z0=ΣsexpΣTt=1Σklk fk(st-1,st,o,t)。
但是该分词工具以词典为基础,通用的词典中并不能很好的应用到专业领域的分析中,所以本发明用新词发现算法训练出了自己的词库,但是该词库中存在许多的干扰词汇,那么本发明设计了一个模型来筛选对于最重要的词汇以及过滤杂音词汇。
该模型借助智能的词性识别来进行,如果该词中存在:p介词,c连词,u助词等就要将其过滤。经过过滤后,词库中大部分的词都不会对项目产生干扰。
下面结合具体实施例对本发明作进一步描述。
1、本发明实施例提供的分类算法的选择-朴素贝叶斯算法
贝叶斯分类算法是统计学分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,且方法简单、分类准确率高、速度快。由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设在实际情况中经常是不成立的,因此其分类准确率可能会下降。
朴素贝叶斯算法步骤:
朴素贝叶斯是在独立性假设的前提下实现的,即在给定目标值时,假设特征之间是相互独立的。
朴素贝叶斯的公式表示为:
Figure BDA0001264369330000131
因为这部分需要独立编写代码实现。
对已知的特征矩阵和标签矩阵,定义:
x=[f1,f2,f3,.....,fn]为一个样本特征向量,其中fi是每个特征的特征值。
y=[y1,y2,y3,......,yn]为每个样本的真实所属类别。
X=[x1,x2,x3,......,xn]为样本集,其中每个样本xi是x的构成形式。
假设这些样本总共分为了3类,分别为class1,class2,class3。
第一步:
通过样本集的类别分布,对每个类别计算先验概率。也就是需要计算出这些样本分属3个类别各自的比例,比如:
Figure BDA0001264369330000132
这样,分别计算出p(class1),p(class2),p(class3)。
第二步:
计算每个类别下每个特征属性值的出现概率。比如,当为类别1时,特征1的值为f11时的频率p(f11|class1)为:
Figure BDA0001264369330000133
第三步:
计算每个样本所属每个类别的概率。比如对于第一个样本,根据它每个特征值的情况,依次从第二步的结果中提取对应值并相乘。得到它分别属于这3个类别的概率,即
p(x1|class1)=p(class1)*p(f1a|class1)*p(f2b|class1)*...*p(fnq|class1)
p(x1|class2)=p(class1)*p(f1a|class2)*p(f2b|class2)*...*p(fnq|class2)
p(x1|class3)=p(class1)*p(f1a|class3)*p(f2b|class3)*...*p(fnq|class3)
第四步:
比较样本预测属于这三个类别的概率值,找出最大概率对应的分类作为这个样本最终的预测分类结果。
2、本发明实施例提供的近义词分析算法:
短文本/Query分类算法特征选择:
最近工作中有一个project需要对query进行行业分类(label较多,大于1k),在以往的长文本中,一般使用文本的词向量结合tf-idf作为权重,分类的效果基本上还是非常不错。但是短文本,特征向量非常稀疏,一般一个query只有1个或者几个特征,因而在覆盖率和准确率上将会大打折扣。
本发明分类模型可以使用ME,SVM或者DNN等。
1.字面特征:
a.N-gram特征(一般N为2)
比如:一个query可以被切词为:T1T2T3,那么我们可以把T1、T2、T3、BEG_T1,T1T2、T2T3、T3_END可以作为特征。权值可以计算tf-idf值归一化后就可以B.摘要扩展使用一个query在搜索引擎得到其自然结果,作为特征的扩展
3.本发明实施例提供的语义特征:
现在应用比较广泛的语义特征主要通过PLSA/LDA模型得到,因为是对query的分类,所以PLSA的模型训练使用query及其摘要数据进行训练,训练之后,得到p(z|q)、p(z)和p(w|z)向量。从而对于一个query向量,可以得到这个query的p(z|q)向量(具体的计算query的p(z|q)过程就不详细叙述了)语义特征又可以分为两类a.Topic_id特征,PLSA模型的p(zi|q)有一个意义就是q(query)属于zi的概率,因而,可以把PLSA作为一个聚类算法,而topicid,就是所在的簇id。在实验中一般取p(zi|q)排前3的zi作为特征,而p(zi|q)则作为feature权值。如:“清华大学招生”的feature为:175:0.295 605:0148646:0.096Label:”本科教育”的feature为:175:0.185 675:0.152119:0.084Label:”汽车用品”的feature为:372:0.635 682:0.084 174:0.0506因为“清华大学招生”与Lable“本科教育”同时有较大概率在簇:175而与Lable“汽车用品”没有在同一个簇中。所以更倾向于分类至Label”本科教育”b.Query与行业Label的plsa向量。一般而言,一个query属于某个行业类的label的plsa_sim值大,则属于这个行业的概率也高比如:“清华大学招生”和行业label“本科教育”的语义相似度为:0.547,而与行业Lable”汽车用品”的相似度仅为0.002.在实验中通过引入语义特征,对query的召回和准确在ME模型上都有了比较大的提升,稍后有时间再整理一个实验评估效果。
4、本发明实施例提供的用例匹配算法:
用例提取本发明借助斯坦福工具的辅助,来实现用例提取,但是斯坦福工具在使用中存在一些问题,在实现中会提到,那么借助Stanford Parser,针对于提出的主干再次进行分词(第一次分词是为了提取主干使用),并且,设计了如下模型,针对于主干出现词性的情况有如下几个:
1...+v+...;(其中,v前的词汇大部分由个名词组成的或者是代词,但也有少部分情况,由于Stanford Parser的结果问题,会出现一些助动词,或者多个动词的情况如:管理/v人员/n。v后的大多为用例/nvM已被我标记出来,也存在为名词短语的情况)。
2...+v(其中,v前的词汇大部分由个名词组成的或者是代词,但也有少部分情况,由于Stanford Parser的结果问题,会出现一些助动词,或者多个动词的情况如:管理/v人员/n)。
3v+...(v后的大多为用例/nvM已被我标记出来,也存在为名词短语的情况)。
4v(单独出现的动词)。
5...+...(该句子中无动词出现,为名词短语)。
5、本发明实施例提供的新词发现算法实现:
本发明把文本中出现过的所有长度不超过d的子串都当作潜在的词(即候选词,其中d为自己设定的候选词长度上限,设定的值为5),再为出现频数、凝固程度和自由程度各设定一个阈值,然后只需要提取出所有满足阈值要求的候选词即可。为了提高效率,可以把语料全文视作一整个字符串,并对该字符串的所有后缀按字典序排序。
这样的话,相同的候选词便都集中在了一起,从头到尾扫描一遍便能算出各个候选词的频数和右邻字信息熵。将整个语料逆序后重新排列现在所有的后缀,再扫描一遍后便能统计出每个候选词在原文中所有左邻字的信息熵。另外,有了频数信息后,凝固程度也都很好计算了。这样,便得到了一个无须任何知识库的抽词算法,输入一段充分长的文本,这个算法能以大致O(n logn)的效率提取出可能的词来。
实际上只需要在内存中储存这些后缀的前d+1个字,或者更好地,只储存它们在语料中的起始位置。
对不同的语料进行抽词,并且按这些词的频数从高到低排序。
6、本发明实施例提供的分类算法实现:
文本分类材料采集:
python.bs4中有一个BeautifulSoup网页解析器,它是一个从HTML或XML文件中提取数据的Python库,可以将复杂HTML文档转换成一个复杂的树形结构。通过查看网页源代码,观察想要获取的内容在网页html中的结构,利用soup.find_all(限定标签名)就可以获取这些标签的内容。
对于第一种情况,主谓宾很明确了,但是分为几种情况:
1).v前的所有名词的组合可以看作是一个新的主语(前提与当前父节点不同),而v后面的所有名词的组合为宾语,但是如果该宾语没有被标记出来,则认为是无效宾语。对于新的主语我们应该建立一个新的父节点。宾语为该父节点的子节点。
2).v前面为代词,则认为当前的宾语属于当前父节点(即上一个出现的主语)。
对于第二种情况,v前是主语,但是没有宾语存在,对于新的主语我们应该建立一个新的父节点。
对于第三种情况,不存在主语,但存在一个宾语(如果为有效宾语),则认为该宾语属于前一个主语,为当前父节点生成一个字节点。
对于第四种情况,一般和第5种情况搭配出现并判断,因为在第5种情况中,该名词短语可能为主语,也可能为宾语,如果单独的动词后面出现一个动词短语,则认为该动词短语为当前主语的宾语,如果不存在单独的动词,则单独的名词为一个新的主语。针对以上情形建立语义树,并实现算法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于自然语义分析的用例提取方法,其特征在于,所述基于自然语义分析的用例提取方法包括:
通过大量相关专业需求文档,运用基于大规模语料的新词发现算法训练属于自己领域的词库;
对词库精度进行优化,排除干扰分词结果的错误词汇;
运用相关领域的语料库导入ANSJ开源工具进行分词,并标识出用例以及参与者;
在分词的基础上运用斯坦福开源工具Stanford Parser进行句子主干提取,并建立基于语义分析的语义树;针对提取的句子主干通过语法模型匹配进行用例的识别以及提取。
2.如权利要求1所述的基于自然语义分析的用例提取方法,其特征在于,采用新词发现算法来训练出一个和相关领域相关度高的词语库;该算法有三个特征值来进行新词的提取和解析,分别是自由度,出现频率,凝固程度,进行参数的调优,最终确定三个参数分别为:0,0.018,0.94。
3.如权利要求1所述的基于自然语义分析的用例提取方法,其特征在于,
对于生成的语料库进行“杂音”过滤,排除干扰词汇和不准确的词汇,得到的用例以及专业词汇集为:
T(US)={neology|neology∈{NN∪NV}};
其中,NN为名词的集合,NV为动名词的集合,US为用例的集合;定义杂质的集合为:
D(NE)={dirty|dirty∈{NE∩PREPOSITION}};
其中,NE为新词的集合,PREPOSITION为介词的集合;通过ANSJ工具中的词性分析功能,通过扫描语料库并过滤掉介词短语和包含介词的词语。
4.如权利要求1所述的基于自然语义分析的用例提取方法,其特征在于,运用ANSJ对输入文本进行第一次分词,并标记出所有可能存在的用例及参与者,得到的用例以及专业词汇集为:
T(US)={neology|neology∈{NN∪NV}};
针对该集合进行特征标识,用M来作为词性的结尾符号,那么该集合的定义就变为
T(US)={neology|neology∈{FALLOW(SE)}};
即所有输入语句分词集合SE中以'M'作为词性后缀的词的集合。
5.如权利要求1所述的基于自然语义分析的用例提取方法,其特征在于,在分词的基础上,用Stanford parser工具进行该用例描述的主干提取。
6.如权利要求1所述的基于自然语义分析的用例提取方法,其特征在于,针对于提取出来的句子主干,进行最终用例的提取,采用5种模型来涵盖大部分可能出现的语法结构:
对于第一种模型,主谓宾已经很明确了,但是分为两种情况:
v前的所有名词的组合可以看作是一个新的主语,而v后面的所有名词的组合为宾语,但是如果该宾语没有被标记出来,则认为是无效宾语;对于新的主语我们应该建立一个新的父节点,宾语为该父节点的子节点;
v前面为代词,则认为当前的宾语属于当前父节点;
对于第二种模型,v前是主语,但是没有宾语存在,对于新的主语我们应该建立一个新的父节点;
对于第三种模型,不存在主语,但存在一个宾语,则认为该宾语属于前一个主语,为当前父节点生成一个子节点;
对于第四种模型,和第五种模型搭配出现并判断,因为在第五种模型中,该名词短语可能为主语,也可能为宾语,如果单独的动词后面出现一个动词短语,则认为该动词短语为当前主语的宾语,如果不存在单独的动词,则单独的名词为一个新的主语;
针对以上情形建立语义树,并实现算法,定义生成语义树的算法为accrete:
Figure FDA0002482128390000031
其中,createRoot为在文本输入时建立一个总的根节点,createChild(s)为为了宾语s建立一个树的子节点,并插入当前父节点;createFather(f)为建立一个新的主语f的父节点,并插入当前的树根;即:
createChild(s)=currentFather.add(new treeNode(s))∶s∈{use case};
Figure FDA0002482128390000032
createRoot=new treeNode(root)∶words in;
在进行完语义树的建立后,通过对语义树的先序遍历,从而输出用例以及其参与者,定义遍历方法为traverse,
Figure FDA0002482128390000033
当树节点为叶子节点时输出用例,该用例都属于其父节点的参与者的;当遍历至父节点时,输出一个新的参与者,再进行其用例的遍历,直到所有节点都遍历一遍。
CN201710223135.8A 2017-04-07 2017-04-07 一种基于自然语义分析的用例提取方法 Active CN107038229B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710223135.8A CN107038229B (zh) 2017-04-07 2017-04-07 一种基于自然语义分析的用例提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710223135.8A CN107038229B (zh) 2017-04-07 2017-04-07 一种基于自然语义分析的用例提取方法

Publications (2)

Publication Number Publication Date
CN107038229A CN107038229A (zh) 2017-08-11
CN107038229B true CN107038229B (zh) 2020-07-17

Family

ID=59534042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710223135.8A Active CN107038229B (zh) 2017-04-07 2017-04-07 一种基于自然语义分析的用例提取方法

Country Status (1)

Country Link
CN (1) CN107038229B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710914A (zh) * 2017-10-26 2019-05-03 饶竹一 基于业务模型的语义训练系统及其方法
CN107832229B (zh) * 2017-12-03 2021-06-11 中国直升机设计研究所 一种基于nlp的系统测试用例自动生成方法
CN108319586B (zh) * 2018-01-31 2021-09-24 天闻数媒科技(北京)有限公司 一种信息提取规则的生成和语义解析方法及装置
CN108399265A (zh) * 2018-03-23 2018-08-14 北京奇虎科技有限公司 基于搜索的实时热点新闻提供方法及装置
CN108491512A (zh) * 2018-03-23 2018-09-04 北京奇虎科技有限公司 新闻标题的摘要方法及装置
CN108363700A (zh) * 2018-03-23 2018-08-03 北京奇虎科技有限公司 新闻标题的质量评估方法及装置
CN108920447B (zh) * 2018-05-07 2022-08-05 国家计算机网络与信息安全管理中心 一种面向特定领域的中文事件抽取方法
CN108664646B (zh) * 2018-05-16 2021-11-16 电子科技大学 一种基于关键字的音视频自动下载系统
CN109918296B (zh) * 2019-02-14 2022-12-06 百度在线网络技术(北京)有限公司 软件自动化测试方法及装置
CN111240971B (zh) * 2020-01-06 2023-08-29 深圳市卡牛科技有限公司 风控规则测试用例的生成方法、装置、服务器和存储介质
CN111931478B (zh) * 2020-07-16 2023-11-10 丰图科技(深圳)有限公司 地址兴趣面模型的训练方法、地址的预测方法及装置
CN111950289A (zh) * 2020-09-01 2020-11-17 南京三百云信息科技有限公司 基于汽车维修保养记录的数据处理方法及装置
CN111967247A (zh) * 2020-10-23 2020-11-20 北京智源人工智能研究院 基于函数声明的自然语言语义表示方法、装置和电子设备
CN112182230B (zh) * 2020-11-27 2021-03-16 北京健康有益科技有限公司 一种基于深度学习的文本数据分类方法和装置
CN113312903B (zh) * 2021-05-27 2022-04-19 云南大学 一种5g移动业务产品词库的构建方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294664A (zh) * 2013-07-04 2013-09-11 清华大学 开放领域新词发现的方法及系统
CN105224682A (zh) * 2015-10-27 2016-01-06 上海智臻智能网络科技股份有限公司 新词发现方法及装置
CN105677873A (zh) * 2016-01-11 2016-06-15 中国电子科技集团公司第十研究所 基于领域知识模型的文本情报关联聚类汇集处理方法
CN105760366A (zh) * 2015-03-16 2016-07-13 国家计算机网络与信息安全管理中心 针对特定领域的新词发现方法
CN105843960A (zh) * 2016-04-18 2016-08-10 上海泥娃通信科技有限公司 基于语义树的索引方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970805B (zh) * 2013-02-05 2018-01-09 日电(中国)有限公司 移动模式挖掘设备和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294664A (zh) * 2013-07-04 2013-09-11 清华大学 开放领域新词发现的方法及系统
CN105760366A (zh) * 2015-03-16 2016-07-13 国家计算机网络与信息安全管理中心 针对特定领域的新词发现方法
CN105224682A (zh) * 2015-10-27 2016-01-06 上海智臻智能网络科技股份有限公司 新词发现方法及装置
CN105677873A (zh) * 2016-01-11 2016-06-15 中国电子科技集团公司第十研究所 基于领域知识模型的文本情报关联聚类汇集处理方法
CN105843960A (zh) * 2016-04-18 2016-08-10 上海泥娃通信科技有限公司 基于语义树的索引方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Inferring the semantic properties of sentences by mining syntactic parse trees;Boris A.Galitsky 等;《Data & Knowledge Engineering》;20120728;21-45 *
短文本/Query分类算法特征选择;rosenor2016;《https://blog.csdn.net/rosenor1/article/details/52554207》;20160916;1-2 *

Also Published As

Publication number Publication date
CN107038229A (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
CN107038229B (zh) 一种基于自然语义分析的用例提取方法
Karim et al. Classification benchmarks for under-resourced bengali language based on multichannel convolutional-lstm network
CN106997382B (zh) 基于大数据的创新创意标签自动标注方法及系统
Mansouri et al. Named entity recognition approaches
Priss Linguistic applications of formal concept analysis
RU2686000C1 (ru) Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки
CN110532328B (zh) 一种文本概念图构造方法
Rahimi et al. An overview on extractive text summarization
Mahata et al. Theme-weighted ranking of keywords from text documents using phrase embeddings
Spasić et al. Idiom-based features in sentiment analysis: Cutting the Gordian knot
Becker et al. COCO-EX: A tool for linking concepts from texts to ConceptNet
Zhu et al. Unsupervised terminological ontology learning based on hierarchical topic modeling
Samih et al. Enhanced sentiment analysis based on improved word embeddings and XGboost.
Banu et al. Tamil document summarization using semantic graph method
Wani et al. A supervised multinomial classification framework for emotion recognition in textual social data
MalarSelvi et al. Analysis of Different Approaches for Automatic Text Summarization
Sithole Fine-tuning semantic information for optimized classification of the Internet of Things patterns using neural word embeddings
Ehsan et al. Finding topics in Urdu: A study of applicability of document clustering in Urdu language
Aparna et al. A REVIEW ON DIFFERENT APPROACHES OF POS TAGGING IN NLP
Yu Stylometric Features for Multiple Authorship Attribution
Ma et al. Concept-based embeddings for natural language processing
Oğul Classification of contradictory opinions in text using deep learning methods
Zarembo et al. Machine Learning and Philology: An Overview of Methods and Applications Ekaterina Gryaznova, Margarita Kirina®, Polina Mikhailova
Albared et al. Classifiers combination to Arabic morphosyntactic disambiguation
Salini et al. Sarcasm Detection: A Systematic Review of Methods and Approaches

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210514

Address after: Room 1923, No.2, Kailuo Avenue, Huangpu District, Guangzhou, Guangdong 510000

Patentee after: Yami Technology (Guangzhou) Co.,Ltd.

Address before: 650091 Yunnan Province, Kunming city Wuhua District Lake Road No. 2

Patentee before: YUNNAN University

Effective date of registration: 20210514

Address after: No. 1366, Zhongtianmen street, Tai'an hi tech Zone, Tai'an City, Shandong Province

Patentee after: Shandong Taiying Technology Co.,Ltd.

Address before: Room 1923, No.2, Kailuo Avenue, Huangpu District, Guangzhou, Guangdong 510000

Patentee before: Yami Technology (Guangzhou) Co.,Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: No. 1366, Zhongtianmen street, Tai'an hi tech Zone, Tai'an City, Shandong Province

Patentee after: Taiying Technology Group Co.,Ltd.

Address before: No. 1366, Zhongtianmen street, Tai'an hi tech Zone, Tai'an City, Shandong Province

Patentee before: Shandong Taiying Technology Co.,Ltd.

Address after: No. 1366, Zhongtianmen street, Tai'an hi tech Zone, Tai'an City, Shandong Province

Patentee after: Taiying Technology Group Co.,Ltd.

Address before: No. 1366, Zhongtianmen street, Tai'an hi tech Zone, Tai'an City, Shandong Province

Patentee before: Taiying Technology Group Co.,Ltd.

CP01 Change in the name or title of a patent holder