CN104298752B - 基于web网页资源的程序代码缩略词的自动扩充方法 - Google Patents
基于web网页资源的程序代码缩略词的自动扩充方法 Download PDFInfo
- Publication number
- CN104298752B CN104298752B CN201410543730.6A CN201410543730A CN104298752B CN 104298752 B CN104298752 B CN 104298752B CN 201410543730 A CN201410543730 A CN 201410543730A CN 104298752 B CN104298752 B CN 104298752B
- Authority
- CN
- China
- Prior art keywords
- initialism
- word
- truncation
- webpages
- regular expression
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了软件开发领域内的一种基于web网页资源的程序代码缩略词的自动扩充方法,包括以下步骤:1)收集缩略词;2)缩略词分类;3)建立扩展词库;4)生成缩略词推荐,本发明通过对缩略词进行分类,并按照不同类别将所需理解的缩略词与从web2.0网页中提取的缩略词进行匹配,得到该缩略词相关的注释,使得程序员对程序中缩略词的理解更加便捷,且准确度更高,提高了程序员理解程序的效率,可用于软件开发维护中。
Description
技术领域
本发明涉及一种词语扩充技术,特别涉及一种缩略词扩充方法。
背景技术
当开发人员需要对给定的某个程序进行理解时,如果编程风格较好,则开发人员可以根据定义的标识符很容易地去理解程序。在程序中,除了定义较好的标识符外,还存在很多的缩略词,而开发人员在理解这些缩略词时,并不是很容易,很难猜测这些缩略词他们的全称是什么。因此在理解程序时,如果能够有技术对这些缩略词进行分析,辅助开发人员去理解程序时,开发人员理解程序的效率会得到较大提高。
而随着web2.0更加普遍的应用,越来越多的用户喜欢在web2.0平台上去交流问题,意见以及看法。通常来说,不同专业的专业人员都比较自己了解自己领域的缩略词,同样,对于开发人员,他们也喜欢通过Web2.0去交流他们的开发信息,这些信息中会存在大量的关于开发人员开发代码的信息,其中也包括一些缩略词的信息。因此,web2.0为程序代码中缩略词的自动的扩充提供了较好的数据来源。本发明就是通过Web2.0中数据建立扩充词库,然后根据库中信息去推荐代码中可能的缩略词的扩充;另外,该技术可以为用户在截短词,拼缀词以及首字母缩略词三种缩略词为用户提供扩展或解释,方便,快捷;并结合一定的语境尽力为用户提供最合适的扩展给用户参考。
发明内容
本发明的目的是提供一种基于web网页资源的程序代码缩略词的自动扩充方法,提高对缩略词理解的准确度和效率。
本发明的目的是这样实现的:一种基于web网页资源的程序代码缩略词的自动扩充方法,包括以下步骤:
1)收集缩略词:利用正则表达式提取程序源代码中的缩略词和完整词;
2)缩略词分类:去除上述完整词,并将提取出的缩略词分为三类,首字母缩略、拼缀词缩略、截短词缩略;
3)建立扩展词库:利用火车头采集器根据步骤2)中的缩略词从相关web2.0网页提取其对应的扩展词,并按照不同类别建立扩展词库;
4)生成缩略词推荐:建立表格,获得缩略词相关扩展词的注释。
与现有技术相比,本发明的有益效果在于,本发明通过对缩略词进行分类,并按照不同类别将所需理解的缩略词与从web2.0网页中提取的缩略词进行匹配,得到该缩略词相关的注释,使得程序员对程序中缩略词的理解更加便捷,且准确度更高,提高了程序员理解程序的效率。本发明可用于软件开发维护中。
作为本发明的改进,步骤2)中去除完整词的方法为:将步骤1)中提取的缩略词、完整词与英文词库进行匹配,将匹配成功的单词去除。英文词库中均为完整单词,将提取出的单词与英文词库进行匹配即可找出完整词,将完整词去除即获得缩略词,该方法操作简便。
作为本发明的改进,步骤2)中缩略词分类的具体方法为:对剩余的缩略词进行识别,若该缩略词全由大写字母组成,则判定该缩略词为首字母缩略词;若该缩略词内包含下划线或至少两个大写字母,则判定该缩略词为拼缀缩略词,拼缀缩略词由多个截短缩略词组成;剩余情况均为截短缩略词。根据缩略词词性的组成方式,通过扫描识别每个单词中的每个字母的大小写判定该单词的词性,使得词性分类便捷,且准确率高,进一步提高缩略词理解的精度。
作为本发明的改进,步骤3)中提取扩展词的具体方法为:
首字母缩略词:用正则表达式在web2.0网页上模糊匹配该缩略词的扩展词;
拼缀缩略词:先划分该缩略词,使其成为多个截短缩略词,再分别对单个截短缩略词通过正则表达式在web2.0网页上进行模糊匹配;
截短缩略词:对截短缩略词通过正则表达式在web2.0网页上进行模糊匹配。利用模糊匹配法将缩略词与web2.0网页进行匹配,进而得到该缩略词在web2.0网页上的相关扩展及注释,方便程序员对缩略词词意的理解。
作为本发明的进一步限定,划分缩略词的具体方法为:按顺序扫描要处理的缩略词,截取大写字母或下划线前的字符串成为单个截短缩略词。根据拼缀缩略词的组成特征,扫描拼缀缩略词的每个单词,从而的出组成该拼缀缩略词的两个或多个截短缩略词,再多这些截短缩略词进行模糊匹配,提高了缩略词的匹配进度,有利于程序员对程序的理解。
附图说明
图1是本发明操作流程图。
图2是本发明提取源程序中缩略词的过程。
图3是使用本发明来提取缩略词的一段源代码。
图4是本发明中利用正则表达式提取到的的缩略词。
图5是本发明中对所有提取到的缩略词进行分类后的结果。
图6是本发明中模糊匹配法通过web2.0网页提取出的扩展词结果。
图7是本发明中缩略词与扩展词存储关系图。
图8和9是本发明中扩展词在数据库中具体存储内容和形式。
具体实施方式
下面结合具体实施例对本发明作进一步描述。
选取一段java源程序中的代码作为本发明的源代码,如图3所示。
如图1-2所示的一种基于web网页资源的程序代码缩略词的自动扩充方法,包括以下步骤:
1)收集缩略词:利用正则表达式提取程序源代码中的缩略词和完整词,“(”前通常紧跟开发人员自定义的方法名称,写出提取这一位置的正则表达式“\w+\(”,就可以提取出所有“(”前面的缩略词了,提取结果如图4所示;
2)缩略词分类:去除上述完整词,将图4中提取的缩略词、完整词与英文词库进行匹配,将匹配成功的单词(即完整词)去除,并将提取出的缩略词分为三类,首字母缩略、拼缀词缩略、截短词缩略,对缩略词进行扫描识别,若该缩略词全由大写字母组成,则判定该缩略词为首字母缩略词(ATM);若该缩略词内包含下划线或至少两个大写字母,则判定该缩略词为拼缀缩略词,拼缀缩略词由多个截短缩略词组成(str_len、StyLen);剩余情况均为截短缩略词(con),结果如图5所示;
3)建立扩展词库:利用火车头采集器根据步骤2)中的缩略词从相关web2.0网页提取其对应的扩展词,如图6所示;
首字母缩略词:用正则表达式在web2.0网页上模糊匹配该缩略词的扩展词,以“ATM”为例,其匹配结果为:Automatic Teller Machine、Asynchronous Transfer Mode、Air Traffic Management;
拼缀缩略词:先划分该缩略词,按顺序扫描要处理的缩略词,截取大写字母或下划线前的字符串成为单个截短缩略词,使其成为多个截短缩略词,再分别对单个截短缩略词通过正则表达式在web2.0网页上进行模糊匹配,以“StrLen”为例,划分成“Str”和“Len”,并对这两个截短词进行模糊匹配,匹配结果为:Steer-Lender、String-Lender、String-Length;
截短缩略词:对截短缩略词通过正则表达式在web2.0网页上进行模糊匹配,以“con”为例,匹配结果为:Configure、Contain、Concentrated;并按照不同类别建立扩展词库,缩略词与扩展词的关系如图7所示;
4)生成缩略词推荐:建立表格,获得缩略词相关扩展词的注释,结果如图8、9所示。
使用本发明获得的缩略词的扩展,可方便程序员对程序的理解,并提高程序对软件的维护以及改进。
本发明并不局限于上述实施例,在本发明公开的技术方案的基础上,本领域的技术人员根据所公开的技术内容,不需要创造性的劳动就可以对其中的一些技术特征作出一些替换和变形,这些替换和变形均在本发明的保护范围内。
Claims (1)
1.一种基于web网页资源的程序代码缩略词的自动扩充方法,其特征在于,包括以下步骤:
1)收集缩略词:利用正则表达式“\w+\(”提取程序源代码中的缩略词和完整词;
2)缩略词分类:去除上述完整词,并将提取出的缩略词分为三类,首字母缩略、拼缀词缩略、截短词缩略,去除完整词的方法为:将步骤1)中提取的缩略词、完整词与英文词库进行匹配,将匹配成功的单词去除,缩略词分类的具体方法为:对剩余的缩略词进行识别,若该缩略词全由大写字母组成,则判定该缩略词为首字母缩略词;若该缩略词内包含下划线或至少两个大写字母,则判定该缩略词为拼缀缩略词,拼缀缩略词由多个截短缩略词组成;剩余情况均为截短缩略词;
3)建立扩展词库:利用火车头采集器根据步骤2)中的缩略词从相关web2.0网页提取其对应的扩展词,并按照不同类别建立扩展词库,提取扩展词的具体方法为:
首字母缩略词:用正则表达式在web2.0网页上模糊匹配该缩略词的扩展词;
拼缀缩略词:先划分该缩略词,使其成为多个截短缩略词,再分别对单个截短缩略词通过正则表达式在web2.0网页上进行模糊匹配,划分缩略词的具体方法为:按顺序扫描要处理的缩略词,截取大写字母或下划线前的字符串成为单个截短缩略词;
截短缩略词:对截短缩略词通过正则表达式在web2.0网页上进行模糊匹配;
4)生成缩略词推荐:建立表格,获得缩略词相关扩展词的注释。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410543730.6A CN104298752B (zh) | 2014-10-15 | 2014-10-15 | 基于web网页资源的程序代码缩略词的自动扩充方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410543730.6A CN104298752B (zh) | 2014-10-15 | 2014-10-15 | 基于web网页资源的程序代码缩略词的自动扩充方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104298752A CN104298752A (zh) | 2015-01-21 |
CN104298752B true CN104298752B (zh) | 2017-08-08 |
Family
ID=52318477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410543730.6A Active CN104298752B (zh) | 2014-10-15 | 2014-10-15 | 基于web网页资源的程序代码缩略词的自动扩充方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298752B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108877951B (zh) * | 2018-05-24 | 2022-03-25 | 中山大学肿瘤防治中心(中山大学附属肿瘤医院、中山大学肿瘤研究所) | 一种放疗结构命名标准化方法、装置、设备及介质 |
CN110231955B (zh) * | 2019-05-13 | 2024-05-07 | 平安科技(深圳)有限公司 | 代码处理方法、装置、计算机设备和存储介质 |
CN110209755B (zh) * | 2019-06-13 | 2021-06-18 | 思必驰科技股份有限公司 | Poi导航地址的扩展方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103229137A (zh) * | 2010-09-29 | 2013-07-31 | 国际商业机器公司 | 基于上下文的首字母缩略词和缩写词的歧义消除 |
CN103530419A (zh) * | 2013-10-29 | 2014-01-22 | 武汉大学 | 一种面向Web 服务描述的本体学习方法 |
CN103778142A (zh) * | 2012-10-23 | 2014-05-07 | 南开大学 | 一种基于条件随机场的缩略词扩展解释识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152028B2 (en) * | 2001-12-13 | 2006-12-19 | Texas Instruments Incorporated | Software development tool with embedded cache analysis |
JP2007286671A (ja) * | 2006-04-12 | 2007-11-01 | Fujitsu Ltd | ソフトウェア/ハードウェア分割プログラム、および分割方法。 |
-
2014
- 2014-10-15 CN CN201410543730.6A patent/CN104298752B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103229137A (zh) * | 2010-09-29 | 2013-07-31 | 国际商业机器公司 | 基于上下文的首字母缩略词和缩写词的歧义消除 |
CN103778142A (zh) * | 2012-10-23 | 2014-05-07 | 南开大学 | 一种基于条件随机场的缩略词扩展解释识别方法 |
CN103530419A (zh) * | 2013-10-29 | 2014-01-22 | 武汉大学 | 一种面向Web 服务描述的本体学习方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104298752A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492077B (zh) | 基于知识图谱的石化领域问答方法及系统 | |
CN110069252B (zh) | 一种源代码文件多业务标签自动化分类方法 | |
CN101950284B (zh) | 中文分词方法及系统 | |
Nguyen et al. | A fast and accurate Vietnamese word segmenter | |
CN110020424B (zh) | 合同信息的提取方法、装置和文本信息的提取方法 | |
JP4427500B2 (ja) | 意味解析装置、意味解析方法および意味解析プログラム | |
TW202020691A (zh) | 特徵詞的確定方法、裝置和伺服器 | |
JP7096919B2 (ja) | エンティティワードの認識方法と装置 | |
CN103678684A (zh) | 一种基于导航信息检索的中文分词方法 | |
WO2017177809A1 (zh) | 语言文本的分词方法和系统 | |
CN104572958A (zh) | 一种基于事件抽取的敏感信息监控方法 | |
CN109614620B (zh) | 一种基于HowNet的图模型词义消歧方法和系统 | |
CN107679110A (zh) | 结合文本分类与图片属性提取完善知识图谱的方法及装置 | |
CN111159330A (zh) | 一种数据库查询语句的生成方法及装置 | |
WO2016112782A1 (zh) | 一种用户的生活圈提取方法及系统 | |
CN101667177A (zh) | 双语文本的对齐方法及装置 | |
CN105138864A (zh) | 基于生物医学文献的蛋白质交互关系数据库构建方法 | |
CN104298752B (zh) | 基于web网页资源的程序代码缩略词的自动扩充方法 | |
CN105095196A (zh) | 文本中新词发现的方法和装置 | |
CN107357765A (zh) | Word文档碎片化方法及装置 | |
CN113312922A (zh) | 一种改进的篇章级三元组信息抽取方法 | |
CN110188207B (zh) | 知识图谱构建方法及装置、可读存储介质、电子设备 | |
CN105389303A (zh) | 一种异源语料自动融合方法 | |
CN106815253A (zh) | 一种基于混合数据类型数据的挖掘方法 | |
CN104899310B (zh) | 信息排序方法、用于生成信息排序模型的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |