オヌプンデヌタを䜿甚しお所埗申告を解析する方法

2幎目は、ロシア連邊の州の公開デヌタに携わり、政府機関ず協力しお、デヌタがどのように衚瀺されるかに぀いお興味深い話を始める時が来たした。 ただし、本日は、開発者にずっおより身近な分野、぀たり「宣蚀子」プロゞェクトのデヌタ解析ず、オヌプンデヌタがもたらす予期しない利点に぀いおお話したす。







「宣蚀者」は、公務員の収入ず財産の宣蚀の絶えず曎新されるデヌタベヌスです代理人、圹人、裁刀官、地域および垂圓局の代衚者、他の機関、囜営䌁業および囜有䌁業。 このプロゞェクトは、メディア、公的統制に関䞎する掻動家、および研究者の参照拠点ずしお機胜したす。

ロシアでは、収入デヌタは100䞇人以䞊によっお公開されるべきです。



興味深い事実収入宣蚀の配眮に関するりェブサむトには統䞀されたルヌルがあり特に、それらは垞に「腐敗防止」セクションにありたす、ロシア連邊劎働瀟䌚保護省がすべおの責任を負っおいたす。 宣蚀の倧量配垃は5月に行われたす。 さらに、劎働省は、情報を掲茉する矩務があるすべおのサむトを䟋倖なく監芖するのに1か月しかありたせん。 監芖は手動で行われたす。



宣蚀の発行に関連するいく぀かの問題がありたす。





マテリ゚ル
連邊囜家機関、ロシア連邊および組織の構成団䜓の州圓局、および公開のためにこの情報をロシアのマスメディアに提䟛する特定のカテゎリの個人および家族のメンバヌの収入、費甚、財産および財産矩務に関する情報を連邊政府機関の公匏りェブサむトに掲茉する手順の条項2に埓っお、 2013幎7月8日のロシア連邊倧統領什第613号「腐敗ずの戊いの問題」 、連邊政府機関により承認 圓局、ロシア連邊䞭倮銀行、ロシア連邊幎金基金、ロシア連邊瀟䌚保険基金、連邊匷制医療保険基金、囜営䌁業䌁業、連邊法に基づいお䜜成されたその他の組織は、過去1幎間の収入に関する情報を公開する矩務がありたす。



関心のある人は、劎働省530nの順に詳现を読むこずができたす。 芁するに 、「腐敗防止」セクションは、メむンペヌゞから1クリックで配眮し、ハヌドコヌドされた名前を持぀いく぀かの必須サブセクションを含む必芁がありたす。財産および財産矩務」。 政府職員の損益蚈算曞が配眮されるのは、.doc、.docx、.excel、.rtf芁件の15項の圢匏を含む衚圢匏のアクセス制限なしです。



同時に、ドキュメントで盎接述べられおいるように、「ファむルのテキストを怜玢し、テキストのフラグメントをコピヌできる必芁がありたす」-これにより、パヌサヌの䜜成が可胜になりたす。



宣蚀に぀いお



各公務員の損益蚈算曞には、所有、䜿甚、䞍動産に関する情報、車䞡に関する情報、収入および収入源に関する情報が含たれおいたす。 宣蚀には、圹人だけでなく、その家族のメンバヌも蚘茉されおいたす。 運がよければ、芁玄ファむルは、劎働省が所埗情報の圢匏で提案したテンプレヌトに埓っお䜜成されたす 。これにより、ナニバヌサルパヌサヌの䜜成䜜業が倧幅に簡玠化されたす。







最初の関心の察象は、教育科孊省でした。 306人を察象ずした2014幎の連邊公務員の所埗申告のためのトラむアルパヌサヌは 、迅速か぀かなり苊痛なく曞かれたした。 その埌、私たちは通垞、最も倚くの研究者の芁求を匕き起こすもの、぀たり倧孊の孊長の収入に関する情報に進むこずにしたした。 そしお、 2014幎の文郚科孊省の䞋䜍機関の宣蚀の難しさが始たりたした 。



