Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
43 / 7 / 0
Регистрация: 27.11.2013
Сообщений: 96

Как оптимально посчитать количество биграмм в тексте, исключив некоторые?

03.12.2013, 01:51. Показов 4768. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Есть код считающий кол-во биграмм в тексте 1, но которых нет в текстах 2, 3, 4

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import codecs
from nltk import bigrams
 
def gen_Bigram(text):
        f = codecs.open(text,'r','utf8').read()
        tokens = f.split()
        mn_bigram = bigrams(tokens)
        return mn_bigram
 
def collect():
        arr = []
        for a in gen_Bigram('2.txt'):
                aN = (' '.join(a))
                arr.append(aN)
        for s in gen_Bigram('3.txt'):
                sN = (' '.join(s))
                arr.append(sN)
        for d in gen_Bigram('4.txt'):
                dN = (' '.join(d))
                arr.append(dN)
        words = set(arr)
        return words
                
 
 
def out_write():
        fOut = codecs.open('out.txt', 'w', 'utf-8')        
        dic = {}
        for ml in gen_Bigram('1.txt'):
                mlF = (' '.join(ml))
                if mlF not in collect():
                        if mlF in dic:
                                dic[mlF] += 1
                        else:
                                dic[mlF] = 1
    
        
        for z in dic:
            fOut.write(z + '#' + str(dic[z]))
            fOut.write('\r\n')
        fOut.close()
                        
out_write()

Он работает крайне медленно (если вообще работает, потому что после условия
Python
1
if mlF not in collect():
если ставлю обычную запись, ее наблюдаю. А запись частотного списка не вижу)

Помогите сделать его побыстрее

Заранее спасибо

P.s. За реализацию больно не бить, был нацелен на результат любой ценой
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2013, 01:51
Ответы с готовыми решениями:

Посчитать процентное соотношение (или количество) каждой буквы алфавита и биграмм
Дан текст 5Мб. надо написать программу на с++, посчитать процентное соотношение(или количество) каждой буквы алфавита и биграмм. Подскажите...

Как вывести все имена файлов, исключив некоторые?
Народ, кто подскажет, как выбрать в bash все файлы в каталоге, удовлетворяющие условию, кроме "вот этого именно" файла? ...

Как посчитать количество символов в тексте?
<p id="text">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vel minima libero pariatur magnam porro provident aperiam autem...

2
38 / 38 / 10
Регистрация: 04.02.2013
Сообщений: 106
03.12.2013, 04:20
А почему бы не сделать через множества? Ну, в смысле - сохранить биграмы из разных файлов в разные множества (s1, s2, s3, s4), а потом получить новое множество:
Python
1
s0 = s1-s2-s3-s4
Оно ведь, по идее и должно содержать все те биграммы, которые есть в первом мн-ве, но которых нет в остальных.
1
43 / 7 / 0
Регистрация: 27.11.2013
Сообщений: 96
03.12.2013, 09:20  [ТС]
хм, точно. Сейчас попробую

Добавлено через 21 минуту
всё круто, спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.12.2013, 09:20
Помогаю со студенческими работами здесь

Как посчитать количество слов в тексте
Как посчитать количество слов, символов и пробелов в тексте ? вот код... /* * Created by SharpDevelop. * User: Admin *...

Как посчитать количество слов в тексте?
Вот вопрос - есть текст с пробелами, запятыми, многоточиями, дефисами и тире. Как посчитать количество слов в тексте?

Как мне посчитать количество букв в тексте
У меня есть стринг мне надо узнать количество букв а, б, в и тд. Какой функцией можно это зделать? Спосибо! P.S. Есть ли гдето...

Как посчитать количество одинаковых слов в тексте?
Пример того, как должна работать программа ***************************************************************************** Введите текст:...

Как можно посчитать количество определенных слов в тексте?
Каким образом это можно сделать? И, если знаете, посоветуйте книги по python Посчитать количество определенных слов в тексте Входные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru