标签: nlp

如何拆分多个连接的单词?

我有一个1000个左右的数组,下面是一些例子:

wickedweather
liquidweather
driveourtrucks
gocompact
slimprojector
Run Code Online (Sandbox Code Playgroud)

我希望能够将这些分成各自的词,如:

wicked weather
liquid weather
drive our trucks
go compact
slim projector
Run Code Online (Sandbox Code Playgroud)

我希望有一个正则表达式,我可以做到这一点.但是,既然没有边界可以停下来,也没有任何我可以关键的大写,我想,有些类型的字典引用可能是必要的吗?

我想它可以手工完成,但为什么 - 什么时候可以用代码完成!=)但这让我很难过.有任何想法吗?

string nlp

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

汉明距离与Levenshtein距离

对于我正在研究的问题,找到两个序列之间的距离来确定它们的相似性,序列顺序非常重要.但是,我所拥有的序列长度并不完全相同,所以我用空点填充任何不足的字符串,使得两个序列的长度相同,以满足汉明距离要求.我这样做是否有任何重大问题,因为我所关心的只是换位次数(不是像Levenshtein那样的插入或删除)?

我发现汉明距离比Levenshtein快得多,作为长度较长的序列的距离度量.何时应该使用Levenshtein距离(或Levenshtein距离的导数)而不是更便宜的汉明距离?汉明距离可以被认为是两个序列之间可能的Levenshtein距离的上限,因此如果我将两个序列进行比较以获得有序偏差的相似性度量而不是绝对最小的移动数量以匹配序列,则没有明显的我之所以选择Levenshtein而不是Hamming作为指标,是吗?

algorithm diff nlp hamming-distance levenshtein-distance

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

从文本内容生成标记

我很好奇是否存在通过使用一些权重计算,出现率或其他工具从给定文本生成关键字/标签的算法/方法.

另外,如果您为此指出任何基于Python的解决方案/库,我将不胜感激.

谢谢

python tags nlp machine-learning nltk

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

无监督的情绪分析

我一直在阅读很多文章,这些文章解释了在情感分析系统真正起作用之前需要一组初始文本,这些文本被归类为"正面"或"负面".

我的问题是:是否有人试图对"正面"形容词与"否定"形容词进行初步检查,同时考虑到任何简单的否定词以避免将"不快乐"归类为正面?如果是这样,是否有任何文章讨论为什么这种策略不现实?

nlp machine-learning sentiment-analysis

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

情感分析词典

我想知道是否有人知道我在哪里可以获得正面和负面词汇的字典.我正在研究情绪分析,这是它的一个关键部分.

dictionary nlp sentiment-analysis

45
推荐指数
5
解决办法
6万
查看次数

POS标记和浅析析之间有什么区别?

我目前正在我的大学学习自然语言处理课程,但仍然对一些基本概念感到困惑.我从统计自然语言处理基础书中得到了POS标记的定义:

标记是用一个适当的词性标记(或标记)句子中每个单词的任务.我们决定每个单词是名词,动词,形容词还是其他.

但是我在书中找不到浅层解析的定义,因为它还将浅层解析描述为POS标记的一个实用程序.所以我开始在网上搜索,没有发现浅层解析的直接解释,但在维基百科:

浅解析(也是分块,"轻解析")是对句子的分析,其标识成分(名词组,动词,动词组等),但没有指定它们的内部结构,也没有指定它们在主句中的作用.

我坦率地看不出差别,但可能是因为我的英语或者只是我不理解简单的基本概念.任何人都可以解释浅层解析和POS标记之间的区别吗?浅层解析通常也称为浅层语义解析吗?

谢谢你.

nlp pos-tagger

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

gensim Doc2Vec vs tensorflow Doc2Vec

我正在尝试比较我的Doc2Vec(通过tf)和gensims实现的实现.从视觉上看,gensim的表现更好.

我运行以下代码来训练gensim模型和下面的那个用于tensorflow模型.我的问题如下:

  1. 我的Doc2Vec实现是否正确.基本上它应该是连接单词向量和文档向量来预测某个上下文中的中间单词吗?
  2. window=5gensim中的参数是否意味着我在两边使用两个词来预测中间的一个?或者两边都是5.事情是有相当多的文件小于长度10.
  3. 关于为什么Gensim表现更好的任何见解?我的模型与他们如何实现它有什么不同吗?
  4. 考虑到这实际上是一个矩阵分解问题,为什么TF模型甚至得到答案?由于它是一个排名不足的问题,因此有无限的解决方案.< - 最后一个问题只是奖金.

Gensim

model = Doc2Vec(dm=1, dm_concat=1, size=100, window=5, negative=10, hs=0, min_count=2, workers=cores)
model.build_vocab(corpus)
epochs = 100
for i in range(epochs):
    model.train(corpus)
Run Code Online (Sandbox Code Playgroud)

TF

batch_size = 512
embedding_size = 100 # Dimension of the embedding vector.
num_sampled = 10 # Number of negative examples to sample.


graph = tf.Graph()

with graph.as_default(), tf.device('/cpu:0'):
    # Input data.
    train_word_dataset = tf.placeholder(tf.int32, shape=[batch_size])
    train_doc_dataset = tf.placeholder(tf.int32, shape=[batch_size/context_window])
    train_labels = tf.placeholder(tf.int32, shape=[batch_size/context_window, 1])

    # The variables   
    word_embeddings =  tf.Variable(tf.random_uniform([vocabulary_size,embedding_size],-1.0,1.0)) …
Run Code Online (Sandbox Code Playgroud)

python nlp gensim tensorflow doc2vec

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

实体提取/识别使用免费工具同时喂养Lucene指数

我目前正在调查从文本中提取人名,位置,技术词和类别的选项(来自网络的大量文章),然后这些文章将被用于Lucene/ElasticSearch索引.然后将附加信息添加为元数据,并且应该提高搜索的精度.

例如,当有人查询"检票口"时,他应该能够决定他是指板球运动还是阿帕奇项目.到目前为止,我试图自己实现这一点并取得了一些成功.现在我找到了很多工具,但我不确定它们是否适合这项任务,哪些与Lucene集成良好,或者实体提取的精度是否足够高.

我的问题:

  • 有没有人对上面列出的一些工具及其精确/召回有经验?或者,如果需要培训数据+可用.
  • 是否有文章或教程可以为每个工具开始实体提取(NER)?
  • 他们如何与Lucene整合?

以下是与该主题相关的一些问题:

lucene nlp semantic-web mahout opennlp

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

从文本中检测短语和关键字的算法

我有大约100兆字节的文本,没有任何标记,分为大约10,000个条目.我想自动生成一个'标签'列表.问题是有些词组(即短语)只有在组合在一起时才有意义.

如果我只计算单词,我会得到大量非常常见的单词(是,for,for,in,am等).我已经计算了它之前和之后的其他单词的数量和数量,但现在我真的无法弄清楚下一步该做什么有关2和3个单词短语的信息存在,但我该如何提取这些数据呢?

algorithm text-processing nlp

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

如何检查句子是否正确(Python中的简单语法检查)?

如何判断一个句子在Python中是否有效?

例子:

I love Stackoverflow - Correct
I Stackoverflow love - Incorrect
Run Code Online (Sandbox Code Playgroud)

python grammar nlp

43
推荐指数
4
解决办法
5万
查看次数