簡単な分析により、このファむル内のレクタヌのみが272人であり、明らかに䜕らかの方法でグルヌプ化する必芁があるこずが瀺されたした。 圌らは地域ごずにグルヌプ化するこずにしたした。 ただし、宣蚀は機関の䜍眮ず名前のみを瀺しおいたす。







ほが300のナニヌクな高等教育機関は、手䜜業で怜玢するこずを望んでいたせんでした。 これは、 「認可された教育プログラムの䞋で教育掻動に埓事する組織の登録簿」ず呌ばれるロ゜ブルナゟヌルのオヌプンデヌタが圹に立ちたした 曎新名前ずリンクは2016幎5 月24日に修正されたした 。 レゞストリは非垞に有益ですが、かなり耇雑な圢匏であり、別の蚘事に倀したす。 Rosobrnadzorに敬意を衚しお、政府機関では䌝統的なcsvではなくxml圢匏で提瀺され、構造に゚ラヌが含たれおいないため、予備凊理なしでデヌタベヌスずしお䜿甚するこずができたした。  2016幎5 月16日珟圚のリンクは䞀時的に機胜しおいないため、レゞストリはここで匕き続き取埗できたす 。 曎新Rosobrnadzorは2016幎5 月24日にリンクを修埩したした 。



タスクに぀いお



そのため、最初のタスク損益蚈算曞からレクタヌのデヌタを抜出し、レクタヌの地域を決定し、フィラヌプラグむン甚の特別な圢匏の xmlファむルを生成したす。







プラグむンは、サむトでのナヌザヌアクションを暡倣し、フォヌムに自動的に入力したす。 そしお、テストプロセス䞭に刀明したように、圌は䞀床に凊理できるレコヌドの数に制限がありたす...



入力には、1,561人の圹人の収入に関するデヌタを含む.docファむルがありたす。 職員だけでなく家族のデヌタも必芁なので、実際には3347人の情報を凊理する必芁がありたす。



実装



宣蚀パヌサヌの実装の詳现に぀いおはgithubをご芧ください。䞍必芁でしばしば予期しない文字を削陀するのに倚くの前凊理が必芁だずしか蚀えたせん。そのような堎合のために終了しおいたせんこれはMS Wordの1぀のテヌブルセルです。







レゞストリ



䞻なタスク-倧孊名の宣蚀ずRosobrnadzorのレゞストリの照合。 結果ずしお正芏衚珟を遞択する゜リュヌションは、パヌサヌ自䜓を蚘述するよりもはるかに時間がかかりたした。 コヌドははるかに少なかったが。



Rosobrnadzorのレゞストリ内の各ラむセンスの゚ントリは、次のような構造になっおいたす非垞に短瞮された圢匏。



<Certificate> <RegionName>. </RegionName> <RegionCode>77</RegionCode> <EduOrgFullName>        «     »</EduOrgFullName> <EduOrgShortName>  «»</EduOrgShortName> <ActualEducationOrganization> <Id>58302c2c-16f2-0772-3cf1-ebacbde89ecd</Id> <FullName>        «     »</FullName> <ShortName>  «»</ShortName> <RegionName>. </RegionName> <RegionCode>77</RegionCode> </ActualEducationOrganization> <ActualEducationOrganization> 
 </ActualEducationOrganization> </Certificate>
      
      





EduOrgFullName-これは、芪組織のラむセンス自䜓に関する情報です。 ActualEducationOrganizationタグには、芪組織に埓属するすべおの機関に関する情報が含たれおいたす倧孊内の機関、支郚など、倚くの機関が存圚する堎合がありたす。 したがっお、゜リュヌションはシンプルで明癜に芋えたした。FullNameたたはShortNameレゞストリタグの宣蚀から䞀臎する名前を芋぀け、それらに察応するリヌゞョンを芋぀けたす。



レゞストリの機胜 "クリスマスツリヌ"のみが匕甚笊ずしお䜿甚され、FullNameタグ内の機関の皮類の名前 "連邊州..."は完党に小文字で曞き蟌たれたす。



前凊理



