自然语言处理-实际开发
一个可以识别自然语言的翻译应用
-----------------------------------------------------------------------------
必不可少的开发环境
Eclipse4.5+JDK1.7+WindowBuilder插件
其他资源
语义平台:OLAMI
源代码:https://github.com/volcanoliu/TranslateDemo
可执行文件:http://download.csdn.net/detail/u011211290/9888544
百度云地址:http://pan.baidu.com/s/1bQhH4U
1.界面及使用
这里介绍一下页面。
整体分为三个部分,最上面的是对话框,中间的是回答框,最下面的比较大的显示的是从语义平台取得的语义数据。
使用方式:把需要理解的语句输入到对话框中,点击发送,就可以得到结果。
返回结果:
2.代码简介
这里先整体简单介绍一下。
NLPJSON.java 里面是拿到语义返回JSON数据的关键字;
APIJSON.java 里面是拿到翻译返回JSON数据的关键字。
ApiLanguage.java 里面是翻译API接口需要的各国语言的缩写;
Encrypt.java 功能是加密字符串,里面只有MD5加密的方法;
Format.java 功能是整理JSON内容,用于输出;
GetModifier.java 功能是从OLAMI提供的API接口拿到语义;
HttpRequestUtils.java 功能是发送HTTP请求,获得HTTP返回的数据;
MainWindow.java 是主程序,做的是窗口的建立和主流程的控制;
ModifierProcess.java 功能是处理语义;
TranslateByAPI.java 功能是从翻译API接口拿到翻译的结果;
3.核心代码
3.1 MainWindows.java
Button btnNewButton = new Button(translateShell, SWT.NONE);
translateShell.setDefaultButton(btnNewButton);
btnNewButton.setLocation(319, 91);
btnNewButton.setSize(80, 27);
btnNewButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
NLPText.setText("");
String src = inputText.getText();
if (src == null || src.length() == 0) {
answerText.setText("你还没有输入内容!");
return;
}
// 把string用接口拿到语义