Tag: wordnet

如何使用SentiWordNet获取String或形容词的语义方向

我正在做一个关于情绪分析的项目。 我需要字符串或形容词的语义方向,所以我建议使用Stackoverflow“如何使用SentiWordNet”的参考文章中的SentiWordNet_3.0.0。我运行了代码,但每次得到以下输出。 java.lang.ArrayIndexOutOfBoundsException: 2 at qtag.SWN3.(SWN3.java:29) at qtag.SWN3.main(SWN3.java:105) 0.0 我已经使用不同的字符串作为输入运行代码,但结果是相同的。 我已经删除了SentiWordNet_3.0.0_20130122.txt文件的第一部分或垃圾部分。我的代码有什么问题。我该怎么办呢? 请帮帮我。 谢谢。 这是我的代码: import java.io.BufferedReader; import java.io.FileReader; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java.util.Vector; public class SWN3 { private String pathToSWN = “C:/Users/Monalisa/Desktop/SentiWordNet_3.0.0/home/swn/www/admin/dump/SentiWordNet_3.0.0_20130122.txt”; private HashMap_dict; public SWN3(){ _dict = new HashMap(); HashMap<String, Vector> _temp = new HashMap<String, Vector>(); try{ BufferedReader csv = new […]

WordnetSynonymParser在Lucene

我是Lucene的新手,我正在尝试使用WordnetSynonymParser来使用wordnet同义词prolog扩展查询。 这就是我现在所拥有的: public class CustomAnalyzer extends Analyzer { @Override protected TokenStreamComponents createComponents(String fieldName, Reader reader){ // TODO Auto-generated method stub Tokenizer source = new ClassicTokenizer(Version.LUCENE_47, reader); TokenStream filter = new StandardFilter(Version.LUCENE_47, source); filter = new LowerCaseFilter(Version.LUCENE_47,filter); SynonymMap mySynonymMap = null; try { mySynonymMap = buildSynonym(); } catch (IOException e) { // TODO Auto-generated catch block […]

在netbeans中使用JAWS查找同义词

import edu.smu.tspell.wordnet.NounSynset; import edu.smu.tspell.wordnet.Synset; import edu.smu.tspell.wordnet.SynsetType; import edu.smu.tspell.wordnet.WordNetDatabase; import javax.swing.JApplet; import javax.swing.JFrame; public class JavaApplication4 { String a[]=new String[2]; public static void main(String a[]) { String ar[]={“faith”}; int j=0; while(j<2) { System.setProperty("wordnet.database.dir", "C:\\ProgramFiles(x86)\\WordNet\\2.1\\dict"); NounSynset nounSynset; NounSynset[] hyponyms; WordNetDatabase database = WordNetDatabase.getFileInstance(); Synset[] synsets = database.getSynsets(ar[j], SynsetType.NOUN); System.out.println("*********************************************"); for (int i = 0; i < synsets.length; […]

获得JWI和Wordnet的词汇

如何正确使用MIT的JWI(Java API for WordNet)中实现的stemmer方法来获得单词的词干? 我不知道如何初始化一个词干分析器并使用findStems方法。

尝试使用wordnet java api查找同义词

我试图使用Wordnet java api在java中找到某些单词(String类型)的同义词。 我在弄清楚它是如何工作的时候遇到了困难。 我发现这个链接http://lyle.smu.edu/~tspell/jaws/doc/edu/smu/tspell/wordnet/impl/file/ReferenceSynset.html#getTagCount%28java.lang.String%29我虽然它是有用的,但我仍然不知道如何开始。 我是否必须创建一个ReferenceSynset对象,然后找到它的同义词,以及如何做到这一点? 还是有另一种更简单的方法吗? 请帮忙! 提前致谢!

如何使用WordNet或与wordnet相关实现基于类别的文本标记?

如何使用wordnet的类别(java作为接口)使用wordnet标记文本? 例 考虑句子: 1)计算机需要键盘,监视器,CPU才能工作。 2)汽车使用齿轮和离合器。 现在我的目标是,例句必须被标记为 第一句话 电脑/电子 键盘/电子 CPU /电子 第二句话 汽车/机械 齿轮/机械 离合/机械 一些额外的例子…… “使用微芯片监控离合器和齿轮” – >离合器/机械,齿轮/机械,微芯片/电子 “此处用于监测氢气水平的软件” – >软件/计算机,氢/化学.. 我想在java上实现上面提到的目标,即通过技术,机械,电气等相关类别来标记名词。 如何使用wordnet执行此操作。 我以前的作品 为了实现我的目标,我在每个类别的文本文件中创建了一个术语索引,并将其与标题匹配..如果它在文本文件中包含一个单词,则标题将被分类。 例如 Automobile.txt有car , gear , wheel , clutch 。 networking.txt有server,IP Address,TCP , RIP 这是算法: String Classify (String title) { String area; if (compareWordsFrom (“Automobile.txt”,title) == true ) area = […]

用WordNet检测专有名词?

我正在使用JAWS访问WordNet 。 有一个词,有没有办法检测它是否是一个专有名词? 看起来这些同义词具有相当粗略的词汇类别。 澄清一下,没有任何语境 – 它们只是单独呈现。 如果一个词可以想象地用作普通名词,那么它是可以接受的。 所以“标记”很好,因为虽然它可能是某人的名字,但它也可以指代一个点。 但是,“非洲”不是。

使用WS4J的句子相似性

我想用ws4j来计算两个句子之间的相似性。 我正在使用WS4J @ WS4J在线演示的在线演示 我使用WS4J给出的默认示例句子。 输入句子并点击计算相似性按钮后,我得到以下输出: 在这里,我得到句子的单个标记之间的相似性。 我如何从这里继续前进。我想获得一个值(比如0.5或0.8),表示这两个句子的相似性。 有没有标准的方法从这里开始,还是我必须编写自己的算法?

有没有人知道如何使用带有Lucene 3.6的Wordnet扩展查询?

我在org.apache.lucene.analysis.synonym中找到了WordnetSynonymParser类,但是在API和谷歌中都没有使用它的例子。 有人有经验吗? 谢谢! 编辑 :我知道曾经有类SynExpand ,但是版本3.6它消失了…… 我试试: try { FileReader rulesReader = new FileReader(“wn/wn_s.pl”); SynonymMap.Builder parser = null; parser = new WordnetSynonymParser(true, true, analyzer); ((WordnetSynonymParser)parser).add(rulesReader); synonymMap = parser.build(); } catch (Exception e) { e.printStackTrace(); System.exit(1); } 但是我收到以下错误: java.text.ParseException: Invalid synonym rule at line 109 at org.apache.lucene.analysis.synonym.WordnetSynonymParser.add(WordnetSynonymParser.java:75) at pirServer.QueryClassifier.(QueryClassifier.java:77) at pirServer.PIRServer.main(PIRServer.java:32) Caused by: java.lang.IllegalArgumentException: term: course […]

Java中的Wordnet相似性:JAWS,JWNL还是Java WN ::相似性?

我需要在基于java的应用程序中使用Wordnet。 我要: 搜索同义词 找到synsets之间的相似性/相关性 我的应用程序使用RDF图表,我知道有Wordnet的SPARQL端点,但我想最好有一个数据集的本地副本,因为它不是太大。 我找到了以下jar子: 一般图书馆 – JAWS http://lyle.smu.edu/~tspell/jaws/index.html 一般图书馆 – JWNL http://sourceforge.net/projects/jwordnet 相似性库(Perl) – Wordnet ::相似性 http://wn-similarity.sourceforge.net/ Java版的Wordnet ::相似性http://www.cogs.susx.ac.uk/users/drh21/(beta ) 你会为我的应用推荐什么? 是否可以通过一些绑定从Java应用程序中使用Perl库? 谢谢! Mulone