小编Som*_*dam的帖子

使用LSTM的Word嵌入防止文本分类的过度拟合

目标:

  • 使用用户输入的问题识别类标签(如问答系统).
  • 从Big PDF文件中提取数据,需要根据用户输入预测页码.
  • 主要用于策略文档,用户对策略有疑问并需要显示特定页码.

以前的实现:应用弹性搜索但精度非常低,因为用户输入任何文本,如"我需要"=="想要"


数据集信息:数据集包含每一行,文本(或段落)和标签(作为页码).这里数据集大小很小,我只有500行.

目前的实施:

  • 在Keras和后端使用LSTM应用的字嵌入(手套)是Tensor-flow
  • 应用Droupout
  • 应用活动评估
  • 应用L2 W_regularizer(从0.1到0.001)
  • 应用不同的nb_epoch从10到600
  • 将EMBEDDING_DIM从100改为300到Glove Data

Applied NLP for,

  • 转换为小写
  • 删除停止英语单词
  • 词干
  • 删除数字
  • 删除URL和IP地址

结果:测试数据(或验证数据)的准确率为23%,但列车数据为91%


代码:

import time
from time import strftime

import numpy as np
from keras.callbacks import CSVLogger, ModelCheckpoint
from keras.layers import Dense, Input, LSTM, ActivityRegularization
from keras.layers import Embedding, Dropout,Bidirectional
from keras.models import Model
from keras.preprocessing.sequence import pad_sequences
from keras.preprocessing.text import Tokenizer
from keras.regularizers import l2
from keras.utils import to_categorical

import pickle
from DataGenerator import *

BASE_DIR …
Run Code Online (Sandbox Code Playgroud)

text-classification lstm keras tensorflow word-embedding

10
推荐指数
2
解决办法
6441
查看次数

自然语言处理 - 将非结构化书目转换为结构化元数据

目前正致力于一个自然语言处理项目,我需要将非结构化的参考书目部分(在研究文章末尾)转换为结构化元数据,如"年","作者","期刊","卷ID","页面"数字","标题"等


例如:输入

McCallum, A.; Nigam, K.; and Ungar, L. H. (2000). Efficient clustering of high-dimensional data sets with application to reference matching. In Knowledge Discovery and Data Mining, 169–178
Run Code Online (Sandbox Code Playgroud)

预期产量:

<Author> McCallum, A.</Author> <Author>Nigam, K.</Author> <Author>Ungar, L. H.</Author>
<Year> 2000 </Year>
<Title>Efficient clustering of high-dimensional data sets with application to reference matching <Title> and so on
Run Code Online (Sandbox Code Playgroud)

使用的工具:CRFsuite


数据集:包含12000个引用

  1. 包含期刊标题,
  2. 包含文章标题的话,
  3. 包含位置名称,

给定行中的每个单词都被视为标记,并且对于每个标记,我得出以下特征

  1. BOR在行首,
  2. EOR结束
  3. digitFeature:如果令牌是数字
  4. 年份:如果令牌是年份格式,如19**和20**
  5. 在当前数据集中可用,

从上面的工具和数据集我只有63.7%的准确率."Title"的准确度非常低,"Year"和"Volume"的准确度也很低.

问题:

  1. 我可以绘制任何其他功能吗?
  2. 我可以使用任何其他工具吗?

java nlp crf++

9
推荐指数
1
解决办法
214
查看次数

c#中带有HttpClient的客户端证书

想要将带有客户端证书(.p12 或 .pfx)的数据从 Windows 应用程序发送到服务器机器,在 .Net Framework 4.6 中开发的 Windows 应用程序,操作系统是 Windows 10。

当邮递员使用客户端证书(.p12 或 .pfx)[加载到设置选项卡 -> 添加客户端证书 -> 放置主机名,选择 pfx 文件,输入密码] 时,一切正常(客户端证书发送到服务器机器),但是从下面的 c# 代码发出,

X509Certificate2 certificate = new X509Certificate2(certificateFilePath, "password");
WebRequestHandler handler = new WebRequestHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.ServerCertificateValidationCallback = (a, b, c, d) => { return true; };
handler.ClientCertificates.Add(certificate);


