小编alv*_*vas的帖子

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

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

例子:

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

python grammar nlp

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

从文本文件中删除unicode字符 - sed,其他bash/shell方法

如何从终端上的一堆文本文件中删除unicode字符?我试过这个,但它不起作用:

sed 'g/\u'U+200E'//' -i *.txt
Run Code Online (Sandbox Code Playgroud)

我需要从文本文件中删除这些unicodes

U+0091 - sort of weird "control" space
U+0092 - same sort of weird "control" space
A0 - non-space break
U+200E - left to right mark
Run Code Online (Sandbox Code Playgroud)

unicode bash spaces sed text-files

42
推荐指数
4
解决办法
8万
查看次数

这些运算符是什么意思(**,^,%,//)?

除了标准+,-,*/运营商; 但什么是这些均值(**,^,%,//)?

>>> 9+float(2) # addition
11.0
>>> 9-float(2) # subtraction
7.0
>>> 9*float(2) # multiplication
18.0
>>> 9/float(2) # division
4.5
>>>
>>> 9**float(2) # This looks like a square, (i.e. power 2) 
81.0
>>> 9**float(3) # So ** is equivalent to `math.pow(x,p)` ?
729.0
Run Code Online (Sandbox Code Playgroud)

又如何^操作?

>>> 9^int(2) # What is `^` in `x^u` , it only allows `int` for `u` …
Run Code Online (Sandbox Code Playgroud)

python math native operators

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

如何在Python中从语料库创建一个词云?

创建R中的语料库中的单词子集,应答者可以轻松地将term-document matrix词汇转换为词云.

python库是否有一个类似的功能,它将原始文本文件或NLTK语料库或GensimMmcorpus带入词云?

结果看起来有点像这样: 在此输入图像描述

python corpus nltk word-cloud gensim

40
推荐指数
4
解决办法
8万
查看次数

如何检查字符串是一个有效的正则表达式 - python?

在Java中,我可以使用以下函数来检查字符串是否是有效的正则表达式:(来源:如何检查字符串是否是正则表达式)

boolean isRegex;
try {
  Pattern.compile(input);
  isRegex = true;
} catch (PatternSyntaxException e) {
  isRegex = false;
}
Run Code Online (Sandbox Code Playgroud)

是否有一个python相当于Pattern.compile()PatternSyntaxException?如果是这样,它是什么?

python regex string validation

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

`scipy.misc.comb`比ad-hoc二项式计算更快吗?

是否确定现在scipy.misc.comb确实比特别实施更快?

根据一个旧的答案,统计:Python中的组合,这个自制函数比scipy.misc.comb计算组合时更快nCr:

def choose(n, k):
    """
    A fast way to calculate binomial coefficients by Andrew Dalke (contrib).
    """
    if 0 <= k <= n:
        ntok = 1
        ktok = 1
        for t in xrange(1, min(k, n - k) + 1):
            ntok *= n
            ktok *= t
            n -= 1
        return ntok // ktok
    else:
        return 0
Run Code Online (Sandbox Code Playgroud)

但是在我自己的机器上运行一些测试后,使用这个脚本似乎不是这样的:

from scipy.misc import comb
import random, time

def choose(n, k):
    """
    A fast way to …
Run Code Online (Sandbox Code Playgroud)

python math combinations combinatorics scipy

31
推荐指数
1
解决办法
890
查看次数

什么是NLTK POS tagger要我下载?

我刚开始使用词性标注器,我遇到了很多问题.

我用以下内容开始了POS标记:

import nltk
text=nltk.word_tokenize("We are going out.Just you and me.")
Run Code Online (Sandbox Code Playgroud)

当我想要打印时'text',会发生以下情况:

print nltk.pos_tag(text)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "F:\Python26\lib\site-packages\nltk\tag\__init__.py", line 63, in pos_tag
tagger = nltk.data.load(_POS_TAGGER)
File "F:\Python26\lib\site-packages\nltk\data.py", line 594, in load
resource_val = pickle.load(_open(resource_url))
File "F:\Python26\lib\site-packages\nltk\data.py", line 673, in _open
 return find(path).open()
 File "F:\Python26\lib\site-packages\nltk\data.py", line 455, in find
   raise LookupError(resource_not_found)`  
LookupError:
 Resource 'taggers/maxent_treebank_pos_tagger/english.pickle' not
 found.  Please use the NLTK Downloader to obtain the resource:

>>> nltk.download().

 Searched in:
    - …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk pos-tagger

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

如何按降序/按顺序执行"uniq -c"的自然排序输出? - unix

如何对uniq -c输出进行自然排序?

当计数<10时,uniq -c | sort输出看起来很好:

alvas@ubi:~/testdir$ echo -e "aaa\nbbb\naa\ncd\nada\naaa\nbbb\naa\nccd\naa" > test.txt
alvas@ubi:~/testdir$ cat test.txt
aaa
bbb
aa
cd
ada
aaa
bbb
aa
ccd
aa
alvas@ubi:~/testdir$ cat test.txt | sort | uniq -c | sort
      1 ada
      1 ccd
      1 cd
      2 aaa
      2 bbb
      3 aa
Run Code Online (Sandbox Code Playgroud)

但是当计数大于10甚至数千/数时,这种排序会混乱,因为它是按字符串排序而不是按自然整数排序:

alvas@ubi:~/testdir$ echo -e "aaa\nbbb\naa\nnaa\nnaa\naa\nnaa\nnaa\nnaa\nnaa\nnaa\nnaa\nnaa\nnaa\nnnaa\ncd\nada\naaa\nbbb\naa\nccd\naa" > test.txt
alvas@ubi:~/testdir$ cat test.txt | sort | uniq -c | sort
     10 naa
      1 ada
      1 ccd
      1 cd
      1 nnaa
      2 aaa …
Run Code Online (Sandbox Code Playgroud)

unix sorting count natural-sort uniq

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

如何使用带有多个字符分隔符的剪切?UNIX

我的文件看起来像这样

abc ||| xyz ||| foo bar
hello world ||| spam ham jam ||| blah blah
Run Code Online (Sandbox Code Playgroud)

我想提取一个特定的列,例如我可以做到:

sed 's/\s|||\s/\\t/g' file | cut -f1
Run Code Online (Sandbox Code Playgroud)

但还有其他方法吗?

cut sed delimiter

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

Docker NLTK下载

我正在使用以下Dockerfile构建一个docker容器:

FROM ubuntu:14.04

RUN apt-get update

RUN apt-get install -y python python-dev python-pip

ADD . /app

RUN apt-get install -y python-scipy

RUN pip install -r /arrc/requirements.txt

EXPOSE 5000

WORKDIR /app

CMD python app.py
Run Code Online (Sandbox Code Playgroud)

一切顺利,直到我运行图像并得到以下错误:

**********************************************************************
  Resource u'tokenizers/punkt/english.pickle' not found.  Please
  use the NLTK Downloader to obtain the resource:  >>>
  nltk.download()
  Searched in:
    - '/root/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
    - u''
**********************************************************************
Run Code Online (Sandbox Code Playgroud)

我以前遇到过这个问题,这里讨论但是我不知道如何使用Docker来解决它.我试过了:

CMD python
CMD import nltk
CMD nltk.download()
Run Code Online (Sandbox Code Playgroud)

以及:

CMD python -m nltk.downloader …
Run Code Online (Sandbox Code Playgroud)

python nltk docker

24
推荐指数
3
解决办法
7435
查看次数