小编Gol*_*sar的帖子

从句子中找出有意义的子句

有没有办法找到仍然有意义且至少包含一个主语,动词和谓词/宾语的句子的所有子句?

例如,如果我们有一句话,"我将在下个月在奥斯汀的SXSW举办关于NLP的研讨会".我们可以从这句话中提取以下有意义的子句:"我要去做一个研讨会","我要做一个关于NLP的研讨会","我将在SXSW做一个关于NLP的研讨会","我打算在SXSW做一个研讨会","我将在奥斯汀做一个研讨会","我将在下个月做一个关于NLP的研讨会",等等.

请注意,此处没有推断的句子(例如"下个月将在SXSW举行NLP研讨会".虽然这是真的,但我们不需要将此作为此问题的一部分.).所有生成的句子都是给定句子的一部分.

我们如何解决这个问题呢?我正在考虑创建带注释的训练数据,该训练数据具有训练数据集中每个句子的一组合法子句子.然后编写一些监督学习算法来生成模型.

我是NLP和机器学习的新手,所以如果你们能提出一些方法来解决这个问题,那将会很棒.

grammar parsing nlp artificial-intelligence machine-learning

13
推荐指数
3
解决办法
3975
查看次数

如何在Lucene/Solr/Elasticsearch索引或NoSQL数据库中存储树数据?

说而不是文件我有小树,我需要存储在Lucene索引中.我该怎么做呢?

树中的示例节点:

class Node
{
    String data;
    String type;
    List<Node> children;
}
Run Code Online (Sandbox Code Playgroud)

在上面的节点中,"data"成员变量是一个空格分隔的单词串,因此需要全文可搜索."type"成员变量只是一个单词.

搜索查询将是树本身,并且将搜索每个节点中的数据和类型以及用于匹配的树的结构.在匹配子节点之前,查询必须首先匹配父节点数据和类型.可以接受数据值的近似匹配.

索引此类数据的最佳方法是什么?如果Lucene不直接支持索引这些数据,那么这可以由Solr或Elasticsearch完成吗?

我快速浏览了neo4j,但似乎在db中存储了整个图形,而不是大型集合(比如数十亿或数万亿)的小树结构.或者我的理解是错的?

另外,基于非Lucene的NoSQL解决方案是否更适合这种情况?

lucene solr neo4j nosql elasticsearch

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

任意类型的GDB条件断点

是否可以在GDB中设置条件断点,其中条件表达式包含任意类类型的对象?

我需要在函数内设置断点,条件将检查对象的成员字符串变量是否等于"foo".所以,像:

condition 1 myObject->myStringVar == "foo"
Run Code Online (Sandbox Code Playgroud)

但它不起作用.GDB是否只允许基本和char*类型的条件断点?有什么办法可以在非原始类型上设置条件断点吗?

c++ linux gdb

12
推荐指数
2
解决办法
4569
查看次数

使用Perl正则表达式重叠文本替换

我有一个包含一堆句子的文本文件.句子包含空格(空格,制表符,新行)以分隔出由字母和/或数字组成的单词.我想找到单词"123"或"-123"并在数字开始前插入一个点(.).因此,所有出现的"123"和"-123"都将转换为".123"和"-123".

我试着用以下方法:

$line =~ s/(\s+-*123\s+)/getNewWord($1)/ge
Run Code Online (Sandbox Code Playgroud)

其中$ line包含从文件中读取的行,而函数getNewWord将把点(.)放在匹配的单词中的适当位置.

但它不适用于有两个连续"123"的情况,如"123 123".当第一个"123"被".123"替换时,该单词后面的空格已经匹配,第二个"123"不匹配,因为正则表达式引擎无法将前一个空格与该单词匹配.

谁能帮我这个?谢谢!

regex perl

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

如何从Perl脚本调用shell函数

说,我有一个像这样的shell脚本:

utils.sh

function getDir
{
    echo "DirName"
}
Run Code Online (Sandbox Code Playgroud)

我想在Perl脚本中使用该函数:

test.pl

`source utils.sh`;

my $dir_name = `getDir`;

print $dir_name;
Run Code Online (Sandbox Code Playgroud)

但这不起作用.任何人都可以建议我如何完成这项工作?基本上我需要从shell函数获取返回值到Perl脚本.

shell perl

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