小编Ren*_*ani的帖子

我如何在OpenNLP中训练命名实体识别器标识符?

好的,我有以下代码来训练OpenNLP的NER标识符

FileReader fileReader = new FileReader("train.txt");
ObjectStream fileStream = new PlainTextByLineStream(fileReader);
ObjectStream sampleStream = new NameSampleDataStream(fileStream);
TokenNameFinderModel model = NameFinderME.train("pt-br", "train", sampleStream, Collections.<String, Object>emptyMap());
nfm = new NameFinderME(model); 
Run Code Online (Sandbox Code Playgroud)

我不知道如果缺少某些东西我是否做错了,但分类不起作用.我假设train.txt错了.

发生的错误是所有令牌都只分类为一种类型.

我的train.txt数据类似于以下示例,但具有更多的条目变化和数量.另一件事是我每次都是从文本中逐字逐句地分类,而不是所有的标记.

<START:distance> 8000m <END>
<START:temperature> 100ºC <END>
<START:weight> 50kg <END>
<START:name> Renato <END>
Run Code Online (Sandbox Code Playgroud)

有人可以证明我做错了吗?

java nlp named-entity-recognition opennlp

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

PostgreSQL中是否有可用的多值字段类型?

我想知道是否可以在PostgreSQL中的字段中存储多个值.

我有一个Token用列调用的表id,textcategory.category是一个多值领域.是否有必要为它创建一个单独的表,还是有办法将其存储在Token表中?

arrays postgresql database-design types multivalue

9
推荐指数
2
解决办法
8248
查看次数

如何更改ExecutorService中的线程名称?

我正在使用ExecutorService来执行一些Callables,但是线程的名称就像fixed-pool-1-thread-1.

我如何更改线程的名称?如果不可能,还有另一种执行Callables的方法,我可以设置threadS的名称吗?

java multithreading executorservice

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

在Java中,获取系统时间的最快方法是什么?

我正在开发一个经常使用系统时间的系统,因为Delayed界面.

什么是从系统中获取时间的紧固方式?

目前我Calendar.getInstance().getTimeInMillis()每次都需要花时间使用,但我不知道是否有更快的方法.

java time calendar

8
推荐指数
2
解决办法
5786
查看次数

为什么我在批处理从Java上执行PostgreSQL上的存储过程时收到错误通知"结果不被预期"?

我在数据库中有这个过程:

CREATE OR REPLACE FUNCTION replacePageRelevance(id INT, value REAL) RETURNS VOID AS $$
BEGIN
INSERT INTO pageRelevance VALUES (id,value);
EXCEPTION WHEN unique_violation THEN
    UPDATE pageRelevance SET relevance = value WHERE pageId = id;       
END
$$
LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

这段代码调用了这个函数:

private final String PAGE_RELEVANCE_SQL = "SELECT replacePageRelevance(?,?::REAL)";
try (CallableStatement cstm = conn.prepareCall(PAGE_RELEVANCE_SQL)) {
        for (Map.Entry<Integer, Double> entry : weightMap.entrySet()) {
            cstm.setInt(1, entry.getKey());
            cstm.setDouble(2, entry.getValue());
            cstm.addBatch();
        }
        cstm.executeBatch();
    } catch (SQLException e) {
        LOGGER.error("Error discovering pages relevance: " + e.getNextException());
    }
}
Run Code Online (Sandbox Code Playgroud)

当我执行批处理时,会在表中插入或替换值,但在此之后,我收到一个异常通知 …

java postgresql stored-procedures plpgsql

8
推荐指数
1
解决办法
4513
查看次数

使用PostgreSQL中的数据进行语言检测

我在PostgreSQL中有一个表,其中列是文本.我需要一个库或工具,可以识别每个文本的语言以用于测试目的.

不需要PostgreSQL代码,因为我在安装语言时遇到问题,但是任何可以连接到数据库,检索文本并识别它的语言都是受欢迎的.

Lingua::Identify在Perl脚本中的答案中使用了建议,它有效,但结果不准确.

我想要识别的文本来自网络,大多数都是葡萄牙语,但是Lingua::Identify将法语,意大利语和西班牙语分类为类似的语言.

我需要更精确的东西.

我添加了javar标签,因为我在系统中使用的语言和使用它们的解决方案将很容易实现,但欢迎使用任何语言的解决方案.

java language-agnostic postgresql r language-detection

8
推荐指数
2
解决办法
1879
查看次数

