如何判断一个句子在Python中是否有效?
例子:
I love Stackoverflow - Correct
I Stackoverflow love - Incorrect
Run Code Online (Sandbox Code Playgroud) 如何从终端上的一堆文本文件中删除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) 除了标准+,-,*和/运营商; 但什么是这些均值(**,^,%,//)?
>>> 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) 从创建R中的语料库中的单词子集,应答者可以轻松地将term-document matrix词汇转换为词云.
python库是否有一个类似的功能,它将原始文本文件或NLTK语料库或GensimMmcorpus带入词云?
结果看起来有点像这样:

在Java中,我可以使用以下函数来检查字符串是否是有效的正则表达式:(来源:如何检查字符串是否是正则表达式)
boolean isRegex;
try {
Pattern.compile(input);
isRegex = true;
} catch (PatternSyntaxException e) {
isRegex = false;
}
Run Code Online (Sandbox Code Playgroud)
是否有一个python相当于Pattern.compile()和PatternSyntaxException?如果是这样,它是什么?
是否确定现在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) 我刚开始使用词性标注器,我遇到了很多问题.
我用以下内容开始了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) 如何对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) 我的文件看起来像这样
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)
但还有其他方法吗?
我正在使用以下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 ×7
nltk ×3
math ×2
nlp ×2
sed ×2
bash ×1
combinations ×1
corpus ×1
count ×1
cut ×1
delimiter ×1
docker ×1
gensim ×1
grammar ×1
native ×1
natural-sort ×1
operators ×1
pos-tagger ×1
regex ×1
scipy ×1
sorting ×1
spaces ×1
string ×1
text-files ×1
unicode ×1
uniq ×1
unix ×1
validation ×1
word-cloud ×1