Coder Social home page Coder Social logo

xsimilarity's Introduction

说明

汉语词语、组块、句子以及文本篇章等各个层面的相似度计算是中文信息处理领域的一项基础而又核心的工作,它直接决定着相关领域的研究发展状况,例如,在知识工程、基于实例的机器翻译、信息检索、自动问答以及拼写检查等方面,相似度计算都是一个非常关键的问题,长期以来一直是人们研究的一个热点和难点。相似度的研究涉及词语、组块、句子以及篇章等多个层面,目前的研究主要侧重于词语方面,提出了一些比较有代表性的理论与方法,如字面相似度算法、词素相似度算法,以及基于同义词词林、知网等语义词典的方法,国外的方法则主要包括基于构成字符的相似度计算方法、基于WORDNET的计算方法、基于词典注释的方法、基于大规模语料库统计的方法和基于搜索引擎的方法;有关组块、短语级别的相似度的研究现在还比较少,常用的方法是在词语相似度计算的基础上,借用句子相似度的计算方法计算组块之间的相似度。在句子层面的相似度计算方面,国外研究主要集中在字符串的相似度计算,国内则主要以词语为基本处理单元,通过计算相同词语所占的比重确定句子之间的相似度;文本层面的则集中于利用统计方法实现相似度计算。

xsimilarity项目为我们在相似度计算领域所取得的部分成果的Java代码实现,部分凌乱的代码已被去除,待重构之后再加入到工程之中。在相似度计算的研究过程中,许多研究学者的成果公布和无私帮助让我们受益匪浅,我们把代码开源出来,既是对前辈们表达我们的尊重之情,也希望能对大家共同的研究社区能有点滴贡献,能避免一些重复工作。

xsimilarity项目中所体现的**或许还比较幼稚,希望高手们能用宽容的胸襟对待,并不吝赐教,我们也将根据研究进展情况和大家的实际需求,不断改进,同时也欢迎大家加入到这个项目的开发过程中来,共同推进相似度计算在**的研究。

xsimilarity项目中的理论知识大家可以参考doc目录下的文章,以及《中文信息相似度计算理论与方法》一书,重要的参考资料、程序资源在书中已经提到,如有需要,我们在今后将单独整理成列表,供大家参考。

大家可以通过Eclipse导入项目,并运行ruc.irm.ui.Start进行快速测试。

联系方式:xiat(at)ruc.edu.cn

编译运行

首先确保系统中安装maven.

如果要生成Intellij IDEA的工程文件,请进入命令行,在项目主目录下执行:

mvn idea:idea

如要生成eclipse的工程文件,则执行:

mvn eclipse:eclipse

要编译代码并在命令行运行测试:

mvn compile

mvn dependency:copy-dependencies

./run.py Start

即可打开主界面,进行测试

(注:开发测试所用的操作系统为Ubuntu,如为Windows,请自行修改run.py脚本)

设想

尝试把潜在和显性语义分析技术加入到xsimilarity中,并简化使用方式,方便初学者使用,但因个人精力受限,目前尚为开始集成处理。

定个时间点:如果star数量超过500,再开始更新并把最近几年的相关研究成果集成进去。

欢迎有兴趣的人员与我联系,一起扩展xsimilarity的功能和实用性。

致谢

ansj中文分词

xsimilarity's People

Contributors

iamxiatian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xsimilarity's Issues

eclipse编译有问题

eclipse编译start.java,结果报错:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
at WordSimlarityUI.createPanel(WordSimlarityUI.java:92)
at Start.(Start.java:51)
at Start$1.run(Start.java:84)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

“安提瓜和巴布达”出现死循环

我利用UI演示程序计算 “安提瓜和巴布达”和另外一个词(e.g.:算法)时,程序似乎进入了死循环,一直没有结果输出。
然而,我使用xsimilarity计算其它词对之间的相似度,都很快就能出结果,我不知道是哪里出了问题,希望能够得到您的帮助。
(p.s. xsimilarity的词法分析能将安提瓜和巴布达识别出来。)

北京大学计算语言学研究所万XX提供

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.