如何在使用RegEx时保留分隔符?

我做了一个关于标点符号和正则表达式的问题,但这令人困惑.

我有这样的文字:

String text = "wor.d1, :word2. wo,rd3? word4!"; 
Run Code Online (Sandbox Code Playgroud)

我这样做:

String parts[] = text.split(" ");
Run Code Online (Sandbox Code Playgroud)

我有这个:

wor.d1, | :word2. | wor,d3? | word4!;
Run Code Online (Sandbox Code Playgroud)

有这个我需要做什么?(将符号保留在边界处,但仅限于我指定的:.,!?:,而不是全部).

wor,d1 | , | : | word2 | . | wor,d3 | ? | word4 | !
Run Code Online (Sandbox Code Playgroud)

UPDATE

我用这些正则表达式获得了一些好的结果,但它在一个单词开头的标点符号的所有分割之前给出了一个空的char.

有一种方法可以在一开始没有这个空的char?

这个正则表达式是好的还是有更简单的方法?

public static final String PUNCTUATION_SEPARATOR =
        "("
        + "("
        + "(?=^[\"'!?.,;:(){}\\[\\]]+)"
        + "|"
        + "(?<=^[\"'!?.,;:(){}\\[\\]]+)"
        + ")"
        + "|"
        + "("
        + "(?=[\"'!?.,;:(){}\\[\\]]+($|\n))"
        + "|"
        + "(?<=[\"'!?.,;:(){}\\[\\]]+($|\n))"
        + ")"
        + ")";
Run Code Online (Sandbox Code Playgroud)

java regex punctuation separator

7
推荐指数
1
解决办法
1045
查看次数

如何从Java列表创建SQL数组?

我正在尝试在表中插入一个数组,但我需要将列表转换为SQL数组类型.我正在使用该Connection#createArrayOf()方法,但我得到了一个例外.

我需要传递一个类型名称,但我不知道这是什么,我总是得到一个例外.该数组来自VARCHAR.

我怎么解决这个插入数组?

代码

Object[] array = new Object[token.getCategories().size()];
array = token.getCategories().toArray();
pstmTokenInsert.setArray(1, conn.createArrayOf("VARCHAR", array));
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪

org.postgresql.util.PSQLException: Could not find array type for data type VARCHAR
at org.postgresql.jdbc4.AbstractJdbc4Connection.createArrayOf(AbstractJdbc4Connection.java:73)
at org.postgresql.jdbc4.Jdbc4Connection.createArrayOf(Jdbc4Connection.java:21)
at org.apache.commons.dbcp.DelegatingConnection.createArrayOf(DelegatingConnection.java:560)
at br.ifsp.da.data.TokenDAO.insertTokens(TokenDAO.java:37)
at br.ifsp.da.data.ProcessedPageInserter.loopInsertion(ProcessedPageInserter.java:44)
at br.ifsp.da.data.ProcessedPageInserter.call(ProcessedPageInserter.java:27)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Run Code Online (Sandbox Code Playgroud)

java sql arrays postgresql

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

我可以使用哪种算法来查找常见的相邻词/模式识别?

我的数据库中有一个大表,文本顺序中有很多来自各种文本的单词.我想找到一些单词一起出现的次数/频率.

示例:假设我在许多文本中都有这4个单词:United | States | of | America.我会得到结果:

美国:50
美国:45
美利坚合众国:40

(这只是一个包含4个单词的示例,但可以使用少于4个单词).

有一些算法可以做到这一点或类似于此?

编辑:欢迎使用一些显示如何操作的R或SQL代码.我需要一个我需要做的实际例子.

表结构

我有两个表:Tokenidtext.文本是,UNIQUE并且此表中的每个入口代表不同的单词.

TextBlockHasToken是保持文本顺序的表.每行代表文本中的一个单词.

textblockid有令牌所属的文本块.sentence这是令position牌的句子,tokenid即句子内的令牌位置,也就是令牌表引用.

sql algorithm pattern-recognition artificial-intelligence r

7
推荐指数
1
解决办法
1621
查看次数

使用Javascript/jQquery创建垂直时间轴

我看到了有关库的其他问题,可以使用Javascript创建时间表.有一些库,但它们创建水平时间轴,但我想创建一个垂直.

那么,哪个是创建垂直时间线的好库呢?

我不希望像Facebook这样的时间表有帖子,但是一个简单的时间表有多年和像这个问题的项目,但垂直而不是横向.

javascript jquery charts timeline

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