主要实现将英文文本拆分,调用有道词典查询接口查询重点名词,动词,形容词,副词的功能。对重点单词的界定比较有待商榷,这里只是将小于5个字符长度的单词去除,但实际中肯定不是这样的。

package com.utopian.thankyou.end;import org.apache.http.client.HttpClient;
import java.io.IOException;
import java.util.List;import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;/*** Created by Mrs.Utopian on 2019/1/3.*/
public class CommonUtil {/*** 空格逗号句号分号拆分字符串*/public String [] wordArray(String str){String [] arr = str.split("(\\,|\\.|\\;)*[\\s+]");for(String ss : arr){System.out.println(ss);}return arr;}/*** 查询词义*/public static String [] getMeansByYouDao(String [] words){String word = null;int i = 0;HttpClient client = HttpClients.createDefault();String [] means = new String[words.length];int meansCount = -1;  //用来控制需要查询的单词的个数while (i<words.length) {if(words[i].length()<5){//设定长度小于5个字符的单词为简单词 不查简单词i++;continue;}word = words[i++];meansCount++;HttpGet get = new HttpGet("http://fanyi.youdao.com/openapi.do?keyfrom=youdao111&key=60638690&type=data&doctype=xml&version=1.1&q="+ word);try {HttpResponse response = client.execute(get);HttpEntity entity = response.getEntity();String str = EntityUtils.toString(entity, "UTF-8");Element root = DocumentHelper.parseText(str).getRootElement();Element query = root.element("query");List clist = root.elements();Element paragraph = (Element) root.element("translation").element("paragraph");//用来判断返回的是翻译,还是单词if (clist.size() > 3) {means[meansCount] = word+":";List<Element> exlists = root.element("basic").element("explains").elements();for (Element e : exlists) {means[meansCount] = means[meansCount]+e.getText();}}else {means[meansCount] = word+":"+paragraph.getText();}} catch (ClientProtocolException e) {i = words.length;e.printStackTrace();} catch (IOException e) {i = words.length;e.printStackTrace();} catch (DocumentException e1) {i = words.length;e1.printStackTrace();}}return means;}public static void main(String args[]){//System.out.print(isSubject("Chinese"));CommonUtil commonUtil = new CommonUtil();String text="Cherish all your happy moments; they make a fine cushion for old age.";//原文String words[] = commonUtil.wordArray(text);String means[] = commonUtil.getMeansByYouDao(words);String nouns[] = new String[means.length]; //名词String verbs[] = new String[means.length]; //动词String ads[] = new String[means.length];   //形容词或副词int nounsCount=0;int verbsCount=0;int adsCount=0;for(int i = 0; i < means.length&&means[i]!=null;i++){//System.out.println(means[i]);//整理出名词n. 动词vt./vi./v. 形容词/副词 adj./adv.if(means[i].contains("n.")){nouns[nounsCount++] = means[i];}if(means[i].contains("vt.")||means[i].contains("vi.")||means[i].contains("v.")){verbs[verbsCount++] = means[i];}if(means[i].contains("adj.")||means[i].contains("adv.")){ads[adsCount++] = means[i];}}System.out.println("原文" + text);System.out.println("输出所有的名词");for(int i = 0;i<nounsCount;i++){System.out.println(nouns[i]);}System.out.println("输出所有的动词");for(int i = 0;i<verbsCount;i++){System.out.println(verbs[i]);}System.out.println("输出所有的形容词、副词");for(int i = 0;i<adsCount;i++){System.out.println(ads[i]);}}
}

输出的结果如下:

个人英文小词典--抽取英文阅读重要的名词、动词、形容词、副词并输出其翻译结果相关推荐

  1. 英文小论文怎么查重?

    小论文以发表在期刊杂志上为主,虽然内容相对其他论文而言较短,但其写作难度并不低,而且不仅写作有难度,后面进行的论文查重难度更大.那英文小论文要怎么查重呢? 一.英文小论文怎么查重 由于是期刊需要发表的 ...

  2. python英语字典程序-Pyqt5实现英文学习词典

    运用Python语言编写程序制作英文学习词典,词典有4个基本功能:添加.查询.删除和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词& ...

  3. 英文文本关系抽取(fine-tune Huggingface XLNet)

    本文主要是基于英文文本关系抽取比赛,讲解如何fine-tune Huggingface的预训练模型,同时可以看作是关系抽取的一个简单案例 数据预览 训练数据包含两列.第一列是文本,其中<e1&g ...

  4. NLP实践——基于SIFRank的英文关键短语抽取

    NLP实践--基于SIFRank的英文关键短语抽取 1. 回顾 2. 英文关键词抽取 2.1 预训练词汇权重 2.2 分词/词性标注模型 2.3 候选短语抽取模型 2.4 编码模型 1. 回顾 之前的 ...

  5. Python基础(编写程序制作英文学习词典)

    制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能:添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词" ...

  6. Python制作英文学习词典

    编写程序制作英文学习词典,实现3个基本功能.添加,查询和退出. 以下是该词典的Python代码: dict = {} digits = '0123456789' path = 'dict.txt'de ...

  7. 5-RNN-03_双向rnn_英文小短文

    import os import numpy as np import tensorflow as tfdef load_data(file_path):"""加载原始数 ...

  8. python语言程序设计基础程序练习题7.5制作英文学习词典

    7.5  制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词& ...

  9. python制作英语字典_Pyqt5实现英文学习词典

    运用Python语言编写程序制作英文学习词典,词典有4个基本功能:添加.查询.删除和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词& ...

最新文章

  1. kali高速更新源以及主题修改方法
  2. Java基础:JVM垃圾回收算法
  3. excel连接mysql 数据库
  4. ubuntu16.04安装opencv3.1.0(包含opencv_contrib模块)
  5. Python+tkinter根据窗体大小自动缩放并显示图像
  6. asp.net mvc(九)
  7. 计算机对用户的操作做出反应,云南省计算机二级VB考试真题题库
  8. vue 前端 增加取色器/拾色器
  9. 《伯克毕生发展心理学1》
  10. mac安装win10_VMware mac虚拟机安装Win10系统的详细教程
  11. 进军AR领域,这一次罗永浩能成吗?
  12. 外贸常用术语_外贸常用术语总结.doc
  13. 牛客 | C 选择颜色
  14. 中国电信再发力:推出最新七大惠民惠企新举措
  15. Unity 游戏加载进度条的开发
  16. hp打印机一直显示正在打印中_HP打印机提示文档正在打印,但就是打印不了?...
  17. 10个最佳企业移动支付APP应用和酷站欣赏
  18. 第一次作业——————打印沙漏
  19. 【GXOI/GZOI2019】与或和【单调栈】
  20. 【mycat】mycat水平分表

热门文章

  1. 基于神经网络的专家系统,清华大学认知神经科学
  2. 2019普通程序员,如何转为当前紧缺的大数据相关人才?
  3. html文本框如何固定不动,css如何让div固定不动?
  4. lecture09 Convex 模型预测控制(MPC)
  5. SPH方法计算流体表面张力
  6. Linux内核之PCI设备
  7. System32和SysWoW64的区别(转载)
  8. 符号的英文读法(转)
  9. Vue 组件封装之 Questionnaire 问卷调查
  10. ora-20085 ora-06512错误解决