Nlp 如何在Python中运行JAVA API
我有一个用于词干分析的JavaAPI,但我无法运行它。我正在Python3.x中进行一个NLP项目,我从文档中读取所有文本并将其转换为单词。我想使用这个JavaAPI进行词干分析,以词干我的单词,然后进一步处理。我正在探索如何使用不同的库将JavaAPI直接运行到Python程序中,我读了一些关于Java API的内容,但无法运行它。 任何人都可以指导我如何在Python中使用这个API,或者如果这不可能,那么如何在ECLIPSE中使用它 词干分析器API说明: 说明: Word词干分析器API是一个Java应用程序,它提供了一个接口来提取单词的词干、前缀和后缀 设置: 将数据文件夹复制到项目目录中,并将提供的JAR文件添加到项目中 用法:Nlp 如何在Python中运行JAVA API,nlp,stemming,java,py4j,Nlp,Stemming,Java,Py4j,我有一个用于词干分析的JavaAPI,但我无法运行它。我正在Python3.x中进行一个NLP项目,我从文档中读取所有文本并将其转换为单词。我想使用这个JavaAPI进行词干分析,以词干我的单词,然后进一步处理。我正在探索如何使用不同的库将JavaAPI直接运行到Python程序中,我读了一些关于Java API的内容,但无法运行它。 任何人都可以指导我如何在Python中使用这个API,或者如果这不可能,那么如何在ECLIPSE中使用它 词干分析器API说明: 说明: Word词干分析器API
1. loadRules()
- Purpose: This function loads the stemming rules from the ./Data/Rules.txt into the program.
- Syntax: void loadRules();
- Parameters: None
- Return type: Void
2. stemWord()
- Purpose: This function accepts as input a single word and returns a HashMap containing its stem, prefix, and postfix.
- Syntax: HashMap<String, String> stemWord(String word);
- Parameters: String word to be stemmed
- Return type: HashMap with the following keys: "stem", "prefix", "postfix"
3. stemFile()
- Purpose: This function acecpts as input the path to a UTF-8 text file and writes a new file to the same directory with the suffix "_stemmed".
- Syntax: void stemFile(String path);
- Parameters: String path to text file
- Return type: Void
1。加载规则()
-用途:此函数用于将./Data/rules.txt中的词干规则加载到程序中。
-语法:void loadRules();
-参数:无
-返回类型:Void
2.斯特姆沃德()
-用途:此函数接受单个单词作为输入,并返回包含其词干、前缀和后缀的HashMap。
-语法:HashMap stemWord(字符串字);
-参数:要加词干的字符串字
-返回类型:带有以下键的HashMap:“stem”、“prefix”、“postfix”
3.stemFile()
-用途:此函数将acecpts作为UTF-8文本文件的输入,并将新文件写入后缀为“\u stemed”的同一目录。
-语法:void stemFile(字符串路径);
-参数:文本文件的字符串路径
-返回类型:Void
例如:
UStemmer stmr = new UStemmer();
stmr.loadRules();
stmr.stemFile(String path);
HashMap<String, String> stemmed = stmr.stemWord(String word);
String stem = stemmed.get("stem");
String prefix = stemmed.get("prefix");
String postfix = stemmed.get("postfix");
UStemmer stmr=new UStemmer();
stmr.loadRules();
stmr.stemFile(字符串路径);
HashMap stemed=stmr.stemWord(字符串字);
String-stem=stem.get(“stem”);
字符串前缀=带词干的.get(“前缀”);
字符串后缀=带词干的.get(“后缀”);
PS:我的API文件夹包含一个文件UStemmer.JAR和两个文件夹,第一个是包含Rules.txt文件的数据,第二个是包含两个文件的UStemmer,一个是UStemmer.class(无法打开或读取),另一个是MANIFEST.MF
PPS:我不能使用任何可用的词干分析器,因为它们不支持我正在使用的语言。()使用Python编写的自然语言工具包会更容易吗?我喜欢Java,但是Python中有非常好的工具来完成这项任务。NLTK不支持乌尔都语词干分析。我已经在我的问题中提到了这个问题。阻止乌尔都语单词的唯一方法是这个用JAVA在本地开发的API。我只使用了它的API。PS:我熟悉NLTK及其库,包括它提供的不同类型的词干分析器,但这对我在这个项目中是无用的。“无法运行它”是不够的信息。你想用PY4J做什么?您是否设置了网关服务?密码在哪里?为什么你不能运行它?