しかし、明らかに、宣蚀に倧孊の名前を曞く圢匏は、宣蚀を提出した人の想像力によっおのみ制限されおいたした。 その結果、 連邊州予算高等教育機関「モスクワ州立工科倧孊から名付けられたK.G. ラズモフスキヌPKU」および連邊高等専門教育の自治教育機関「囜立原子力倧孊MEPhI」連邊州自治教育機関の前「高等専門教育機関BFU IM.I. KANTA」 および宣蚀の別の堎所では、 むマニュ゚ルカントにちなんで名付けられたFSAEI HPE「バルト連邊倧孊」  長い間、私はパヌサヌで私の倧孊を芋぀けるこずができたせんでした。 FSBEI HPE "MGUDT"にずっお驚くこずではありたせん...



匕甚文の䜜成には非垞に倚様性が芋られたした。 基本的に、宣蚀には通垞のロシアのクリスマスツリヌの代わりに盎接の「英語」匕甚笊が含たれ、解析の最もキラヌなオプションは「サンクトペテルブルク州電気工科倧孊」LETIでした V.I. りリダノバレニヌナ " ハヌバヌのパヌサヌはそれをマスタヌしなかったようです。゚キゟチックな" ""は2回出䌚っおノォルゎグラヌド、モスクワ、ロストフでFSBEI HPE <<ロストフ州経枈倧孊RINH>> のちなみに、宣蚀に10回出珟しおいたす。



そのため、xmlのXPathは非垞に高速に怜玢され、郚分的な䞀臎を芋぀けるこずができたすが、悲しいかな-文字の倧文字小文字に完党に䞀臎しおいたす。 怜玢機胜を無効にするず、問題は解消され、同時に速床も䜎䞋したす。



最初のステップは、繰り返しの郚分-機関のタむプ-を削陀し、実際の名前のみを残すこずでした。 そしお、ここでの発芋が埅っおいたした高等教育機関のFSBEIおよびFSBEI、FSBEIに加えお、「むンクルヌシブ高等教育」、぀たりVOのFSBEIの機関があるように芋えたしたか 「連邊政府の高等教育予算機関」に眮き換えられたした-違いを芋぀けるこずができたすか



その結果、正芏衚珟で次のような構造が埗られたした。



 orgname = Regex.Replace(orgname, @"(.*)((|)\s)((|)?)?", ""); orgname = Regex.Replace(orgname, @"([-]*\s|[-]*\s)?([-]*\s|[-]*\s)?(.*)?([-]*\s|[-]*\s)([-]*\s|[-]*\s)?([-]*\s|[-]*\s|[-]*\s|[-]*\s)([-]*\s|[-]*\s)?([-]*|[-]*)", ""); orgname = Regex.Replace(orgname, @"([-]*\s|[-]*\s)?([-]*\s|[-]*\s)?(.*)?([-]*\s|[-]*\s)", "");
      
      





さらに、ここでのチヌムの順序は非垞に重芁です。 さお、匕甚笊ずの戊い



 if (orgname.Contains("<<")) orgname = Regex.Replace(orgname, @"(.*<<)(.+)(>>.*)", "$2"); if (orgname.Contains('«')) orgname = Regex.Replace(orgname, @"(.*«)(.+)(».*)", "$2"); if (orgname.Contains('“')) orgname = Regex.Replace(orgname, @"(.*“)(.+)(”.*)", "$2");
      
      





倧きな問題は、誰かにちなんで名付けられた倧孊にあるこずが刀明したした。





スペルが予枬できないため、「名前」を党䜓ずしお削陀する方が簡単でした。



 orgname = Regex.Replace(orgname, "(.*)", ""); orgname = Regex.Replace(orgname, @"(\..*)", "");
      
      





幞いなこずに、倧孊の名前はその独自性を倱わなかった。



そしお、いただに「頑固」なケヌスはありたせんでした。 これらは倧孊であり、その名前は略語で構成されおいたしたLETI、NINH、STANKIN、そしお再び、私の愛するMGUDT。 解決策



 Match tempmatch = Regex.Match(orgname, @"[-]{2,}"); tempname = orgname.Substring(tempmatch.Index, tempmatch.Length);
      
      





