标签: python-textprocessing

如何计算句子中的单词数,忽略数字,标点符号和空格?

我如何计算句子中的单词?我正在使用Python.

例如,我可能有字符串:

string = "I     am having  a   very  nice  23!@$      day. "
Run Code Online (Sandbox Code Playgroud)

这将是7个字.我在每个单词之后/之前以及涉及数字或符号时随机数量的空格都遇到了问题.

python text counter list python-textprocessing

54
推荐指数
5
解决办法
16万
查看次数

Nltk stanford pos tagger错误:Java命令失败

我正在尝试nltk.tag.stanford module 用来标记一个句子(首先像wiki的例子),但我一直收到以下错误:

Traceback (most recent call last):
  File "test.py", line 28, in <module>
    print st.tag(word_tokenize('What is the airspeed of an unladen swallow ?'))
  File "/usr/local/lib/python2.7/dist-packages/nltk/tag/stanford.py", line 59, in tag
    return self.tag_sents([tokens])[0]
  File "/usr/local/lib/python2.7/dist-packages/nltk/tag/stanford.py", line 81, in tag_sents
    stdout=PIPE, stderr=PIPE)
  File "/usr/local/lib/python2.7/dist-packages/nltk/internals.py", line 160, in java
    raise OSError('Java command failed!')
OSError: Java command failed!
Run Code Online (Sandbox Code Playgroud)

或以下LookupError错误:

LookupError: 

===========================================================================
NLTK was unable to find the java file!
Use software specific configuration paramaters or set the JAVAHOME environment variable.
=========================================================================== …
Run Code Online (Sandbox Code Playgroud)

python nlp nltk stanford-nlp python-textprocessing

10
推荐指数
1
解决办法
7176
查看次数

如何在Python中过滤文本I/O流

给定文本I/O流(例如来自open()StringIO()),如何创建另一个流来过滤掉与特定模式匹配的行,而不首先读取整个输入流?我知道我可以很容易地得到一个可迭代的(line for line in input if filter(line)),但我想要一个可搜索的流.我也理解,即使底层流允许随机访问,搜索也需要读取整个流,但这仍然比读取整个文件更好StringIO("".join(line for line in input if filter(line))).

(作为一个附加组件,如何记住重复搜索的指针将受到欢迎!)

python stream python-3.x python-textprocessing

5
推荐指数
0
解决办法
674
查看次数

Lemmainser使用NLTK

我目前有这样一句话:

text = "This is a car."
Run Code Online (Sandbox Code Playgroud)

然后我使用一个tokeniser,然后像这样干它:

ps = PorterStemmer()
text = word_tokenize(text)
stemmed_words = []
for w in words:
    stemmed_words.append(ps.stem(w))
Run Code Online (Sandbox Code Playgroud)

但是,我现在希望使用NLTK的lemmainser来代替.要使用它,我需要给它一个像这样的单词的部分(在循环内):

lemmatizer = WordNetLemmatizer()
word = lemmatizer.lemmatize(w, pos=pos)
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何得到pos论证.我知道我可以使用它来获得演讲的一部分,但不接受作为参数:

pos = nltk.pos_tag(text)
Run Code Online (Sandbox Code Playgroud)

python text nltk python-textprocessing

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

在Python中使用nltk模块拆分单词

我正在尝试找到一种使用nltk模块在Python中拆分单词的方法。考虑到我拥有的原始数据(例如带符号词的列表),我不确定如何达到我的目标

['usingvariousmolecularbiology', 'techniques', 'toproduce', 'genotypes', 'following', 'standardoperatingprocedures', '.', 'Operateandmaintainautomatedequipment', '.', 'Updatesampletrackingsystemsandprocess', 'documentation', 'toallowaccurate', 'monitoring', 'andrapid', 'progression', 'ofcasework']
Run Code Online (Sandbox Code Playgroud)

如您所见,许多单词被粘在一起(即“ to”和“ produce”被粘在一个字符串“ toproduce”中)。这是从PDF文件中抓取数据的一种人工产物,我想找到一种使用python中的nltk模块将卡住的单词拆分(即,将“ toproduce”拆分为两个单词:“ to”和“ produce”的方法);将“ standardoperatingprocedures”分为三个词:“ standard”,“ operating”,“ procedures”)。

感谢您的帮助!

python text-processing text-analysis nltk python-textprocessing

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