我希望我的Python函数分割一个句子(输入)并将每个单词存储在一个列表中.我当前的代码拆分了句子,但没有将单词存储为列表.我怎么做?
def split_line(text):
# split the text
words = text.split()
# for each word in the line:
for word in words:
# print the word
print(words)
Run Code Online (Sandbox Code Playgroud) 我想从字符串中提取变量的第一个单词.例如,请输入以下内容:
<?php $myvalue = 'Test me more'; ?>
Run Code Online (Sandbox Code Playgroud)
结果输出应该是Test输入的第一个字.我怎样才能做到这一点?
我正在尝试使用python将字符串转换为单词列表.我想采取以下内容:
string = 'This is a string, with words!'
Run Code Online (Sandbox Code Playgroud)
然后转换为这样的东西:
list = ['This', 'is', 'a', 'string', 'with', 'words']
Run Code Online (Sandbox Code Playgroud)
请注意省略标点符号和空格.最快的方法是什么?
从文本块中切出最后一个单词的最佳方法是什么?
我能想到
我目前正在采取方法#1,但我不知道如何连接列表...
content = content[position-1:position+249] # Content
words = string.split(content, ' ')
words = words[len[words] -1] # Cut of the last word
Run Code Online (Sandbox Code Playgroud)
任何代码示例都非常感谢.
正如问题中的措辞,我正在寻找一个免费的和/或开源的中文文本分割算法,我确实理解这是一个非常难以解决的任务,因为有很多歧义.我知道有谷歌的API,但它确实是一个黑盒子,即没有太多关于它正在做什么的信息正在通过.
将字符串拆分成单词的正确方法是什么?(字符串不包含任何空格或标点符号)
例如:"stringintowords" - >"String into Words"
你能告诉我这里应该使用什么算法吗?
!更新:对于那些认为这个问题仅仅是为了好奇的人.该算法可用于动态域名("sportandfishing .com" - >"SportAndFishing .com"),此算法目前由aboutus dot org用于动态执行此转换.
algorithm nlp dynamic-programming string-split text-segmentation
我需要找到一个动态编程算法来解决这个问题.我试过但无法弄明白.这是问题所在:
您将获得一个n个字符串[1 ... n],您认为这是一个损坏的文本文档,其中所有标点符号都已消失(因此它看起来像"itwasthebestoftimes ...").您希望使用字典重建文档,该字典以布尔函数dict(*)的形式提供,对于任何字符串w,如果w是有效字,则dict(w)的值为1,并且值为0除此以外.
我正在研究将高棉语(柬埔寨语)的长行分成单个单词(UTF-8)的解决方案.高棉语不会在单词之间使用空格.有一些解决方案,但它们远远不够(这里和这里),那些项目已经落伍了.
以下是需要拆分的高棉样本行(它们可能比这更长):
ចូរសរសើរដល់ទ្រង់ទ្រង់បានប្រទានទាំងអស់នោះមកដល់រូបដោយព្រោះអង្គព្រះយេស៊ូវហើយដែលមិនអាចរកការទាំងអស់នោះដោយសារការប្រព្រឹត្តរបស់អ្នកឡើយឡើយ.
创建分裂高棉语的可行解决方案的目标有两个:它将鼓励那些使用高棉遗留(非Unicode)字体转换为Unicode(具有许多好处)的人,并且它将使遗留的高棉语字体能够被导入进入Unicode以快速使用拼写检查器(而不是手动浏览和分割单词,使用大文档,可能需要很长时间).
我不需要100%的准确度,但速度很重要(特别是因为需要分成高棉语的行可能很长).我愿意接受建议,但目前我有一大堆高棉语单词正确分割(有一个不间断的空格),我创建了一个单词概率词典文件(frequency.csv)作为字典用于分词器.
我在这里发现这个使用Viterbi算法的 python代码,它应该运行得很快.
import re
from itertools import groupby
def viterbi_segment(text):
probs, lasts = [1.0], [0]
for i in range(1, len(text) + 1):
prob_k, k = max((probs[j] * word_prob(text[j:i]), j)
for j in range(max(0, i - max_word_length), i))
probs.append(prob_k)
lasts.append(k)
words = []
i = len(text)
while 0 < i:
words.append(text[lasts[i]:i])
i = lasts[i]
words.reverse()
return words, probs[-1]
def word_prob(word): return dictionary.get(word, 0) / total
def words(text): return re.findall('[a-z]+', …Run Code Online (Sandbox Code Playgroud) python nlp word-boundary text-segmentation southeast-asian-languages
我想用PHP将文本分成句子.我目前正在使用正则表达式,它带来了约95%的准确度,并希望通过使用更好的方法来改进.我已经看过在Perl,Java和C中使用NLP工具,但没有看到任何适合PHP的工具.你知道这样的工具吗?
我从文档中提取了句子列表.我正在预处理这个句子列表,使其更加明智.我遇到了以下问题
我有句话如 "more recen t ly the develop ment, wh ich is a po ten t "
我想用查找词典来纠正这些句子?删除不需要的空格.
最终的输出应该是 "more recently the development, which is a potent "
我认为这是预处理文本的直接任务?我需要一些帮助来寻找这些方法.谢谢.
python ×5
algorithm ×3
nlp ×3
list ×2
php ×2
split ×2
string ×2
big-o ×1
cjk ×1
cpu-word ×1
dictionary ×1
dynamic ×1
extract ×1
nltk ×1
open-source ×1
python-2.7 ×1
regex ×1
string-split ×1
words ×1