奇劙なこずに、その埌も数十の倧孊が身元䞍明になりたした。 分析の結果、それらのいく぀かは、䞻に文字の欠萜たたは再配眮のためにタむプミスで曞かれおいたこずが瀺されたした。 タむプミス「Moskvosky」がリヌダヌになりたした。 カプセルから刀断するず、クズバスは圌らの倧孊が非垞に奜きですが、リテラシヌは私たちを倱望させたした 「高等専門教育の連邊州予算教育機関はT.F.埌に呜名されたクズバス州技術倧孊です。 ゎルバチェバ 。 」



倚くの問題はスペヌスにありたした





しかし、䜕らかの理由で、正䜓䞍明の倧孊の数が急ぐこずはありたせんでした。 そしお、それは完党に予想倖の問題であり、最終的には怜玢アルゎリズムの倉曎に぀ながりたした。 教育掻動のラむセンスは教育機関の1぀の名前に察しお登録でき、倧孊の正匏名はわずかに異なっおいたこずが刀明したした。 たずえば、「アカデミヌ-倧孊」、「研究所-倧孊」のペアがありたした。



レゞストリでは、次のようになりたした。



 <EduOrgFullName>        «  - »</EduOrgFullName> <EduOrgShortName>  «»</EduOrgShortName>)
      
      





そしお

 <FullName>       «  - »</FullName> <ShortName>  «  - »,   «», </ShortName>
      
      





さらに、宣蚀はそれらのいずれかを瀺すこずができたす。 いく぀かの倧孊は、ただ知られおいない理由で、FullNameおよびShortNameタグをたったく持っおいたせんでした。



それずは別に、クリミアに぀いお 「連邊州自治高等教育機関」クリミア連邊倧孊は、V.I。 Vernadsky」には、登録簿の地域ぞの参照がありたせんでした。



珟圚、解析アルゎリズムの最終バヌゞョンでは、これらの結果が生成されたす 。



フィラヌの完成したファむルの䟋モスクワ倧孊。



いく぀かの統蚈



教育科孊省の合蚈宣蚀で、組織の1561人の埓業員ずその3347人の家族が、770ペヌゞのファむルで、予想倖に32のテヌブルになっおいたす。



272人の孊者、぀たり 272以䞊のナニヌクな倧孊があり、そのうち8぀の倧孊には誀りや誀字がありたす。



4぀の倧孊は、ロ゜ブルナゟヌルの登録簿にたったく衚瀺されたせん。 これは





結論ずしお、もう䞀床プロゞェクトぞのリンク 。 パヌサヌは、同じテンプレヌトに埓っお䜜成された他の政府機関の宣蚀にも取り組みたす。



䟿利なリンク



NPA

2013幎7月8日のロシア連邊倧統領什第613号「汚職ず闘う問題」 、アヌト。 6劎働瀟䌚保護省の責任に぀いお。



2013幎7月8日のロシア連邊倧統領什第613号「腐敗防止の問題」 、特定のカテゎリの個人および家族の収入、費甚、財産および財産責任に関する情報を連邊政府機関の公匏りェブサむト、䞻題の州圓局に掲茉する手順ロシア連邊ず組織、およびロシアのマスメディアぞのこの情報の提䟛に぀いおは、劎働瀟䌚保護省の矩務に関する第4項「情報 財産、財産、財産、負債に関する収入、費甚に関する声明は、提出期限の満了日から14営業日以内に毎幎曎新されたす。



2013幎7月8日のロシア連邊倧統領什第613号「腐敗防止問題」 、第8条。収入、財産、財産矩務に関する情報を提出する矩務。



腐敗防止法に関するすべおの法的行為。



NPA劎働省



プログラミング



正芏衚珟チェッカヌ

Cの正芏衚珟ヘルプ

Cの正芏衚珟文字クラス、および倧文字ず小文字を区別しないxml怜玢の簡単な実装を持぀プロゞェクト link



All Articles