Поиск частых словосочетаний в книге с помощью NLTK

470 views
Skip to first unread message

Kairat Rakhim

unread,
Apr 3, 2012, 3:39:24 PM4/3/12
to nltk-r...@googlegroups.com
Я подумал, что терминологические и устойчивые обороты можно отобрать программно, и на скорую руку написал нечто по примерам из "Python Text Processing with NLTK 2.0 Cookbook" (конец первой главы, "Discovering word collocations"). Находить-то находит, но по-хорошему надо бы отбирать только те n-граммы, которые не встречаются в общелексическом корпусе.
Вот "Top 20" биграмм и триграмм:

[BigramAssocMeasures.likelihood_ratio]
natural language
regular expressions
language processing
naive bayes
regular expression
order logic
feature structures
frequency distribution
maximum entropy
conditional frequency
test set
named entity
feature extractor
brown corpus
lexical resources
computational linguistics
frequency distributions
recursive descent
writing structured
monty python

[BigramAssocMeasures.raw_freq]
natural language
language processing
regular expressions
order logic
regular expression
feature structures
test set
brown corpus
frequency distribution
text corpora
linguistic data
naive bayes
monty python
corpus import
conditional frequency
lexical resources
raw text
training set
accessing text
feature extractor

[BigramAssocMeasures.likelihood_ratio]
jamaica observer reported
ponds distributing swords
usain bolt broke
saving private ryan
kluwer academic publishers
fine fat trout
bevor der folgende
der folgende flug
directed acyclic graphs
strange women lying
larger cetacean mammals
presidential inaugural addresses
buffalo buffalo buffalo
readable phonetic alphabet
lol lol lol
recognizing textual entailment
wall street journal
formed substring tables
procedural versus declarative
iterative optimization techniques

[TrigramAssocMeasures.raw_freq]
natural language processing
accessing text corpora
processing raw text
writing structured programs
conditional frequency distribution
analyzing sentence structure
managing linguistic data
named entity recognition
naive bayes classifier
natural language understanding
phrase structure grammar
cambridge university press
conditional frequency distributions
recent call last
recursive descent parser
maximum entropy classifiers
naive bayes classifiers
regular expression tagger
corpus import brown
inaugural address corpus

nlp-collocations.py

Alisa_IPN

unread,
Apr 3, 2012, 3:46:44 PM4/3/12
to nltk-russian
Ого, здорово ты!!! Думаю, можно кинуть этот список в тему по
вокабуляру терминов.
Если хочешь, можешь отфильтровать программно (по непересечению с общей
лекс., если есть корпус).
Ну или вполне можно "фильтровать" по критерию здравого смысла. Людям
свойственно понимаить, что есть термин.
А частотный порог у тебя для 1,2 и 3 - грамм какой был?
Напиши, пожалуйста!
>  nlp-collocations.py
> 2KПросмотретьЗагрузить

newtover

unread,
Apr 4, 2012, 7:43:44 AM4/4/12
to nltk-russian
Приветствую,

простите, что вмешиваюсь, но хочу заметить, что эту задачу (сохранить
знания об уже сделанных похожих переводах, чтобы этим пользоваться в
дальнейшем) с легкостью решают инструменты "переводческой памяти". Я,
к сожалению, давно уже этим не занимался и не знаю, как там сейчас на
этом рынке (в оффлайне лидерами когда-то были Trados и Transit), но
знаю, что, например, у Гугла есть Google Translator Toolkit, который
включает в себя и онлайн софтину переводческой памяти (в духе Google
Docs) и возможность подключать туда глоссарии.

Kairat Rakhim

unread,
Apr 4, 2012, 2:32:11 PM4/4/12
to nltk-r...@googlegroups.com

Я когда-то пользовался офлайновым опенсорсным OmegaT. Подключал майкрософтовский глоссарий и как словарь, и как память переводов. Кстати:
А со списком вышло не очень. Термины в него попадают те же, что в указателе, плюс мусор. Частотный порог я там не указывал, только scoring function и сколько взять элементов с верха отсортированного списка.
Reply all
Reply to author
Forward
0 new messages