HttpClient request = new HttpClient(handler);
request.DefaultRequestHeaders.Add("User-Agent", UserAgent);
// added other headers and data
var result = request.PostAsync(url, byteContent).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
Run Code Online (Sandbox Code Playgroud)

还与 fiddler 交叉检查 Postman hit 和 c# …

c# client-certificates x509certificate2 dotnet-httpclient

6
推荐指数
2
解决办法
1万
查看次数

如何从JAVA中的2D数组获取2D子数组?

假设我有2D数组,如下所示:

int[][] temp={
              {1,2,3,4},
              {5,6,7,8},
              {9,10,11,12}};
Run Code Online (Sandbox Code Playgroud)

我想让子数组从X方向1到2和Y方向1到2即

{6,7}
{10,11}
Run Code Online (Sandbox Code Playgroud)

谁能给我以上问题的解决方案。

java arrays 2d

5
推荐指数
1
解决办法
9616
查看次数

填充渐变颜色不适用于ggplot2的geom_bar

当我在ggplot2中使用scale_fill_gradient()和geom_bar()时,只为所有条形填充一个默认颜色.但是期待从低到高的绿色为RED.

theTable <- within(data, Tag <- factor(tag, levels=names(sort(table(tag), 
                                                        decreasing=FALSE))))
histGraph=ggplot(theTable,aes(x=Tag))+
  coord_flip() +
  scale_fill_gradient(low = "green", high = "red")+
  geom_bar(width=0.7)
Run Code Online (Sandbox Code Playgroud)

输出上面的代码,

实际输出

数据看起来像,

ID  Tag
1   BibArticleDOI
1   FirstPage
1   LastPage
2   BibArticleDOI
2   JournalTitle
3   BibArticleDOI
3   FirstPage
Run Code Online (Sandbox Code Playgroud)

编辑: 从罗马的建议,编辑上面的代码.

dataOfTag <- as.data.frame(table(data$tag))
dataOfTag$tag <- factor(dataOfTag$Var1, levels = dataOfTag$Var1[order(dataOfTag$Freq)])

histPlot=ggplot(dataOfTag,aes(x=tag, y = Freq, fill = Freq))+
  coord_flip() +
  scale_fill_gradient(low = "green", high = "red")+
  geom_bar(width=0.7, stat = "identity")
histPlot
Run Code Online (Sandbox Code Playgroud)

r ggplot2

4
推荐指数
1
解决办法
8128
查看次数

如何在java中加载和使用本机库?

我有一个java类,调用本机方法并尝试加载库:

import java.io.UnsupportedEncodingException;

public class Main {

    public static native String getMyString(String s);

    /**
     * @param args
     * @throws UnsupportedEncodingException
     */
    public static void main(String[] args) throws UnsupportedEncodingException {
        // TODO Auto-generated method stub
        // System.out.println("here!");

        String s2 = getMyString("string text");
        for (Byte b : s2.getBytes("UTF-8")) {
            System.out.print(b);
            System.out.print(",");
        }

    }

    static {
        System.loadLibrary("mylib.so");
    }

}
Run Code Online (Sandbox Code Playgroud)

"mylib.so"位于Main.class所在的目录中.

当我跑步时,java Main我得到以下异常:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no mylib.so in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1856)
        at java.lang.Runtime.loadLibrary0(Runtime.java:845)
        at java.lang.System.loadLibrary(System.java:1084)
        at Main.<clinit>(Main.java:24)
Run Code Online (Sandbox Code Playgroud)

我应该为此改变什么呢?

我试过设置库完整路径但没有成功

java native

3
推荐指数
2
解决办法
3万
查看次数

入门级人员的自然语言处理书籍或资源?

任何人都可以对好的自然语言处理书提出一些建议。以下是我要考虑的因素:

  • 它对这些巨大的主题进行了很好的概述,而且没有太多的深度。
  • 概念需要以图片形式进行解释。
  • JAVA / Python / R中的示例代码。

nlp

0
推荐指数
1
解决办法
308
查看次数